mosty-common/h5player.min.js
2024-07-17 21:04:17 +08:00

26495 lines
1.4 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function (e, t) {
if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else {
var n, i = t();
for (n in i) ("object" == typeof exports ? exports : e)[n] = i[n]
}
}(window, function () {
return n = [function (e, t, hs) {
!function (ds) {
var ls;//! moment.js
//! version : 2.29.4
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
ds.exports = function () {
"use strict";
var I, W;
function h() {
return I.apply(null, arguments)
}
function H(e) {
I = e
}
function s(e) {
return e instanceof Array || Object.prototype.toString.call(e) === "[object Array]"
}
function j(e) {
return e != null && Object.prototype.toString.call(e) === "[object Object]"
}
function u(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
function F(e) {
if (Object.getOwnPropertyNames) return Object.getOwnPropertyNames(e).length === 0; else {
var t;
for (t in e) if (u(e, t)) return false;
return true
}
}
function o(e) {
return e === void 0
}
function d(e) {
return typeof e === "number" || Object.prototype.toString.call(e) === "[object Number]"
}
function B(e) {
return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]"
}
function N(e, t) {
var n = [], i, r = e.length;
for (i = 0; i < r; ++i) n.push(t(e[i], i));
return n
}
function z(e, t) {
for (var n in t) if (u(t, n)) e[n] = t[n];
if (u(t, "toString")) e.toString = t.toString;
if (u(t, "valueOf")) e.valueOf = t.valueOf;
return e
}
function l(e, t, n, i) {
return $n(e, t, n, i, true).utc()
}
function U() {
return {
empty: false,
unusedTokens: [],
unusedInput: [],
overflow: -2,
charsLeftOver: 0,
nullInput: false,
invalidEra: null,
invalidMonth: null,
invalidFormat: false,
userInvalidated: false,
iso: false,
parsedDateParts: [],
era: null,
meridiem: null,
rfc2822: false,
weekdayMismatch: false
}
}
function c(e) {
if (e._pf == null) e._pf = U();
return e._pf
}
if (Array.prototype.some) W = Array.prototype.some; else W = function (e) {
var t = Object(this), n = t.length >>> 0, i;
for (i = 0; i < n; i++) if (i in t && e.call(this, t[i], i, t)) return true;
return false
};
function V(e) {
if (e._isValid == null) {
var t = c(e), n = W.call(t.parsedDateParts, function (e) {
return e != null
}),
i = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || t.meridiem && n);
if (e._strict) i = i && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === undefined;
if (Object.isFrozen == null || !Object.isFrozen(e)) e._isValid = i; else return i
}
return e._isValid
}
function G(e) {
var t = l(NaN);
if (e != null) z(c(t), e); else c(t).userInvalidated = true;
return t
}
var J = h.momentProperties = [], q = false;
function K(e, t) {
var n, i, r, a = J.length;
if (!o(t._isAMomentObject)) e._isAMomentObject = t._isAMomentObject;
if (!o(t._i)) e._i = t._i;
if (!o(t._f)) e._f = t._f;
if (!o(t._l)) e._l = t._l;
if (!o(t._strict)) e._strict = t._strict;
if (!o(t._tzm)) e._tzm = t._tzm;
if (!o(t._isUTC)) e._isUTC = t._isUTC;
if (!o(t._offset)) e._offset = t._offset;
if (!o(t._pf)) e._pf = c(t);
if (!o(t._locale)) e._locale = t._locale;
if (a > 0) for (n = 0; n < a; n++) {
i = J[n];
r = t[i];
if (!o(r)) e[i] = r
}
return e
}
function X(e) {
K(this, e);
this._d = new Date(e._d != null ? e._d.getTime() : NaN);
if (!this.isValid()) this._d = new Date(NaN);
if (q === false) {
q = true;
h.updateOffset(this);
q = false
}
}
function _(e) {
return e instanceof X || e != null && e._isAMomentObject != null
}
function Z(e) {
if (h.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) console.warn("Deprecation warning: " + e)
}
function e(a, s) {
var o = true;
return z(function () {
if (h.deprecationHandler != null) h.deprecationHandler(null, a);
if (o) {
var e = [], t, n, i, r = arguments.length;
for (n = 0; n < r; n++) {
t = "";
if (typeof arguments[n] === "object") {
t += "\n[" + n + "] ";
for (i in arguments[0]) if (u(arguments[0], i)) t += i + ": " + arguments[0][i] + ", ";
t = t.slice(0, -2)
} else t = arguments[n];
e.push(t)
}
Z(a + "\nArguments: " + Array.prototype.slice.call(e).join("") + "\n" + (new Error).stack);
o = false
}
return s.apply(this, arguments)
}, s)
}
var $ = {}, Q;
function ee(e, t) {
if (h.deprecationHandler != null) h.deprecationHandler(e, t);
if (!$[e]) {
Z(t);
$[e] = true
}
}
function f(e) {
return typeof Function !== "undefined" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]"
}
function te(e) {
var t, n;
for (n in e) if (u(e, n)) {
t = e[n];
if (f(t)) this[n] = t; else this["_" + n] = t
}
this._config = e;
this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source)
}
function ne(e, t) {
var n = z({}, e), i;
for (i in t) if (u(t, i)) if (j(e[i]) && j(t[i])) {
n[i] = {};
z(n[i], e[i]);
z(n[i], t[i])
} else if (t[i] != null) n[i] = t[i]; else delete n[i];
for (i in e) if (u(e, i) && !u(t, i) && j(e[i])) n[i] = z({}, n[i]);
return n
}
function ie(e) {
if (e != null) this.set(e)
}
if (h.suppressDeprecationWarnings = false, h.deprecationHandler = null, Object.keys) Q = Object.keys; else Q = function (e) {
var t, n = [];
for (t in e) if (u(e, t)) n.push(t);
return n
};
var re = {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
};
function ae(e, t, n) {
var i = this._calendar[e] || this._calendar["sameElse"];
return f(i) ? i.call(t, n) : i
}
function a(e, t, n) {
var i = "" + Math.abs(e), r = t - i.length, a = e >= 0;
return (a ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, r)).toString().substr(1) + i
}
var se = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
oe = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, ue = {}, de = {};
function i(e, t, n, i) {
var r = i;
if (typeof i === "string") r = function () {
return this[i]()
};
if (e) de[e] = r;
if (t) de[t[0]] = function () {
return a(r.apply(this, arguments), t[1], t[2])
};
if (n) de[n] = function () {
return this.localeData().ordinal(r.apply(this, arguments), e)
}
}
function le(e) {
if (e.match(/\[[\s\S]/)) return e.replace(/^\[|\]$/g, "");
return e.replace(/\\/g, "")
}
function he(i) {
var r = i.match(se), e, a;
for (e = 0, a = r.length; e < a; e++) if (de[r[e]]) r[e] = de[r[e]]; else r[e] = le(r[e]);
return function (e) {
var t = "", n;
for (n = 0; n < a; n++) t += f(r[n]) ? r[n].call(e, i) : r[n];
return t
}
}
function ce(e, t) {
if (!e.isValid()) return e.localeData().invalidDate();
t = _e(t, e.localeData());
ue[t] = ue[t] || he(t);
return ue[t](e)
}
function _e(e, t) {
var n = 5;
function i(e) {
return t.longDateFormat(e) || e
}
oe.lastIndex = 0;
while (n >= 0 && oe.test(e)) {
e = e.replace(oe, i);
oe.lastIndex = 0;
n -= 1
}
return e
}
var fe = {
LTS: "h:mm:ss A",
LT: "h:mm A",
L: "MM/DD/YYYY",
LL: "MMMM D, YYYY",
LLL: "MMMM D, YYYY h:mm A",
LLLL: "dddd, MMMM D, YYYY h:mm A"
};
function me(e) {
var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()];
if (t || !n) return t;
this._longDateFormat[e] = n.match(se).map(function (e) {
if (e === "MMMM" || e === "MM" || e === "DD" || e === "dddd") return e.slice(1);
return e
}).join("");
return this._longDateFormat[e]
}
var pe = "Invalid date";
function ye() {
return this._invalidDate
}
var ve = "%d", ge = /\d{1,2}/;
function Me(e) {
return this._ordinal.replace("%d", e)
}
var Le = {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
w: "a week",
ww: "%d weeks",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
};
function Se(e, t, n, i) {
var r = this._relativeTime[n];
return f(r) ? r(e, t, n, i) : r.replace(/%d/i, e)
}
function ke(e, t) {
var n = this._relativeTime[e > 0 ? "future" : "past"];
return f(n) ? n(t) : n.replace(/%s/i, t)
}
var be = {};
function t(e, t) {
var n = e.toLowerCase();
be[n] = be[n + "s"] = be[t] = e
}
function m(e) {
return typeof e === "string" ? be[e] || be[e.toLowerCase()] : undefined
}
function we(e) {
var t = {}, n, i;
for (i in e) if (u(e, i)) {
n = m(i);
if (n) t[n] = e[i]
}
return t
}
var De = {};
function n(e, t) {
De[e] = t
}
function Te(e) {
var t = [], n;
for (n in e) if (u(e, n)) t.push({unit: n, priority: De[n]});
t.sort(function (e, t) {
return e.priority - t.priority
});
return t
}
function Ee(e) {
return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0
}
function p(e) {
if (e < 0) return Math.ceil(e) || 0; else return Math.floor(e)
}
function y(e) {
var t = +e, n = 0;
if (t !== 0 && isFinite(t)) n = p(t);
return n
}
function Ye(t, n) {
return function (e) {
if (e != null) {
Ce(this, t, e);
h.updateOffset(this, n);
return this
} else return Pe(this, t)
}
}
function Pe(e, t) {
return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN
}
function Ce(e, t, n) {
if (e.isValid() && !isNaN(n)) if (t === "FullYear" && Ee(e.year()) && e.month() === 1 && e.date() === 29) {
n = y(n);
e._d["set" + (e._isUTC ? "UTC" : "") + t](n, e.month(), at(n, e.month()))
} else e._d["set" + (e._isUTC ? "UTC" : "") + t](n)
}
function Re(e) {
e = m(e);
if (f(this[e])) return this[e]();
return this
}
function Ae(e, t) {
if (typeof e === "object") {
e = we(e);
var n = Te(e), i, r = n.length;
for (i = 0; i < r; i++) this[n[i].unit](e[n[i].unit])
} else {
e = m(e);
if (f(this[e])) return this[e](t)
}
return this
}
var xe = /\d/, r = /\d\d/, Oe = /\d{3}/, Ie = /\d{4}/, We = /[+-]?\d{6}/, v = /\d\d?/, He = /\d\d\d\d?/,
je = /\d\d\d\d\d\d?/, Fe = /\d{1,3}/, Be = /\d{1,4}/, Ne = /[+-]?\d{1,6}/, ze = /\d+/,
Ue = /[+-]?\d+/, Ve = /Z|[+-]\d\d:?\d\d/gi, Ge = /Z|[+-]\d\d(?::?\d\d)?/gi,
Je = /[+-]?\d+(\.\d{1,3})?/,
qe = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
Ke;
function g(e, n, i) {
Ke[e] = f(n) ? n : function (e, t) {
return e && i ? i : n
}
}
function Xe(e, t) {
if (!u(Ke, e)) return new RegExp(Ze(e));
return Ke[e](t._strict, t._locale)
}
function Ze(e) {
return M(e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (e, t, n, i, r) {
return t || n || i || r
}))
}
function M(e) {
return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&")
}
var Ke = {}, $e = {};
function L(e, n) {
var t, i = n, r;
if (typeof e === "string") e = [e];
if (d(n)) i = function (e, t) {
t[n] = y(e)
};
r = e.length;
for (t = 0; t < r; t++) $e[e[t]] = i
}
function Qe(e, r) {
L(e, function (e, t, n, i) {
n._w = n._w || {};
r(e, n._w, n, i)
})
}
function et(e, t, n) {
if (t != null && u($e, e)) $e[e](t, n._a, n, e)
}
var S = 0, k = 1, b = 2, w = 3, D = 4, T = 5, tt = 6, nt = 7, it = 8, E;
function rt(e, t) {
return (e % t + t) % t
}
if (Array.prototype.indexOf) E = Array.prototype.indexOf; else E = function (e) {
var t;
for (t = 0; t < this.length; ++t) if (this[t] === e) return t;
return -1
};
function at(e, t) {
if (isNaN(e) || isNaN(t)) return NaN;
var n = rt(t, 12);
e += (t - n) / 12;
return n === 1 ? Ee(e) ? 29 : 28 : 31 - n % 7 % 2
}
i("M", ["MM", 2], "Mo", function () {
return this.month() + 1
}), i("MMM", 0, 0, function (e) {
return this.localeData().monthsShort(this, e)
}), i("MMMM", 0, 0, function (e) {
return this.localeData().months(this, e)
}), t("month", "M"), n("month", 8), g("M", v), g("MM", v, r), g("MMM", function (e, t) {
return t.monthsShortRegex(e)
}), g("MMMM", function (e, t) {
return t.monthsRegex(e)
}), L(["M", "MM"], function (e, t) {
t[k] = y(e) - 1
}), L(["MMM", "MMMM"], function (e, t, n, i) {
var r = n._locale.monthsParse(e, i, n._strict);
if (r != null) t[k] = r; else c(n).invalidMonth = e
});
var st = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
ot = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
ut = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, dt = qe, lt = qe;
function ht(e, t) {
if (!e) return s(this._months) ? this._months : this._months["standalone"];
return s(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || ut).test(t) ? "format" : "standalone"][e.month()]
}
function ct(e, t) {
if (!e) return s(this._monthsShort) ? this._monthsShort : this._monthsShort["standalone"];
return s(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[ut.test(t) ? "format" : "standalone"][e.month()]
}
function _t(e, t, n) {
var i, r, a, s = e.toLocaleLowerCase();
if (!this._monthsParse) {
this._monthsParse = [];
this._longMonthsParse = [];
this._shortMonthsParse = [];
for (i = 0; i < 12; ++i) {
a = l([2e3, i]);
this._shortMonthsParse[i] = this.monthsShort(a, "").toLocaleLowerCase();
this._longMonthsParse[i] = this.months(a, "").toLocaleLowerCase()
}
}
if (n) if (t === "MMM") {
r = E.call(this._shortMonthsParse, s);
return r !== -1 ? r : null
} else {
r = E.call(this._longMonthsParse, s);
return r !== -1 ? r : null
} else if (t === "MMM") {
r = E.call(this._shortMonthsParse, s);
if (r !== -1) return r;
r = E.call(this._longMonthsParse, s);
return r !== -1 ? r : null
} else {
r = E.call(this._longMonthsParse, s);
if (r !== -1) return r;
r = E.call(this._shortMonthsParse, s);
return r !== -1 ? r : null
}
}
function ft(e, t, n) {
var i, r, a;
if (this._monthsParseExact) return _t.call(this, e, t, n);
if (!this._monthsParse) {
this._monthsParse = [];
this._longMonthsParse = [];
this._shortMonthsParse = []
}
for (i = 0; i < 12; i++) {
r = l([2e3, i]);
if (n && !this._longMonthsParse[i]) {
this._longMonthsParse[i] = new RegExp("^" + this.months(r, "").replace(".", "") + "$", "i");
this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(r, "").replace(".", "") + "$", "i")
}
if (!n && !this._monthsParse[i]) {
a = "^" + this.months(r, "") + "|^" + this.monthsShort(r, "");
this._monthsParse[i] = new RegExp(a.replace(".", ""), "i")
}
if (n && t === "MMMM" && this._longMonthsParse[i].test(e)) return i; else if (n && t === "MMM" && this._shortMonthsParse[i].test(e)) return i; else if (!n && this._monthsParse[i].test(e)) return i
}
}
function mt(e, t) {
var n;
if (!e.isValid()) return e;
if (typeof t === "string") if (/^\d+$/.test(t)) t = y(t); else {
t = e.localeData().monthsParse(t);
if (!d(t)) return e
}
n = Math.min(e.date(), at(e.year(), t));
e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n);
return e
}
function pt(e) {
if (e != null) {
mt(this, e);
h.updateOffset(this, true);
return this
} else return Pe(this, "Month")
}
function yt() {
return at(this.year(), this.month())
}
function vt(e) {
if (this._monthsParseExact) {
if (!u(this, "_monthsRegex")) Mt.call(this);
if (e) return this._monthsShortStrictRegex; else return this._monthsShortRegex
} else {
if (!u(this, "_monthsShortRegex")) this._monthsShortRegex = dt;
return this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex
}
}
function gt(e) {
if (this._monthsParseExact) {
if (!u(this, "_monthsRegex")) Mt.call(this);
if (e) return this._monthsStrictRegex; else return this._monthsRegex
} else {
if (!u(this, "_monthsRegex")) this._monthsRegex = lt;
return this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex
}
}
function Mt() {
function e(e, t) {
return t.length - e.length
}
var t = [], n = [], i = [], r, a;
for (r = 0; r < 12; r++) {
a = l([2e3, r]);
t.push(this.monthsShort(a, ""));
n.push(this.months(a, ""));
i.push(this.months(a, ""));
i.push(this.monthsShort(a, ""))
}
t.sort(e);
n.sort(e);
i.sort(e);
for (r = 0; r < 12; r++) {
t[r] = M(t[r]);
n[r] = M(n[r])
}
for (r = 0; r < 24; r++) i[r] = M(i[r]);
this._monthsRegex = new RegExp("^(" + i.join("|") + ")", "i");
this._monthsShortRegex = this._monthsRegex;
this._monthsStrictRegex = new RegExp("^(" + n.join("|") + ")", "i");
this._monthsShortStrictRegex = new RegExp("^(" + t.join("|") + ")", "i")
}
function Lt(e) {
return Ee(e) ? 366 : 365
}
i("Y", 0, 0, function () {
var e = this.year();
return e <= 9999 ? a(e, 4) : "+" + e
}), i(0, ["YY", 2], 0, function () {
return this.year() % 100
}), i(0, ["YYYY", 4], 0, "year"), i(0, ["YYYYY", 5], 0, "year"), i(0, ["YYYYYY", 6, true], 0, "year"), t("year", "y"), n("year", 1), g("Y", Ue), g("YY", v, r), g("YYYY", Be, Ie), g("YYYYY", Ne, We), g("YYYYYY", Ne, We), L(["YYYYY", "YYYYYY"], S), L("YYYY", function (e, t) {
t[S] = e.length === 2 ? h.parseTwoDigitYear(e) : y(e)
}), L("YY", function (e, t) {
t[S] = h.parseTwoDigitYear(e)
}), L("Y", function (e, t) {
t[S] = parseInt(e, 10)
}), h.parseTwoDigitYear = function (e) {
return y(e) + (y(e) > 68 ? 1900 : 2e3)
};
var St = Ye("FullYear", true);
function kt() {
return Ee(this.year())
}
function bt(e, t, n, i, r, a, s) {
var o;
if (e < 100 && e >= 0) {
o = new Date(e + 400, t, n, i, r, a, s);
if (isFinite(o.getFullYear())) o.setFullYear(e)
} else o = new Date(e, t, n, i, r, a, s);
return o
}
function wt(e) {
var t, n;
if (e < 100 && e >= 0) {
n = Array.prototype.slice.call(arguments);
n[0] = e + 400;
t = new Date(Date.UTC.apply(null, n));
if (isFinite(t.getUTCFullYear())) t.setUTCFullYear(e)
} else t = new Date(Date.UTC.apply(null, arguments));
return t
}
function Dt(e, t, n) {
var i = 7 + t - n, r = (7 + wt(e, 0, i).getUTCDay() - t) % 7;
return -r + i - 1
}
function Tt(e, t, n, i, r) {
var a = (7 + n - i) % 7, s = Dt(e, i, r), o = 1 + 7 * (t - 1) + a + s, u, d;
if (o <= 0) {
u = e - 1;
d = Lt(u) + o
} else if (o > Lt(e)) {
u = e + 1;
d = o - Lt(e)
} else {
u = e;
d = o
}
return {year: u, dayOfYear: d}
}
function Et(e, t, n) {
var i = Dt(e.year(), t, n), r = Math.floor((e.dayOfYear() - i - 1) / 7) + 1, a, s;
if (r < 1) {
s = e.year() - 1;
a = r + Y(s, t, n)
} else if (r > Y(e.year(), t, n)) {
a = r - Y(e.year(), t, n);
s = e.year() + 1
} else {
s = e.year();
a = r
}
return {week: a, year: s}
}
function Y(e, t, n) {
var i = Dt(e, t, n), r = Dt(e + 1, t, n);
return (Lt(e) - i + r) / 7
}
function Yt(e) {
return Et(e, this._week.dow, this._week.doy).week
}
i("w", ["ww", 2], "wo", "week"), i("W", ["WW", 2], "Wo", "isoWeek"), t("week", "w"), t("isoWeek", "W"), n("week", 5), n("isoWeek", 5), g("w", v), g("ww", v, r), g("W", v), g("WW", v, r), Qe(["w", "ww", "W", "WW"], function (e, t, n, i) {
t[i.substr(0, 1)] = y(e)
});
var Pt = {dow: 0, doy: 6};
function Ct() {
return this._week.dow
}
function Rt() {
return this._week.doy
}
function At(e) {
var t = this.localeData().week(this);
return e == null ? t : this.add((e - t) * 7, "d")
}
function xt(e) {
var t = Et(this, 1, 4).week;
return e == null ? t : this.add((e - t) * 7, "d")
}
function Ot(e, t) {
if (typeof e !== "string") return e;
if (!isNaN(e)) return parseInt(e, 10);
e = t.weekdaysParse(e);
if (typeof e === "number") return e;
return null
}
function It(e, t) {
if (typeof e === "string") return t.weekdaysParse(e) % 7 || 7;
return isNaN(e) ? null : e
}
function Wt(e, t) {
return e.slice(t, 7).concat(e.slice(0, t))
}
i("d", 0, "do", "day"), i("dd", 0, 0, function (e) {
return this.localeData().weekdaysMin(this, e)
}), i("ddd", 0, 0, function (e) {
return this.localeData().weekdaysShort(this, e)
}), i("dddd", 0, 0, function (e) {
return this.localeData().weekdays(this, e)
}), i("e", 0, 0, "weekday"), i("E", 0, 0, "isoWeekday"), t("day", "d"), t("weekday", "e"), t("isoWeekday", "E"), n("day", 11), n("weekday", 11), n("isoWeekday", 11), g("d", v), g("e", v), g("E", v), g("dd", function (e, t) {
return t.weekdaysMinRegex(e)
}), g("ddd", function (e, t) {
return t.weekdaysShortRegex(e)
}), g("dddd", function (e, t) {
return t.weekdaysRegex(e)
}), Qe(["dd", "ddd", "dddd"], function (e, t, n, i) {
var r = n._locale.weekdaysParse(e, i, n._strict);
if (r != null) t.d = r; else c(n).invalidWeekday = e
}), Qe(["d", "e", "E"], function (e, t, n, i) {
t[i] = y(e)
});
var Ht = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
jt = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Ft = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), Bt = qe,
Nt = qe, zt = qe;
function Ut(e, t) {
var n = s(this._weekdays) ? this._weekdays : this._weekdays[e && e !== true && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
return e === true ? Wt(n, this._week.dow) : e ? n[e.day()] : n
}
function Vt(e) {
return e === true ? Wt(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort
}
function Gt(e) {
return e === true ? Wt(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin
}
function Jt(e, t, n) {
var i, r, a, s = e.toLocaleLowerCase();
if (!this._weekdaysParse) {
this._weekdaysParse = [];
this._shortWeekdaysParse = [];
this._minWeekdaysParse = [];
for (i = 0; i < 7; ++i) {
a = l([2e3, 1]).day(i);
this._minWeekdaysParse[i] = this.weekdaysMin(a, "").toLocaleLowerCase();
this._shortWeekdaysParse[i] = this.weekdaysShort(a, "").toLocaleLowerCase();
this._weekdaysParse[i] = this.weekdays(a, "").toLocaleLowerCase()
}
}
if (n) if (t === "dddd") {
r = E.call(this._weekdaysParse, s);
return r !== -1 ? r : null
} else if (t === "ddd") {
r = E.call(this._shortWeekdaysParse, s);
return r !== -1 ? r : null
} else {
r = E.call(this._minWeekdaysParse, s);
return r !== -1 ? r : null
} else if (t === "dddd") {
r = E.call(this._weekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._shortWeekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._minWeekdaysParse, s);
return r !== -1 ? r : null
} else if (t === "ddd") {
r = E.call(this._shortWeekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._weekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._minWeekdaysParse, s);
return r !== -1 ? r : null
} else {
r = E.call(this._minWeekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._weekdaysParse, s);
if (r !== -1) return r;
r = E.call(this._shortWeekdaysParse, s);
return r !== -1 ? r : null
}
}
function qt(e, t, n) {
var i, r, a;
if (this._weekdaysParseExact) return Jt.call(this, e, t, n);
if (!this._weekdaysParse) {
this._weekdaysParse = [];
this._minWeekdaysParse = [];
this._shortWeekdaysParse = [];
this._fullWeekdaysParse = []
}
for (i = 0; i < 7; i++) {
r = l([2e3, 1]).day(i);
if (n && !this._fullWeekdaysParse[i]) {
this._fullWeekdaysParse[i] = new RegExp("^" + this.weekdays(r, "").replace(".", "\\.?") + "$", "i");
this._shortWeekdaysParse[i] = new RegExp("^" + this.weekdaysShort(r, "").replace(".", "\\.?") + "$", "i");
this._minWeekdaysParse[i] = new RegExp("^" + this.weekdaysMin(r, "").replace(".", "\\.?") + "$", "i")
}
if (!this._weekdaysParse[i]) {
a = "^" + this.weekdays(r, "") + "|^" + this.weekdaysShort(r, "") + "|^" + this.weekdaysMin(r, "");
this._weekdaysParse[i] = new RegExp(a.replace(".", ""), "i")
}
if (n && t === "dddd" && this._fullWeekdaysParse[i].test(e)) return i; else if (n && t === "ddd" && this._shortWeekdaysParse[i].test(e)) return i; else if (n && t === "dd" && this._minWeekdaysParse[i].test(e)) return i; else if (!n && this._weekdaysParse[i].test(e)) return i
}
}
function Kt(e) {
if (!this.isValid()) return e != null ? this : NaN;
var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
if (e != null) {
e = Ot(e, this.localeData());
return this.add(e - t, "d")
} else return t
}
function Xt(e) {
if (!this.isValid()) return e != null ? this : NaN;
var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
return e == null ? t : this.add(e - t, "d")
}
function Zt(e) {
if (!this.isValid()) return e != null ? this : NaN;
if (e != null) {
var t = It(e, this.localeData());
return this.day(this.day() % 7 ? t : t - 7)
} else return this.day() || 7
}
function $t(e) {
if (this._weekdaysParseExact) {
if (!u(this, "_weekdaysRegex")) tn.call(this);
if (e) return this._weekdaysStrictRegex; else return this._weekdaysRegex
} else {
if (!u(this, "_weekdaysRegex")) this._weekdaysRegex = Bt;
return this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex
}
}
function Qt(e) {
if (this._weekdaysParseExact) {
if (!u(this, "_weekdaysRegex")) tn.call(this);
if (e) return this._weekdaysShortStrictRegex; else return this._weekdaysShortRegex
} else {
if (!u(this, "_weekdaysShortRegex")) this._weekdaysShortRegex = Nt;
return this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex
}
}
function en(e) {
if (this._weekdaysParseExact) {
if (!u(this, "_weekdaysRegex")) tn.call(this);
if (e) return this._weekdaysMinStrictRegex; else return this._weekdaysMinRegex
} else {
if (!u(this, "_weekdaysMinRegex")) this._weekdaysMinRegex = zt;
return this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex
}
}
function tn() {
function e(e, t) {
return t.length - e.length
}
var t = [], n = [], i = [], r = [], a, s, o, u, d;
for (a = 0; a < 7; a++) {
s = l([2e3, 1]).day(a);
o = M(this.weekdaysMin(s, ""));
u = M(this.weekdaysShort(s, ""));
d = M(this.weekdays(s, ""));
t.push(o);
n.push(u);
i.push(d);
r.push(o);
r.push(u);
r.push(d)
}
t.sort(e);
n.sort(e);
i.sort(e);
r.sort(e);
this._weekdaysRegex = new RegExp("^(" + r.join("|") + ")", "i");
this._weekdaysShortRegex = this._weekdaysRegex;
this._weekdaysMinRegex = this._weekdaysRegex;
this._weekdaysStrictRegex = new RegExp("^(" + i.join("|") + ")", "i");
this._weekdaysShortStrictRegex = new RegExp("^(" + n.join("|") + ")", "i");
this._weekdaysMinStrictRegex = new RegExp("^(" + t.join("|") + ")", "i")
}
function nn() {
return this.hours() % 12 || 12
}
function rn() {
return this.hours() || 24
}
function an(e, t) {
i(e, 0, 0, function () {
return this.localeData().meridiem(this.hours(), this.minutes(), t)
})
}
function sn(e, t) {
return t._meridiemParse
}
function on(e) {
return (e + "").toLowerCase().charAt(0) === "p"
}
i("H", ["HH", 2], 0, "hour"), i("h", ["hh", 2], 0, nn), i("k", ["kk", 2], 0, rn), i("hmm", 0, 0, function () {
return "" + nn.apply(this) + a(this.minutes(), 2)
}), i("hmmss", 0, 0, function () {
return "" + nn.apply(this) + a(this.minutes(), 2) + a(this.seconds(), 2)
}), i("Hmm", 0, 0, function () {
return "" + this.hours() + a(this.minutes(), 2)
}), i("Hmmss", 0, 0, function () {
return "" + this.hours() + a(this.minutes(), 2) + a(this.seconds(), 2)
}), an("a", true), an("A", false), t("hour", "h"), n("hour", 13), g("a", sn), g("A", sn), g("H", v), g("h", v), g("k", v), g("HH", v, r), g("hh", v, r), g("kk", v, r), g("hmm", He), g("hmmss", je), g("Hmm", He), g("Hmmss", je), L(["H", "HH"], w), L(["k", "kk"], function (e, t, n) {
var i = y(e);
t[w] = i === 24 ? 0 : i
}), L(["a", "A"], function (e, t, n) {
n._isPm = n._locale.isPM(e);
n._meridiem = e
}), L(["h", "hh"], function (e, t, n) {
t[w] = y(e);
c(n).bigHour = true
}), L("hmm", function (e, t, n) {
var i = e.length - 2;
t[w] = y(e.substr(0, i));
t[D] = y(e.substr(i));
c(n).bigHour = true
}), L("hmmss", function (e, t, n) {
var i = e.length - 4, r = e.length - 2;
t[w] = y(e.substr(0, i));
t[D] = y(e.substr(i, 2));
t[T] = y(e.substr(r));
c(n).bigHour = true
}), L("Hmm", function (e, t, n) {
var i = e.length - 2;
t[w] = y(e.substr(0, i));
t[D] = y(e.substr(i))
}), L("Hmmss", function (e, t, n) {
var i = e.length - 4, r = e.length - 2;
t[w] = y(e.substr(0, i));
t[D] = y(e.substr(i, 2));
t[T] = y(e.substr(r))
});
var un, dn = Ye("Hours", true);
function ln(e, t, n) {
if (e > 11) return n ? "pm" : "PM"; else return n ? "am" : "AM"
}
var hn = {
calendar: re,
longDateFormat: fe,
invalidDate: pe,
ordinal: ve,
dayOfMonthOrdinalParse: ge,
relativeTime: Le,
months: st,
monthsShort: ot,
week: Pt,
weekdays: Ht,
weekdaysMin: Ft,
weekdaysShort: jt,
meridiemParse: /[ap]\.?m?\.?/i
}, P = {}, cn = {}, _n;
function fn(e, t) {
var n, i = Math.min(e.length, t.length);
for (n = 0; n < i; n += 1) if (e[n] !== t[n]) return n;
return i
}
function mn(e) {
return e ? e.toLowerCase().replace("_", "-") : e
}
function pn(e) {
var t = 0, n, i, r, a;
while (t < e.length) {
a = mn(e[t]).split("-");
n = a.length;
i = mn(e[t + 1]);
i = i ? i.split("-") : null;
while (n > 0) {
r = vn(a.slice(0, n).join("-"));
if (r) return r;
if (i && i.length >= n && fn(a, i) >= n - 1) break;
n--
}
t++
}
return _n
}
function yn(e) {
return e.match("^[^/\\\\]*$") != null
}
function vn(t) {
var e = null, n;
if (P[t] === undefined && typeof ds !== "undefined" && ds && ds.exports && yn(t)) try {
e = _n._abbr;
n = ls;
hs(284)("./" + t);
gn(e)
} catch (e) {
P[t] = null
}
return P[t]
}
function gn(e, t) {
var n;
if (e) {
if (o(t)) n = Sn(e); else n = Mn(e, t);
if (n) _n = n; else if (typeof console !== "undefined" && console.warn) console.warn("Locale " + e + " not found. Did you forget to load it?")
}
return _n._abbr
}
function Mn(e, t) {
if (t !== null) {
var n, i = hn;
t.abbr = e;
if (P[e] != null) {
ee("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change " + "an existing locale. moment.defineLocale(localeName, " + "config) should only be used for creating a new locale " + "See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");
i = P[e]._config
} else if (t.parentLocale != null) if (P[t.parentLocale] != null) i = P[t.parentLocale]._config; else {
n = vn(t.parentLocale);
if (n != null) i = n._config; else {
if (!cn[t.parentLocale]) cn[t.parentLocale] = [];
cn[t.parentLocale].push({name: e, config: t});
return null
}
}
P[e] = new ie(ne(i, t));
if (cn[e]) cn[e].forEach(function (e) {
Mn(e.name, e.config)
});
gn(e);
return P[e]
} else {
delete P[e];
return null
}
}
function Ln(e, t) {
if (t != null) {
var n, i, r = hn;
if (P[e] != null && P[e].parentLocale != null) P[e].set(ne(P[e]._config, t)); else {
i = vn(e);
if (i != null) r = i._config;
t = ne(r, t);
if (i == null) t.abbr = e;
n = new ie(t);
n.parentLocale = P[e];
P[e] = n
}
gn(e)
} else if (P[e] != null) if (P[e].parentLocale != null) {
P[e] = P[e].parentLocale;
if (e === gn()) gn(e)
} else if (P[e] != null) delete P[e];
return P[e]
}
function Sn(e) {
var t;
if (e && e._locale && e._locale._abbr) e = e._locale._abbr;
if (!e) return _n;
if (!s(e)) {
t = vn(e);
if (t) return t;
e = [e]
}
return pn(e)
}
function kn() {
return Q(P)
}
function bn(e) {
var t, n = e._a;
if (n && c(e).overflow === -2) {
t = n[k] < 0 || n[k] > 11 ? k : n[b] < 1 || n[b] > at(n[S], n[k]) ? b : n[w] < 0 || n[w] > 24 || n[w] === 24 && (n[D] !== 0 || n[T] !== 0 || n[tt] !== 0) ? w : n[D] < 0 || n[D] > 59 ? D : n[T] < 0 || n[T] > 59 ? T : n[tt] < 0 || n[tt] > 999 ? tt : -1;
if (c(e)._overflowDayOfYear && (t < S || t > b)) t = b;
if (c(e)._overflowWeeks && t === -1) t = nt;
if (c(e)._overflowWeekday && t === -1) t = it;
c(e).overflow = t
}
return e
}
var wn = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
Dn = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
Tn = /Z|[+-]\d\d(?::?\d\d)?/,
En = [["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], ["GGGG-[W]WW", /\d{4}-W\d\d/, false], ["YYYY-DDD", /\d{4}-\d{3}/], ["YYYY-MM", /\d{4}-\d\d/, false], ["YYYYYYMMDD", /[+-]\d{10}/], ["YYYYMMDD", /\d{8}/], ["GGGG[W]WWE", /\d{4}W\d{3}/], ["GGGG[W]WW", /\d{4}W\d{2}/, false], ["YYYYDDD", /\d{7}/], ["YYYYMM", /\d{6}/, false], ["YYYY", /\d{4}/, false]],
Yn = [["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], ["HH:mm:ss", /\d\d:\d\d:\d\d/], ["HH:mm", /\d\d:\d\d/], ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], ["HHmmss", /\d\d\d\d\d\d/], ["HHmm", /\d\d\d\d/], ["HH", /\d\d/]],
Pn = /^\/?Date\((-?\d+)/i,
Cn = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
Rn = {
UT: 0,
GMT: 0,
EDT: -4 * 60,
EST: -5 * 60,
CDT: -5 * 60,
CST: -6 * 60,
MDT: -6 * 60,
MST: -7 * 60,
PDT: -7 * 60,
PST: -8 * 60
};
function An(e) {
var t, n, i = e._i, r = wn.exec(i) || Dn.exec(i), a, s, o, u, d = En.length, l = Yn.length;
if (r) {
c(e).iso = true;
for (t = 0, n = d; t < n; t++) if (En[t][1].exec(r[1])) {
s = En[t][0];
a = En[t][2] !== false;
break
}
if (s == null) {
e._isValid = false;
return
}
if (r[3]) {
for (t = 0, n = l; t < n; t++) if (Yn[t][1].exec(r[3])) {
o = (r[2] || " ") + Yn[t][0];
break
}
if (o == null) {
e._isValid = false;
return
}
}
if (!a && o != null) {
e._isValid = false;
return
}
if (r[4]) if (Tn.exec(r[4])) u = "Z"; else {
e._isValid = false;
return
}
e._f = s + (o || "") + (u || "");
Vn(e)
} else e._isValid = false
}
function xn(e, t, n, i, r, a) {
var s = [On(e), ot.indexOf(t), parseInt(n, 10), parseInt(i, 10), parseInt(r, 10)];
if (a) s.push(parseInt(a, 10));
return s
}
function On(e) {
var t = parseInt(e, 10);
if (t <= 49) return 2e3 + t; else if (t <= 999) return 1900 + t;
return t
}
function In(e) {
return e.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "")
}
function Wn(e, t, n) {
if (e) {
var i = jt.indexOf(e), r = new Date(t[0], t[1], t[2]).getDay();
if (i !== r) {
c(n).weekdayMismatch = true;
n._isValid = false;
return false
}
}
return true
}
function Hn(e, t, n) {
if (e) return Rn[e]; else if (t) return 0; else {
var i = parseInt(n, 10), r = i % 100, a = (i - r) / 100;
return a * 60 + r
}
}
function jn(e) {
var t = Cn.exec(In(e._i)), n;
if (t) {
n = xn(t[4], t[3], t[2], t[5], t[6], t[7]);
if (!Wn(t[1], n, e)) return;
e._a = n;
e._tzm = Hn(t[8], t[9], t[10]);
e._d = wt.apply(null, e._a);
e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm);
c(e).rfc2822 = true
} else e._isValid = false
}
function Fn(e) {
var t = Pn.exec(e._i);
if (t !== null) {
e._d = new Date(+t[1]);
return
}
An(e);
if (e._isValid === false) delete e._isValid; else return;
jn(e);
if (e._isValid === false) delete e._isValid; else return;
if (e._strict) e._isValid = false; else h.createFromInputFallback(e)
}
function Bn(e, t, n) {
if (e != null) return e;
if (t != null) return t;
return n
}
function Nn(e) {
var t = new Date(h.now());
if (e._useUTC) return [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()];
return [t.getFullYear(), t.getMonth(), t.getDate()]
}
function zn(e) {
var t, n, i = [], r, a, s;
if (e._d) return;
r = Nn(e);
if (e._w && e._a[b] == null && e._a[k] == null) Un(e);
if (e._dayOfYear != null) {
s = Bn(e._a[S], r[S]);
if (e._dayOfYear > Lt(s) || e._dayOfYear === 0) c(e)._overflowDayOfYear = true;
n = wt(s, 0, e._dayOfYear);
e._a[k] = n.getUTCMonth();
e._a[b] = n.getUTCDate()
}
for (t = 0; t < 3 && e._a[t] == null; ++t) e._a[t] = i[t] = r[t];
for (; t < 7; t++) e._a[t] = i[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t];
if (e._a[w] === 24 && e._a[D] === 0 && e._a[T] === 0 && e._a[tt] === 0) {
e._nextDay = true;
e._a[w] = 0
}
e._d = (e._useUTC ? wt : bt).apply(null, i);
a = e._useUTC ? e._d.getUTCDay() : e._d.getDay();
if (e._tzm != null) e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm);
if (e._nextDay) e._a[w] = 24;
if (e._w && typeof e._w.d !== "undefined" && e._w.d !== a) c(e).weekdayMismatch = true
}
function Un(e) {
var t, n, i, r, a, s, o, u, d;
t = e._w;
if (t.GG != null || t.W != null || t.E != null) {
a = 1;
s = 4;
n = Bn(t.GG, e._a[S], Et(C(), 1, 4).year);
i = Bn(t.W, 1);
r = Bn(t.E, 1);
if (r < 1 || r > 7) u = true
} else {
a = e._locale._week.dow;
s = e._locale._week.doy;
d = Et(C(), a, s);
n = Bn(t.gg, e._a[S], d.year);
i = Bn(t.w, d.week);
if (t.d != null) {
r = t.d;
if (r < 0 || r > 6) u = true
} else if (t.e != null) {
r = t.e + a;
if (t.e < 0 || t.e > 6) u = true
} else r = a
}
if (i < 1 || i > Y(n, a, s)) c(e)._overflowWeeks = true; else if (u != null) c(e)._overflowWeekday = true; else {
o = Tt(n, i, r, a, s);
e._a[S] = o.year;
e._dayOfYear = o.dayOfYear
}
}
function Vn(e) {
if (e._f === h.ISO_8601) {
An(e);
return
}
if (e._f === h.RFC_2822) {
jn(e);
return
}
e._a = [];
c(e).empty = true;
var t = "" + e._i, n, i, r, a, s, o = t.length, u = 0, d, l;
r = _e(e._f, e._locale).match(se) || [];
l = r.length;
for (n = 0; n < l; n++) {
a = r[n];
i = (t.match(Xe(a, e)) || [])[0];
if (i) {
s = t.substr(0, t.indexOf(i));
if (s.length > 0) c(e).unusedInput.push(s);
t = t.slice(t.indexOf(i) + i.length);
u += i.length
}
if (de[a]) {
if (i) c(e).empty = false; else c(e).unusedTokens.push(a);
et(a, i, e)
} else if (e._strict && !i) c(e).unusedTokens.push(a)
}
c(e).charsLeftOver = o - u;
if (t.length > 0) c(e).unusedInput.push(t);
if (e._a[w] <= 12 && c(e).bigHour === true && e._a[w] > 0) c(e).bigHour = undefined;
c(e).parsedDateParts = e._a.slice(0);
c(e).meridiem = e._meridiem;
e._a[w] = Gn(e._locale, e._a[w], e._meridiem);
d = c(e).era;
if (d !== null) e._a[S] = e._locale.erasConvertYear(d, e._a[S]);
zn(e);
bn(e)
}
function Gn(e, t, n) {
var i;
if (n == null) return t;
if (e.meridiemHour != null) return e.meridiemHour(t, n); else if (e.isPM != null) {
i = e.isPM(n);
if (i && t < 12) t += 12;
if (!i && t === 12) t = 0;
return t
} else return t
}
function Jn(e) {
var t, n, i, r, a, s, o = false, u = e._f.length;
if (u === 0) {
c(e).invalidFormat = true;
e._d = new Date(NaN);
return
}
for (r = 0; r < u; r++) {
a = 0;
s = false;
t = K({}, e);
if (e._useUTC != null) t._useUTC = e._useUTC;
t._f = e._f[r];
Vn(t);
if (V(t)) s = true;
a += c(t).charsLeftOver;
a += c(t).unusedTokens.length * 10;
c(t).score = a;
if (!o) {
if (i == null || a < i || s) {
i = a;
n = t;
if (s) o = true
}
} else if (a < i) {
i = a;
n = t
}
}
z(e, n || t)
}
function qn(e) {
if (e._d) return;
var t = we(e._i), n = t.day === undefined ? t.date : t.day;
e._a = N([t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond], function (e) {
return e && parseInt(e, 10)
});
zn(e)
}
function Kn(e) {
var t = new X(bn(Xn(e)));
if (t._nextDay) {
t.add(1, "d");
t._nextDay = undefined
}
return t
}
function Xn(e) {
var t = e._i, n = e._f;
e._locale = e._locale || Sn(e._l);
if (t === null || n === undefined && t === "") return G({nullInput: true});
if (typeof t === "string") e._i = t = e._locale.preparse(t);
if (_(t)) return new X(bn(t)); else if (B(t)) e._d = t; else if (s(n)) Jn(e); else if (n) Vn(e); else Zn(e);
if (!V(e)) e._d = null;
return e
}
function Zn(e) {
var t = e._i;
if (o(t)) e._d = new Date(h.now()); else if (B(t)) e._d = new Date(t.valueOf()); else if (typeof t === "string") Fn(e); else if (s(t)) {
e._a = N(t.slice(0), function (e) {
return parseInt(e, 10)
});
zn(e)
} else if (j(t)) qn(e); else if (d(t)) e._d = new Date(t); else h.createFromInputFallback(e)
}
function $n(e, t, n, i, r) {
var a = {};
if (t === true || t === false) {
i = t;
t = undefined
}
if (n === true || n === false) {
i = n;
n = undefined
}
if (j(e) && F(e) || s(e) && e.length === 0) e = undefined;
a._isAMomentObject = true;
a._useUTC = a._isUTC = r;
a._l = n;
a._i = e;
a._f = t;
a._strict = i;
return Kn(a)
}
function C(e, t, n, i) {
return $n(e, t, n, i, false)
}
h.createFromInputFallback = e("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), " + "which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are " + "discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function (e) {
e._d = new Date(e._i + (e._useUTC ? " UTC" : ""))
}), h.ISO_8601 = function () {
}, h.RFC_2822 = function () {
};
var Qn = e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
var e = C.apply(null, arguments);
if (this.isValid() && e.isValid()) return e < this ? this : e; else return G()
}),
ei = e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
var e = C.apply(null, arguments);
if (this.isValid() && e.isValid()) return e > this ? this : e; else return G()
});
function ti(e, t) {
var n, i;
if (t.length === 1 && s(t[0])) t = t[0];
if (!t.length) return C();
n = t[0];
for (i = 1; i < t.length; ++i) if (!t[i].isValid() || t[i][e](n)) n = t[i];
return n
}
function ni() {
var e = [].slice.call(arguments, 0);
return ti("isBefore", e)
}
function ii() {
var e = [].slice.call(arguments, 0);
return ti("isAfter", e)
}
var ri = function () {
return Date.now ? Date.now() : +new Date
}, ai = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"];
function si(e) {
var t, n = false, i, r = ai.length;
for (t in e) if (u(e, t) && !(E.call(ai, t) !== -1 && (e[t] == null || !isNaN(e[t])))) return false;
for (i = 0; i < r; ++i) if (e[ai[i]]) {
if (n) return false;
if (parseFloat(e[ai[i]]) !== y(e[ai[i]])) n = true
}
return true
}
function oi() {
return this._isValid
}
function ui() {
return R(NaN)
}
function di(e) {
var t = we(e), n = t.year || 0, i = t.quarter || 0, r = t.month || 0, a = t.week || t.isoWeek || 0,
s = t.day || 0, o = t.hour || 0, u = t.minute || 0, d = t.second || 0, l = t.millisecond || 0;
this._isValid = si(t);
this._milliseconds = +l + d * 1e3 + u * 6e4 + o * 1e3 * 60 * 60;
this._days = +s + a * 7;
this._months = +r + i * 3 + n * 12;
this._data = {};
this._locale = Sn();
this._bubble()
}
function li(e) {
return e instanceof di
}
function hi(e) {
if (e < 0) return Math.round(-1 * e) * -1; else return Math.round(e)
}
function ci(e, t, n) {
var i = Math.min(e.length, t.length), r = Math.abs(e.length - t.length), a = 0, s;
for (s = 0; s < i; s++) if (n && e[s] !== t[s] || !n && y(e[s]) !== y(t[s])) a++;
return a + r
}
function _i(e, n) {
i(e, 0, 0, function () {
var e = this.utcOffset(), t = "+";
if (e < 0) {
e = -e;
t = "-"
}
return t + a(~~(e / 60), 2) + n + a(~~e % 60, 2)
})
}
_i("Z", ":"), _i("ZZ", ""), g("Z", Ge), g("ZZ", Ge), L(["Z", "ZZ"], function (e, t, n) {
n._useUTC = true;
n._tzm = mi(Ge, e)
});
var fi = /([\+\-]|\d\d)/gi;
function mi(e, t) {
var n = (t || "").match(e), i, r, a;
if (n === null) return null;
i = n[n.length - 1] || [];
r = (i + "").match(fi) || ["-", 0, 0];
a = +(r[1] * 60) + y(r[2]);
return a === 0 ? 0 : r[0] === "+" ? a : -a
}
function pi(e, t) {
var n, i;
if (t._isUTC) {
n = t.clone();
i = (_(e) || B(e) ? e.valueOf() : C(e).valueOf()) - n.valueOf();
n._d.setTime(n._d.valueOf() + i);
h.updateOffset(n, false);
return n
} else return C(e).local()
}
function yi(e) {
return -Math.round(e._d.getTimezoneOffset())
}
function vi(e, t, n) {
var i = this._offset || 0, r;
if (!this.isValid()) return e != null ? this : NaN;
if (e != null) {
if (typeof e === "string") {
e = mi(Ge, e);
if (e === null) return this
} else if (Math.abs(e) < 16 && !n) e = e * 60;
if (!this._isUTC && t) r = yi(this);
this._offset = e;
this._isUTC = true;
if (r != null) this.add(r, "m");
if (i !== e) if (!t || this._changeInProgress) Oi(this, R(e - i, "m"), 1, false); else if (!this._changeInProgress) {
this._changeInProgress = true;
h.updateOffset(this, true);
this._changeInProgress = null
}
return this
} else return this._isUTC ? i : yi(this)
}
function gi(e, t) {
if (e != null) {
if (typeof e !== "string") e = -e;
this.utcOffset(e, t);
return this
} else return -this.utcOffset()
}
function Mi(e) {
return this.utcOffset(0, e)
}
function Li(e) {
if (this._isUTC) {
this.utcOffset(0, e);
this._isUTC = false;
if (e) this.subtract(yi(this), "m")
}
return this
}
function Si() {
if (this._tzm != null) this.utcOffset(this._tzm, false, true); else if (typeof this._i === "string") {
var e = mi(Ve, this._i);
if (e != null) this.utcOffset(e); else this.utcOffset(0, true)
}
return this
}
function ki(e) {
if (!this.isValid()) return false;
e = e ? C(e).utcOffset() : 0;
return (this.utcOffset() - e) % 60 === 0
}
function bi() {
return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset()
}
function wi() {
if (!o(this._isDSTShifted)) return this._isDSTShifted;
var e = {}, t;
K(e, this);
e = Xn(e);
if (e._a) {
t = e._isUTC ? l(e._a) : C(e._a);
this._isDSTShifted = this.isValid() && ci(e._a, t.toArray()) > 0
} else this._isDSTShifted = false;
return this._isDSTShifted
}
function Di() {
return this.isValid() ? !this._isUTC : false
}
function Ti() {
return this.isValid() ? this._isUTC : false
}
function Ei() {
return this.isValid() ? this._isUTC && this._offset === 0 : false
}
h.updateOffset = function () {
};
var Yi = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
Pi = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
function R(e, t) {
var n = e, i = null, r, a, s;
if (li(e)) n = {ms: e._milliseconds, d: e._days, M: e._months}; else if (d(e) || !isNaN(+e)) {
n = {};
if (t) n[t] = +e; else n.milliseconds = +e
} else if (i = Yi.exec(e)) {
r = i[1] === "-" ? -1 : 1;
n = {
y: 0,
d: y(i[b]) * r,
h: y(i[w]) * r,
m: y(i[D]) * r,
s: y(i[T]) * r,
ms: y(hi(i[tt] * 1e3)) * r
}
} else if (i = Pi.exec(e)) {
r = i[1] === "-" ? -1 : 1;
n = {
y: Ci(i[2], r),
M: Ci(i[3], r),
w: Ci(i[4], r),
d: Ci(i[5], r),
h: Ci(i[6], r),
m: Ci(i[7], r),
s: Ci(i[8], r)
}
} else if (n == null) n = {}; else if (typeof n === "object" && ("from" in n || "to" in n)) {
s = Ai(C(n.from), C(n.to));
n = {};
n.ms = s.milliseconds;
n.M = s.months
}
a = new di(n);
if (li(e) && u(e, "_locale")) a._locale = e._locale;
if (li(e) && u(e, "_isValid")) a._isValid = e._isValid;
return a
}
function Ci(e, t) {
var n = e && parseFloat(e.replace(",", "."));
return (isNaN(n) ? 0 : n) * t
}
function Ri(e, t) {
var n = {};
n.months = t.month() - e.month() + (t.year() - e.year()) * 12;
if (e.clone().add(n.months, "M").isAfter(t)) --n.months;
n.milliseconds = +t - +e.clone().add(n.months, "M");
return n
}
function Ai(e, t) {
var n;
if (!(e.isValid() && t.isValid())) return {milliseconds: 0, months: 0};
t = pi(t, e);
if (e.isBefore(t)) n = Ri(e, t); else {
n = Ri(t, e);
n.milliseconds = -n.milliseconds;
n.months = -n.months
}
return n
}
function xi(r, a) {
return function (e, t) {
var n, i;
if (t !== null && !isNaN(+t)) {
ee(a, "moment()." + a + "(period, number) is deprecated. Please use moment()." + a + "(number, period). " + "See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");
i = e;
e = t;
t = i
}
n = R(e, t);
Oi(this, n, r);
return this
}
}
function Oi(e, t, n, i) {
var r = t._milliseconds, a = hi(t._days), s = hi(t._months);
if (!e.isValid()) return;
i = i == null ? true : i;
if (s) mt(e, Pe(e, "Month") + s * n);
if (a) Ce(e, "Date", Pe(e, "Date") + a * n);
if (r) e._d.setTime(e._d.valueOf() + r * n);
if (i) h.updateOffset(e, a || s)
}
R.fn = di.prototype, R.invalid = ui;
var Ii = xi(1, "add"), Wi = xi(-1, "subtract");
function Hi(e) {
return typeof e === "string" || e instanceof String
}
function ji(e) {
return _(e) || B(e) || Hi(e) || d(e) || Bi(e) || Fi(e) || e === null || e === undefined
}
function Fi(e) {
var t = j(e) && !F(e), n = false,
i = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"],
r, a, s = i.length;
for (r = 0; r < s; r += 1) {
a = i[r];
n = n || u(e, a)
}
return t && n
}
function Bi(t) {
var e = s(t), n = false;
if (e) n = t.filter(function (e) {
return !d(e) && Hi(t)
}).length === 0;
return e && n
}
function Ni(e) {
var t = j(e) && !F(e), n = false,
i = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], r, a;
for (r = 0; r < i.length; r += 1) {
a = i[r];
n = n || u(e, a)
}
return t && n
}
function zi(e, t) {
var n = e.diff(t, "days", true);
return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse"
}
function Ui(e, t) {
if (arguments.length === 1) if (!arguments[0]) {
e = undefined;
t = undefined
} else if (ji(arguments[0])) {
e = arguments[0];
t = undefined
} else if (Ni(arguments[0])) {
t = arguments[0];
e = undefined
}
var n = e || C(), i = pi(n, this).startOf("day"), r = h.calendarFormat(this, i) || "sameElse",
a = t && (f(t[r]) ? t[r].call(this, n) : t[r]);
return this.format(a || this.localeData().calendar(r, this, C(n)))
}
function Vi() {
return new X(this)
}
function Gi(e, t) {
var n = _(e) ? e : C(e);
if (!(this.isValid() && n.isValid())) return false;
t = m(t) || "millisecond";
if (t === "millisecond") return this.valueOf() > n.valueOf(); else return n.valueOf() < this.clone().startOf(t).valueOf()
}
function Ji(e, t) {
var n = _(e) ? e : C(e);
if (!(this.isValid() && n.isValid())) return false;
t = m(t) || "millisecond";
if (t === "millisecond") return this.valueOf() < n.valueOf(); else return this.clone().endOf(t).valueOf() < n.valueOf()
}
function qi(e, t, n, i) {
var r = _(e) ? e : C(e), a = _(t) ? t : C(t);
if (!(this.isValid() && r.isValid() && a.isValid())) return false;
i = i || "()";
return (i[0] === "(" ? this.isAfter(r, n) : !this.isBefore(r, n)) && (i[1] === ")" ? this.isBefore(a, n) : !this.isAfter(a, n))
}
function Ki(e, t) {
var n = _(e) ? e : C(e), i;
if (!(this.isValid() && n.isValid())) return false;
t = m(t) || "millisecond";
if (t === "millisecond") return this.valueOf() === n.valueOf(); else {
i = n.valueOf();
return this.clone().startOf(t).valueOf() <= i && i <= this.clone().endOf(t).valueOf()
}
}
function Xi(e, t) {
return this.isSame(e, t) || this.isAfter(e, t)
}
function Zi(e, t) {
return this.isSame(e, t) || this.isBefore(e, t)
}
function $i(e, t, n) {
var i, r, a;
if (!this.isValid()) return NaN;
i = pi(e, this);
if (!i.isValid()) return NaN;
r = (i.utcOffset() - this.utcOffset()) * 6e4;
t = m(t);
switch (t) {
case"year":
a = Qi(this, i) / 12;
break;
case"month":
a = Qi(this, i);
break;
case"quarter":
a = Qi(this, i) / 3;
break;
case"second":
a = (this - i) / 1e3;
break;
case"minute":
a = (this - i) / 6e4;
break;
case"hour":
a = (this - i) / 36e5;
break;
case"day":
a = (this - i - r) / 864e5;
break;
case"week":
a = (this - i - r) / 6048e5;
break;
default:
a = this - i
}
return n ? a : p(a)
}
function Qi(e, t) {
if (e.date() < t.date()) return -Qi(t, e);
var n = (t.year() - e.year()) * 12 + (t.month() - e.month()), i = e.clone().add(n, "months"), r, a;
if (t - i < 0) {
r = e.clone().add(n - 1, "months");
a = (t - i) / (i - r)
} else {
r = e.clone().add(n + 1, "months");
a = (t - i) / (r - i)
}
return -(n + a) || 0
}
function er() {
return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")
}
function tr(e) {
if (!this.isValid()) return null;
var t = e !== true, n = t ? this.clone().utc() : this;
if (n.year() < 0 || n.year() > 9999) return ce(n, t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");
if (f(Date.prototype.toISOString)) if (t) return this.toDate().toISOString(); else return new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", ce(n, "Z"));
return ce(n, t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ")
}
function nr() {
if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
var e = "moment", t = "", n, i, r, a;
if (!this.isLocal()) {
e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone";
t = "Z"
}
n = "[" + e + '("]';
i = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY";
r = "-MM-DD[T]HH:mm:ss.SSS";
a = t + '[")]';
return this.format(n + i + r + a)
}
function ir(e) {
if (!e) e = this.isUtc() ? h.defaultFormatUtc : h.defaultFormat;
var t = ce(this, e);
return this.localeData().postformat(t)
}
function rr(e, t) {
if (this.isValid() && (_(e) && e.isValid() || C(e).isValid())) return R({
to: this,
from: e
}).locale(this.locale()).humanize(!t); else return this.localeData().invalidDate()
}
function ar(e) {
return this.from(C(), e)
}
function sr(e, t) {
if (this.isValid() && (_(e) && e.isValid() || C(e).isValid())) return R({
from: this,
to: e
}).locale(this.locale()).humanize(!t); else return this.localeData().invalidDate()
}
function or(e) {
return this.to(C(), e)
}
function ur(e) {
var t;
if (e === undefined) return this._locale._abbr; else {
t = Sn(e);
if (t != null) this._locale = t;
return this
}
}
h.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", h.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
var dr = e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function (e) {
if (e === undefined) return this.localeData(); else return this.locale(e)
});
function lr() {
return this._locale
}
var hr = 1e3, cr = 60 * hr, _r = 60 * cr, fr = (365 * 400 + 97) * 24 * _r;
function mr(e, t) {
return (e % t + t) % t
}
function pr(e, t, n) {
if (e < 100 && e >= 0) return new Date(e + 400, t, n) - fr; else return new Date(e, t, n).valueOf()
}
function yr(e, t, n) {
if (e < 100 && e >= 0) return Date.UTC(e + 400, t, n) - fr; else return Date.UTC(e, t, n)
}
function vr(e) {
var t, n;
e = m(e);
if (e === undefined || e === "millisecond" || !this.isValid()) return this;
n = this._isUTC ? yr : pr;
switch (e) {
case"year":
t = n(this.year(), 0, 1);
break;
case"quarter":
t = n(this.year(), this.month() - this.month() % 3, 1);
break;
case"month":
t = n(this.year(), this.month(), 1);
break;
case"week":
t = n(this.year(), this.month(), this.date() - this.weekday());
break;
case"isoWeek":
t = n(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
break;
case"day":
case"date":
t = n(this.year(), this.month(), this.date());
break;
case"hour":
t = this._d.valueOf();
t -= mr(t + (this._isUTC ? 0 : this.utcOffset() * cr), _r);
break;
case"minute":
t = this._d.valueOf();
t -= mr(t, cr);
break;
case"second":
t = this._d.valueOf();
t -= mr(t, hr);
break
}
this._d.setTime(t);
h.updateOffset(this, true);
return this
}
function gr(e) {
var t, n;
e = m(e);
if (e === undefined || e === "millisecond" || !this.isValid()) return this;
n = this._isUTC ? yr : pr;
switch (e) {
case"year":
t = n(this.year() + 1, 0, 1) - 1;
break;
case"quarter":
t = n(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
break;
case"month":
t = n(this.year(), this.month() + 1, 1) - 1;
break;
case"week":
t = n(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
break;
case"isoWeek":
t = n(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
break;
case"day":
case"date":
t = n(this.year(), this.month(), this.date() + 1) - 1;
break;
case"hour":
t = this._d.valueOf();
t += _r - mr(t + (this._isUTC ? 0 : this.utcOffset() * cr), _r) - 1;
break;
case"minute":
t = this._d.valueOf();
t += cr - mr(t, cr) - 1;
break;
case"second":
t = this._d.valueOf();
t += hr - mr(t, hr) - 1;
break
}
this._d.setTime(t);
h.updateOffset(this, true);
return this
}
function Mr() {
return this._d.valueOf() - (this._offset || 0) * 6e4
}
function Lr() {
return Math.floor(this.valueOf() / 1e3)
}
function Sr() {
return new Date(this.valueOf())
}
function kr() {
var e = this;
return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]
}
function br() {
var e = this;
return {
years: e.year(),
months: e.month(),
date: e.date(),
hours: e.hours(),
minutes: e.minutes(),
seconds: e.seconds(),
milliseconds: e.milliseconds()
}
}
function wr() {
return this.isValid() ? this.toISOString() : null
}
function Dr() {
return V(this)
}
function Tr() {
return z({}, c(this))
}
function Er() {
return c(this).overflow
}
function Yr() {
return {
input: this._i,
format: this._f,
locale: this._locale,
isUTC: this._isUTC,
strict: this._strict
}
}
function Pr(e, t) {
var n, i, r, a = this._eras || Sn("en")._eras;
for (n = 0, i = a.length; n < i; ++n) {
switch (typeof a[n].since) {
case"string":
r = h(a[n].since).startOf("day");
a[n].since = r.valueOf();
break
}
switch (typeof a[n].until) {
case"undefined":
a[n].until = +Infinity;
break;
case"string":
r = h(a[n].until).startOf("day").valueOf();
a[n].until = r.valueOf();
break
}
}
return a
}
function Cr(e, t, n) {
var i, r, a = this.eras(), s, o, u;
e = e.toUpperCase();
for (i = 0, r = a.length; i < r; ++i) {
s = a[i].name.toUpperCase();
o = a[i].abbr.toUpperCase();
u = a[i].narrow.toUpperCase();
if (n) switch (t) {
case"N":
case"NN":
case"NNN":
if (o === e) return a[i];
break;
case"NNNN":
if (s === e) return a[i];
break;
case"NNNNN":
if (u === e) return a[i];
break
} else if ([s, o, u].indexOf(e) >= 0) return a[i]
}
}
function Rr(e, t) {
var n = e.since <= e.until ? +1 : -1;
if (t === undefined) return h(e.since).year(); else return h(e.since).year() + (t - e.offset) * n
}
function Ar() {
var e, t, n, i = this.localeData().eras();
for (e = 0, t = i.length; e < t; ++e) {
n = this.clone().startOf("day").valueOf();
if (i[e].since <= n && n <= i[e].until) return i[e].name;
if (i[e].until <= n && n <= i[e].since) return i[e].name
}
return ""
}
function xr() {
var e, t, n, i = this.localeData().eras();
for (e = 0, t = i.length; e < t; ++e) {
n = this.clone().startOf("day").valueOf();
if (i[e].since <= n && n <= i[e].until) return i[e].narrow;
if (i[e].until <= n && n <= i[e].since) return i[e].narrow
}
return ""
}
function Or() {
var e, t, n, i = this.localeData().eras();
for (e = 0, t = i.length; e < t; ++e) {
n = this.clone().startOf("day").valueOf();
if (i[e].since <= n && n <= i[e].until) return i[e].abbr;
if (i[e].until <= n && n <= i[e].since) return i[e].abbr
}
return ""
}
function Ir() {
var e, t, n, i, r = this.localeData().eras();
for (e = 0, t = r.length; e < t; ++e) {
n = r[e].since <= r[e].until ? +1 : -1;
i = this.clone().startOf("day").valueOf();
if (r[e].since <= i && i <= r[e].until || r[e].until <= i && i <= r[e].since) return (this.year() - h(r[e].since).year()) * n + r[e].offset
}
return this.year()
}
function Wr(e) {
if (!u(this, "_erasNameRegex")) Ur.call(this);
return e ? this._erasNameRegex : this._erasRegex
}
function Hr(e) {
if (!u(this, "_erasAbbrRegex")) Ur.call(this);
return e ? this._erasAbbrRegex : this._erasRegex
}
function jr(e) {
if (!u(this, "_erasNarrowRegex")) Ur.call(this);
return e ? this._erasNarrowRegex : this._erasRegex
}
function Fr(e, t) {
return t.erasAbbrRegex(e)
}
function Br(e, t) {
return t.erasNameRegex(e)
}
function Nr(e, t) {
return t.erasNarrowRegex(e)
}
function zr(e, t) {
return t._eraYearOrdinalRegex || ze
}
function Ur() {
var e = [], t = [], n = [], i = [], r, a, s = this.eras();
for (r = 0, a = s.length; r < a; ++r) {
t.push(M(s[r].name));
e.push(M(s[r].abbr));
n.push(M(s[r].narrow));
i.push(M(s[r].name));
i.push(M(s[r].abbr));
i.push(M(s[r].narrow))
}
this._erasRegex = new RegExp("^(" + i.join("|") + ")", "i");
this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i");
this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i");
this._erasNarrowRegex = new RegExp("^(" + n.join("|") + ")", "i")
}
function Vr(e, t) {
i(0, [e, e.length], 0, t)
}
function Gr(e) {
return $r.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy)
}
function Jr(e) {
return $r.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4)
}
function qr() {
return Y(this.year(), 1, 4)
}
function Kr() {
return Y(this.isoWeekYear(), 1, 4)
}
function Xr() {
var e = this.localeData()._week;
return Y(this.year(), e.dow, e.doy)
}
function Zr() {
var e = this.localeData()._week;
return Y(this.weekYear(), e.dow, e.doy)
}
function $r(e, t, n, i, r) {
var a;
if (e == null) return Et(this, i, r).year; else {
a = Y(e, i, r);
if (t > a) t = a;
return Qr.call(this, e, t, n, i, r)
}
}
function Qr(e, t, n, i, r) {
var a = Tt(e, t, n, i, r), s = wt(a.year, 0, a.dayOfYear);
this.year(s.getUTCFullYear());
this.month(s.getUTCMonth());
this.date(s.getUTCDate());
return this
}
function ea(e) {
return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3)
}
i("N", 0, 0, "eraAbbr"), i("NN", 0, 0, "eraAbbr"), i("NNN", 0, 0, "eraAbbr"), i("NNNN", 0, 0, "eraName"), i("NNNNN", 0, 0, "eraNarrow"), i("y", ["y", 1], "yo", "eraYear"), i("y", ["yy", 2], 0, "eraYear"), i("y", ["yyy", 3], 0, "eraYear"), i("y", ["yyyy", 4], 0, "eraYear"), g("N", Fr), g("NN", Fr), g("NNN", Fr), g("NNNN", Br), g("NNNNN", Nr), L(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, n, i) {
var r = n._locale.erasParse(e, i, n._strict);
if (r) c(n).era = r; else c(n).invalidEra = e
}), g("y", ze), g("yy", ze), g("yyy", ze), g("yyyy", ze), g("yo", zr), L(["y", "yy", "yyy", "yyyy"], S), L(["yo"], function (e, t, n, i) {
var r;
if (n._locale._eraYearOrdinalRegex) r = e.match(n._locale._eraYearOrdinalRegex);
if (n._locale.eraYearOrdinalParse) t[S] = n._locale.eraYearOrdinalParse(e, r); else t[S] = parseInt(e, 10)
}), i(0, ["gg", 2], 0, function () {
return this.weekYear() % 100
}), i(0, ["GG", 2], 0, function () {
return this.isoWeekYear() % 100
}), Vr("gggg", "weekYear"), Vr("ggggg", "weekYear"), Vr("GGGG", "isoWeekYear"), Vr("GGGGG", "isoWeekYear"), t("weekYear", "gg"), t("isoWeekYear", "GG"), n("weekYear", 1), n("isoWeekYear", 1), g("G", Ue), g("g", Ue), g("GG", v, r), g("gg", v, r), g("GGGG", Be, Ie), g("gggg", Be, Ie), g("GGGGG", Ne, We), g("ggggg", Ne, We), Qe(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, i) {
t[i.substr(0, 2)] = y(e)
}), Qe(["gg", "GG"], function (e, t, n, i) {
t[i] = h.parseTwoDigitYear(e)
}), i("Q", 0, "Qo", "quarter"), t("quarter", "Q"), n("quarter", 7), g("Q", xe), L("Q", function (e, t) {
t[k] = (y(e) - 1) * 3
}), i("D", ["DD", 2], "Do", "date"), t("date", "D"), n("date", 9), g("D", v), g("DD", v, r), g("Do", function (e, t) {
return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient
}), L(["D", "DD"], b), L("Do", function (e, t) {
t[b] = y(e.match(v)[0])
});
var ta = Ye("Date", true);
function na(e) {
var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
return e == null ? t : this.add(e - t, "d")
}
i("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), t("dayOfYear", "DDD"), n("dayOfYear", 4), g("DDD", Fe), g("DDDD", Oe), L(["DDD", "DDDD"], function (e, t, n) {
n._dayOfYear = y(e)
}), i("m", ["mm", 2], 0, "minute"), t("minute", "m"), n("minute", 14), g("m", v), g("mm", v, r), L(["m", "mm"], D);
var ia = Ye("Minutes", false),
ra = (i("s", ["ss", 2], 0, "second"), t("second", "s"), n("second", 15), g("s", v), g("ss", v, r), L(["s", "ss"], T), Ye("Seconds", false)),
aa, sa;
for (i("S", 0, 0, function () {
return ~~(this.millisecond() / 100)
}), i(0, ["SS", 2], 0, function () {
return ~~(this.millisecond() / 10)
}), i(0, ["SSS", 3], 0, "millisecond"), i(0, ["SSSS", 4], 0, function () {
return this.millisecond() * 10
}), i(0, ["SSSSS", 5], 0, function () {
return this.millisecond() * 100
}), i(0, ["SSSSSS", 6], 0, function () {
return this.millisecond() * 1e3
}), i(0, ["SSSSSSS", 7], 0, function () {
return this.millisecond() * 1e4
}), i(0, ["SSSSSSSS", 8], 0, function () {
return this.millisecond() * 1e5
}), i(0, ["SSSSSSSSS", 9], 0, function () {
return this.millisecond() * 1e6
}), t("millisecond", "ms"), n("millisecond", 16), g("S", Fe, xe), g("SS", Fe, r), g("SSS", Fe, Oe), aa = "SSSS"; aa.length <= 9; aa += "S") g(aa, ze);
function oa(e, t) {
t[tt] = y(("0." + e) * 1e3)
}
for (aa = "S"; aa.length <= 9; aa += "S") L(aa, oa);
function ua() {
return this._isUTC ? "UTC" : ""
}
function da() {
return this._isUTC ? "Coordinated Universal Time" : ""
}
sa = Ye("Milliseconds", false), i("z", 0, 0, "zoneAbbr"), i("zz", 0, 0, "zoneName");
var A = X.prototype;
if (A.add = Ii, A.calendar = Ui, A.clone = Vi, A.diff = $i, A.endOf = gr, A.format = ir, A.from = rr, A.fromNow = ar, A.to = sr, A.toNow = or, A.get = Re, A.invalidAt = Er, A.isAfter = Gi, A.isBefore = Ji, A.isBetween = qi, A.isSame = Ki, A.isSameOrAfter = Xi, A.isSameOrBefore = Zi, A.isValid = Dr, A.lang = dr, A.locale = ur, A.localeData = lr, A.max = ei, A.min = Qn, A.parsingFlags = Tr, A.set = Ae, A.startOf = vr, A.subtract = Wi, A.toArray = kr, A.toObject = br, A.toDate = Sr, A.toISOString = tr, A.inspect = nr, typeof Symbol !== "undefined" && Symbol.for != null) A[Symbol.for("nodejs.util.inspect.custom")] = function () {
return "Moment<" + this.format() + ">"
};
function la(e) {
return C(e * 1e3)
}
function ha() {
return C.apply(null, arguments).parseZone()
}
function ca(e) {
return e
}
A.toJSON = wr, A.toString = er, A.unix = Lr, A.valueOf = Mr, A.creationData = Yr, A.eraName = Ar, A.eraNarrow = xr, A.eraAbbr = Or, A.eraYear = Ir, A.year = St, A.isLeapYear = kt, A.weekYear = Gr, A.isoWeekYear = Jr, A.quarter = A.quarters = ea, A.month = pt, A.daysInMonth = yt, A.week = A.weeks = At, A.isoWeek = A.isoWeeks = xt, A.weeksInYear = Xr, A.weeksInWeekYear = Zr, A.isoWeeksInYear = qr, A.isoWeeksInISOWeekYear = Kr, A.date = ta, A.day = A.days = Kt, A.weekday = Xt, A.isoWeekday = Zt, A.dayOfYear = na, A.hour = A.hours = dn, A.minute = A.minutes = ia, A.second = A.seconds = ra, A.millisecond = A.milliseconds = sa, A.utcOffset = vi, A.utc = Mi, A.local = Li, A.parseZone = Si, A.hasAlignedHourOffset = ki, A.isDST = bi, A.isLocal = Di, A.isUtcOffset = Ti, A.isUtc = Ei, A.isUTC = Ei, A.zoneAbbr = ua, A.zoneName = da, A.dates = e("dates accessor is deprecated. Use date instead.", ta), A.months = e("months accessor is deprecated. Use month instead", pt), A.years = e("years accessor is deprecated. Use year instead", St), A.zone = e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", gi), A.isDSTShifted = e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", wi);
var x = ie.prototype;
function _a(e, t, n, i) {
var r = Sn(), a = l().set(i, t);
return r[n](a, e)
}
function fa(e, t, n) {
if (d(e)) {
t = e;
e = undefined
}
e = e || "";
if (t != null) return _a(e, t, n, "month");
var i, r = [];
for (i = 0; i < 12; i++) r[i] = _a(e, i, n, "month");
return r
}
function ma(e, t, n, i) {
if (typeof e === "boolean") {
if (d(t)) {
n = t;
t = undefined
}
t = t || ""
} else {
t = e;
n = t;
e = false;
if (d(t)) {
n = t;
t = undefined
}
t = t || ""
}
var r = Sn(), a = e ? r._week.dow : 0, s, o = [];
if (n != null) return _a(t, (n + a) % 7, i, "day");
for (s = 0; s < 7; s++) o[s] = _a(t, (s + a) % 7, i, "day");
return o
}
function pa(e, t) {
return fa(e, t, "months")
}
function ya(e, t) {
return fa(e, t, "monthsShort")
}
function va(e, t, n) {
return ma(e, t, n, "weekdays")
}
function ga(e, t, n) {
return ma(e, t, n, "weekdaysShort")
}
function Ma(e, t, n) {
return ma(e, t, n, "weekdaysMin")
}
x.calendar = ae, x.longDateFormat = me, x.invalidDate = ye, x.ordinal = Me, x.preparse = ca, x.postformat = ca, x.relativeTime = Se, x.pastFuture = ke, x.set = te, x.eras = Pr, x.erasParse = Cr, x.erasConvertYear = Rr, x.erasAbbrRegex = Hr, x.erasNameRegex = Wr, x.erasNarrowRegex = jr, x.months = ht, x.monthsShort = ct, x.monthsParse = ft, x.monthsRegex = gt, x.monthsShortRegex = vt, x.week = Yt, x.firstDayOfYear = Rt, x.firstDayOfWeek = Ct, x.weekdays = Ut, x.weekdaysMin = Gt, x.weekdaysShort = Vt, x.weekdaysParse = qt, x.weekdaysRegex = $t, x.weekdaysShortRegex = Qt, x.weekdaysMinRegex = en, x.isPM = on, x.meridiem = ln, gn("en", {
eras: [{
since: "0001-01-01",
until: +Infinity,
offset: 1,
name: "Anno Domini",
narrow: "AD",
abbr: "AD"
}, {
since: "0000-12-31",
until: -Infinity,
offset: 1,
name: "Before Christ",
narrow: "BC",
abbr: "BC"
}], dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) {
var t = e % 10,
n = y(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
}
}), h.lang = e("moment.lang is deprecated. Use moment.locale instead.", gn), h.langData = e("moment.langData is deprecated. Use moment.localeData instead.", Sn);
var La = Math.abs;
function Sa() {
var e = this._data;
this._milliseconds = La(this._milliseconds);
this._days = La(this._days);
this._months = La(this._months);
e.milliseconds = La(e.milliseconds);
e.seconds = La(e.seconds);
e.minutes = La(e.minutes);
e.hours = La(e.hours);
e.months = La(e.months);
e.years = La(e.years);
return this
}
function ka(e, t, n, i) {
var r = R(t, n);
e._milliseconds += i * r._milliseconds;
e._days += i * r._days;
e._months += i * r._months;
return e._bubble()
}
function ba(e, t) {
return ka(this, e, t, 1)
}
function wa(e, t) {
return ka(this, e, t, -1)
}
function Da(e) {
if (e < 0) return Math.floor(e); else return Math.ceil(e)
}
function Ta() {
var e = this._milliseconds, t = this._days, n = this._months, i = this._data, r, a, s, o, u;
if (!(e >= 0 && t >= 0 && n >= 0 || e <= 0 && t <= 0 && n <= 0)) {
e += Da(Ya(n) + t) * 864e5;
t = 0;
n = 0
}
i.milliseconds = e % 1e3;
r = p(e / 1e3);
i.seconds = r % 60;
a = p(r / 60);
i.minutes = a % 60;
s = p(a / 60);
i.hours = s % 24;
t += p(s / 24);
u = p(Ea(t));
n += u;
t -= Da(Ya(u));
o = p(n / 12);
n %= 12;
i.days = t;
i.months = n;
i.years = o;
return this
}
function Ea(e) {
return e * 4800 / 146097
}
function Ya(e) {
return e * 146097 / 4800
}
function Pa(e) {
if (!this.isValid()) return NaN;
var t, n, i = this._milliseconds;
e = m(e);
if (e === "month" || e === "quarter" || e === "year") {
t = this._days + i / 864e5;
n = this._months + Ea(t);
switch (e) {
case"month":
return n;
case"quarter":
return n / 3;
case"year":
return n / 12
}
} else {
t = this._days + Math.round(Ya(this._months));
switch (e) {
case"week":
return t / 7 + i / 6048e5;
case"day":
return t + i / 864e5;
case"hour":
return t * 24 + i / 36e5;
case"minute":
return t * 1440 + i / 6e4;
case"second":
return t * 86400 + i / 1e3;
case"millisecond":
return Math.floor(t * 864e5) + i;
default:
throw new Error("Unknown unit " + e)
}
}
}
function Ca() {
if (!this.isValid()) return NaN;
return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + y(this._months / 12) * 31536e6
}
function Ra(e) {
return function () {
return this.as(e)
}
}
var Aa = Ra("ms"), xa = Ra("s"), Oa = Ra("m"), Ia = Ra("h"), Wa = Ra("d"), Ha = Ra("w"), ja = Ra("M"),
Fa = Ra("Q"), Ba = Ra("y");
function Na() {
return R(this)
}
function za(e) {
e = m(e);
return this.isValid() ? this[e + "s"]() : NaN
}
function Ua(e) {
return function () {
return this.isValid() ? this._data[e] : NaN
}
}
var Va = Ua("milliseconds"), Ga = Ua("seconds"), Ja = Ua("minutes"), qa = Ua("hours"), Ka = Ua("days"),
Xa = Ua("months"), Za = Ua("years");
function $a() {
return p(this.days() / 7)
}
var Qa = Math.round, es = {ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11};
function ts(e, t, n, i, r) {
return r.relativeTime(t || 1, !!n, e, i)
}
function ns(e, t, n, i) {
var r = R(e).abs(), a = Qa(r.as("s")), s = Qa(r.as("m")), o = Qa(r.as("h")), u = Qa(r.as("d")),
d = Qa(r.as("M")), l = Qa(r.as("w")), h = Qa(r.as("y")),
c = a <= n.ss && ["s", a] || a < n.s && ["ss", a] || s <= 1 && ["m"] || s < n.m && ["mm", s] || o <= 1 && ["h"] || o < n.h && ["hh", o] || u <= 1 && ["d"] || u < n.d && ["dd", u];
if (n.w != null) c = c || l <= 1 && ["w"] || l < n.w && ["ww", l];
c = c || d <= 1 && ["M"] || d < n.M && ["MM", d] || h <= 1 && ["y"] || ["yy", h];
c[2] = t;
c[3] = +e > 0;
c[4] = i;
return ts.apply(null, c)
}
function is(e) {
if (e === undefined) return Qa;
if (typeof e === "function") {
Qa = e;
return true
}
return false
}
function rs(e, t) {
if (es[e] === undefined) return false;
if (t === undefined) return es[e];
es[e] = t;
if (e === "s") es.ss = t - 1;
return true
}
function as(e, t) {
if (!this.isValid()) return this.localeData().invalidDate();
var n = false, i = es, r, a;
if (typeof e === "object") {
t = e;
e = false
}
if (typeof e === "boolean") n = e;
if (typeof t === "object") {
i = Object.assign({}, es, t);
if (t.s != null && t.ss == null) i.ss = t.s - 1
}
r = this.localeData();
a = ns(this, !n, i, r);
if (n) a = r.pastFuture(+this, a);
return r.postformat(a)
}
var ss = Math.abs;
function os(e) {
return (e > 0) - (e < 0) || +e
}
function us() {
if (!this.isValid()) return this.localeData().invalidDate();
var e = ss(this._milliseconds) / 1e3, t = ss(this._days), n = ss(this._months), i, r, a, s,
o = this.asSeconds(), u, d, l, h;
if (!o) return "P0D";
i = p(e / 60);
r = p(i / 60);
e %= 60;
i %= 60;
a = p(n / 12);
n %= 12;
s = e ? e.toFixed(3).replace(/\.?0+$/, "") : "";
u = o < 0 ? "-" : "";
d = os(this._months) !== os(o) ? "-" : "";
l = os(this._days) !== os(o) ? "-" : "";
h = os(this._milliseconds) !== os(o) ? "-" : "";
return u + "P" + (a ? d + a + "Y" : "") + (n ? d + n + "M" : "") + (t ? l + t + "D" : "") + (r || i || e ? "T" : "") + (r ? h + r + "H" : "") + (i ? h + i + "M" : "") + (e ? h + s + "S" : "")
}
var O = di.prototype;
return O.isValid = oi, O.abs = Sa, O.add = ba, O.subtract = wa, O.as = Pa, O.asMilliseconds = Aa, O.asSeconds = xa, O.asMinutes = Oa, O.asHours = Ia, O.asDays = Wa, O.asWeeks = Ha, O.asMonths = ja, O.asQuarters = Fa, O.asYears = Ba, O.valueOf = Ca, O._bubble = Ta, O.clone = Na, O.get = za, O.milliseconds = Va, O.seconds = Ga, O.minutes = Ja, O.hours = qa, O.days = Ka, O.weeks = $a, O.months = Xa, O.years = Za, O.humanize = as, O.toISOString = us, O.toString = us, O.toJSON = us, O.locale = ur, O.localeData = lr, O.toIsoString = e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", us), O.lang = dr, i("X", 0, 0, "unix"), i("x", 0, 0, "valueOf"), g("x", Ue), g("X", Je), L("X", function (e, t, n) {
n._d = new Date(parseFloat(e) * 1e3)
}), L("x", function (e, t, n) {
n._d = new Date(y(e))
}),
//! moment.js
h.version = "2.29.4", H(C), h.fn = A, h.min = ni, h.max = ii, h.now = ri, h.utc = l, h.unix = la, h.months = pa, h.isDate = B, h.locale = gn, h.invalid = G, h.duration = R, h.isMoment = _, h.weekdays = va, h.parseZone = ha, h.localeData = Sn, h.isDuration = li, h.monthsShort = ya, h.weekdaysMin = Ma, h.defineLocale = Mn, h.updateLocale = Ln, h.locales = kn, h.weekdaysShort = ga, h.normalizeUnits = m, h.relativeTimeRounding = is, h.relativeTimeThreshold = rs, h.calendarFormat = zi, h.prototype = A, h.HTML5_FMT = {
DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
DATE: "YYYY-MM-DD",
TIME: "HH:mm",
TIME_SECONDS: "HH:mm:ss",
TIME_MS: "HH:mm:ss.SSS",
WEEK: "GGGG-[W]WW",
MONTH: "YYYY-MM"
}, h
}()
}.call(this, hs(283)(e))
}, function (e, t, n) {
"use strict";
t.__esModule = !0, t.default = function (e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var n = n(259), r = (n = n) && n.__esModule ? n : {default: n};
function i(e, t) {
for (var n = 0; n < t.length; n++) {
var i = t[n];
i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), (0, r.default)(e, i.key, i)
}
}
t.default = function (e, t, n) {
return t && i(e.prototype, t), n && i(e, n), e
}
}, function (e, t) {
e = e.exports = {version: "2.6.12"};
"number" == typeof __e && (__e = e)
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = a(n(1)), r = a(n(2)), n = a(n(10));
function a(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(s, null, [{
key: "e", value: function (e, t) {
e = "[" + (e = e && !s.FORCE_GLOBAL_TAG ? e : s.GLOBAL_TAG) + "] > " + t;
s.ENABLE_CALLBACK && s.emitter.emit("log", "error", e), s.ENABLE_ERROR && (console.error ? console.error(e) : console.warn ? console.warn(e) : console.log(e))
}
}, {
key: "i", value: function (e, t) {
e = "[" + (e = e && !s.FORCE_GLOBAL_TAG ? e : s.GLOBAL_TAG) + "] > " + t;
s.ENABLE_CALLBACK && s.emitter.emit("log", "info", e), s.ENABLE_INFO && (console.info ? console.info(e) : console.log(e))
}
}, {
key: "w", value: function (e, t) {
e = "[" + (e = e && !s.FORCE_GLOBAL_TAG ? e : s.GLOBAL_TAG) + "] > " + t;
s.ENABLE_CALLBACK && s.emitter.emit("log", "warn", e), s.ENABLE_WARN && (console.warn ? console.warn(e) : console.log(e))
}
}, {
key: "d", value: function (e, t) {
e = "[" + (e = e && !s.FORCE_GLOBAL_TAG ? e : s.GLOBAL_TAG) + "] > " + t;
s.ENABLE_CALLBACK && s.emitter.emit("log", "debug", e), s.ENABLE_DEBUG && (console.debug ? console.debug(e) : console.log(e))
}
}, {
key: "v", value: function (e, t) {
e = "[" + (e = e && !s.FORCE_GLOBAL_TAG ? e : s.GLOBAL_TAG) + "] > " + t;
s.ENABLE_CALLBACK && s.emitter.emit("log", "verbose", e), s.ENABLE_VERBOSE && console.log(e)
}
}]);
r = s;
function s() {
(0, i.default)(this, s)
}
r.GLOBAL_TAG = "flv.js", r.FORCE_GLOBAL_TAG = !1, r.ENABLE_ERROR = !0, r.ENABLE_INFO = !0, r.ENABLE_WARN = !0, r.ENABLE_DEBUG = !0, r.ENABLE_VERBOSE = !0, r.ENABLE_CALLBACK = !1, r.emitter = new n.default, t.default = r
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.NotImplementedException = t.InvalidArgumentException = t.IllegalStateException = t.RuntimeException = void 0;
var i = o(n(21)), r = o(n(25)), a = o(n(26)), s = o(n(1)), n = o(n(2));
function o(e) {
return e && e.__esModule ? e : {default: e}
}
var u = t.RuntimeException = ((0, n.default)(d, [{
key: "toString", value: function () {
return this.name + ": " + this.message
}
}, {
key: "name", get: function () {
return "RuntimeException"
}
}, {
key: "message", get: function () {
return this._message
}
}]), d);
function d(e) {
(0, s.default)(this, d), this._message = e
}
t.IllegalStateException = ((0, a.default)(l, u), (0, n.default)(l, [{
key: "name", get: function () {
return "IllegalStateException"
}
}]), l);
function l(e) {
return (0, s.default)(this, l), (0, r.default)(this, (l.__proto__ || (0, i.default)(l)).call(this, e))
}
t.InvalidArgumentException = ((0, a.default)(h, u), (0, n.default)(h, [{
key: "name", get: function () {
return "InvalidArgumentException"
}
}]), h);
function h(e) {
return (0, s.default)(this, h), (0, r.default)(this, (h.__proto__ || (0, i.default)(h)).call(this, e))
}
t.NotImplementedException = ((0, a.default)(c, u), (0, n.default)(c, [{
key: "name", get: function () {
return "NotImplementedException"
}
}]), c);
function c(e) {
return (0, s.default)(this, c), (0, r.default)(this, (c.__proto__ || (0, i.default)(c)).call(this, e))
}
}, function (e, t) {
e = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
"number" == typeof __g && (__g = e)
}, function (e, t, n) {
var i = n(49)("wks"), r = n(35), a = n(6).Symbol, s = "function" == typeof a;
(e.exports = function (e) {
return i[e] || (i[e] = s && a[e] || (s ? a : r)("Symbol." + e))
}).store = i
}, function (e, t, n) {
function m(e, t, n) {
var i, r, a, s = e & m.F, o = e & m.G, u = e & m.S, d = e & m.P, l = e & m.B, h = e & m.W,
c = o ? y : y[t] || (y[t] = {}), _ = c[L], f = o ? p : u ? p[t] : (p[t] || {})[L];
for (i in n = o ? t : n) (r = !s && f && void 0 !== f[i]) && M(c, i) || (a = (r ? f : n)[i], c[i] = o && "function" != typeof f[i] ? n[i] : l && r ? v(a, p) : h && f[i] == a ? function (i) {
function e(e, t, n) {
if (this instanceof i) {
switch (arguments.length) {
case 0:
return new i;
case 1:
return new i(e);
case 2:
return new i(e, t)
}
return new i(e, t, n)
}
return i.apply(this, arguments)
}
return e[L] = i[L], e
}(a) : d && "function" == typeof a ? v(Function.call, a) : a, d && ((c.virtual || (c.virtual = {}))[i] = a, e & m.R && _ && !_[i] && g(_, i, a)))
}
var p = n(6), y = n(3), v = n(22), g = n(17), M = n(18), L = "prototype";
m.F = 1, m.G = 2, m.S = 4, m.P = 8, m.B = 16, m.W = 32, m.U = 64, m.R = 128, e.exports = m
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var i = s(n(270)), r = s(n(272)),
a = "function" == typeof r.default && "symbol" == typeof i.default ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof r.default && e.constructor === r.default && e !== r.default.prototype ? "symbol" : typeof e
};
function s(e) {
return e && e.__esModule ? e : {default: e}
}
t.default = "function" == typeof r.default && "symbol" === a(i.default) ? function (e) {
return void 0 === e ? "undefined" : a(e)
} : function (e) {
return e && "function" == typeof r.default && e.constructor === r.default && e !== r.default.prototype ? "symbol" : void 0 === e ? "undefined" : a(e)
}
}, function (e, t, n) {
"use strict";
var i = "object" == typeof Reflect ? Reflect : null,
u = i && "function" == typeof i.apply ? i.apply : function (e, t, n) {
return Function.prototype.apply.call(e, t, n)
};
var r = i && "function" == typeof i.ownKeys ? i.ownKeys : Object.getOwnPropertySymbols ? function (e) {
return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))
} : function (e) {
return Object.getOwnPropertyNames(e)
}, a = Number.isNaN || function (e) {
return e != e
};
function s() {
s.init.call(this)
}
e.exports = s, e.exports.once = function (o, u) {
return new Promise(function (e, t) {
function n(e) {
o.removeListener(u, i), t(e)
}
function i() {
"function" == typeof o.removeListener && o.removeListener("error", n), e([].slice.call(arguments))
}
var r, a, s;
p(o, u, i, {once: !0}), "error" !== u && (a = n, s = {once: !0}, "function" == typeof (r = o).on && p(r, "error", a, s))
})
}, (s.EventEmitter = s).prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;
var o = 10;
function d(e) {
if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e)
}
function l(e) {
return void 0 === e._maxListeners ? s.defaultMaxListeners : e._maxListeners
}
function h(e, t, n, i) {
var r, a;
return d(n), void 0 === (r = e._events) ? (r = e._events = Object.create(null), e._eventsCount = 0) : (void 0 !== r.newListener && (e.emit("newListener", t, n.listener || n), r = e._events), a = r[t]), void 0 === a ? (a = r[t] = n, ++e._eventsCount) : ("function" == typeof a ? a = r[t] = i ? [n, a] : [a, n] : i ? a.unshift(n) : a.push(n), 0 < (r = l(e)) && a.length > r && !a.warned && (a.warned = !0, (i = new Error("Possible EventEmitter memory leak detected. " + a.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit")).name = "MaxListenersExceededWarning", i.emitter = e, i.type = t, i.count = a.length, n = i, console && console.warn && console.warn(n))), e
}
function c(e, t, n) {
e = {fired: !1, wrapFn: void 0, target: e, type: t, listener: n}, t = function () {
if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments)
}.bind(e);
return t.listener = n, e.wrapFn = t
}
function _(e, t, n) {
e = e._events;
if (void 0 === e) return [];
e = e[t];
{
if (void 0 === e) return [];
if ("function" == typeof e) return n ? [e.listener || e] : [e];
if (n) {
for (var i = e, r = new Array(i.length), a = 0; a < r.length; ++a) r[a] = i[a].listener || i[a];
return r
}
return m(e, e.length)
}
}
function f(e) {
var t = this._events;
if (void 0 !== t) {
t = t[e];
if ("function" == typeof t) return 1;
if (void 0 !== t) return t.length
}
return 0
}
function m(e, t) {
for (var n = new Array(t), i = 0; i < t; ++i) n[i] = e[i];
return n
}
function p(n, i, r, a) {
if ("function" == typeof n.on) a.once ? n.once(i, r) : n.on(i, r); else {
if ("function" != typeof n.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof n);
n.addEventListener(i, function e(t) {
a.once && n.removeEventListener(i, e), r(t)
})
}
}
Object.defineProperty(s, "defaultMaxListeners", {
enumerable: !0, get: function () {
return o
}, set: function (e) {
if ("number" != typeof e || e < 0 || a(e)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e + ".");
o = e
}
}), s.init = function () {
void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0
}, s.prototype.setMaxListeners = function (e) {
if ("number" != typeof e || e < 0 || a(e)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + ".");
return this._maxListeners = e, this
}, s.prototype.getMaxListeners = function () {
return l(this)
}, s.prototype.emit = function (e) {
for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);
var i = "error" === e, r = this._events;
if (void 0 !== r) i = i && void 0 === r.error; else if (!i) return !1;
if (i) {
if ((a = 0 < t.length ? t[0] : a) instanceof Error) throw a;
i = new Error("Unhandled error." + (a ? " (" + a.message + ")" : ""));
throw i.context = a, i
}
var a = r[e];
if (void 0 === a) return !1;
if ("function" == typeof a) u(a, this, t); else for (var s = a.length, o = m(a, s), n = 0; n < s; ++n) u(o[n], this, t);
return !0
}, s.prototype.on = s.prototype.addListener = function (e, t) {
return h(this, e, t, !1)
}, s.prototype.prependListener = function (e, t) {
return h(this, e, t, !0)
}, s.prototype.once = function (e, t) {
return d(t), this.on(e, c(this, e, t)), this
}, s.prototype.prependOnceListener = function (e, t) {
return d(t), this.prependListener(e, c(this, e, t)), this
}, s.prototype.off = s.prototype.removeListener = function (e, t) {
var n, i, r, a, s;
if (d(t), void 0 !== (i = this._events) && void 0 !== (n = i[e])) if (n === t || n.listener === t) 0 == --this._eventsCount ? this._events = Object.create(null) : (delete i[e], i.removeListener && this.emit("removeListener", e, n.listener || t)); else if ("function" != typeof n) {
for (r = -1, a = n.length - 1; 0 <= a; a--) if (n[a] === t || n[a].listener === t) {
s = n[a].listener, r = a;
break
}
if (r < 0) return this;
if (0 === r) n.shift(); else {
for (var o = n, u = r; u + 1 < o.length; u++) o[u] = o[u + 1];
o.pop()
}
1 === n.length && (i[e] = n[0]), void 0 !== i.removeListener && this.emit("removeListener", e, s || t)
}
return this
}, s.prototype.removeAllListeners = function (e) {
var t, n = this._events;
if (void 0 !== n) {
if (void 0 === n.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== n[e] && (0 == --this._eventsCount ? this._events = Object.create(null) : delete n[e]), this;
if (0 === arguments.length) {
for (var i, r = Object.keys(n), a = 0; a < r.length; ++a) "removeListener" !== (i = r[a]) && this.removeAllListeners(i);
return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this
}
if ("function" == typeof (t = n[e])) this.removeListener(e, t); else if (void 0 !== t) for (a = t.length - 1; 0 <= a; a--) this.removeListener(e, t[a])
}
return this
}, s.prototype.listeners = function (e) {
return _(this, e, !0)
}, s.prototype.rawListeners = function (e) {
return _(this, e, !1)
}, s.listenerCount = function (e, t) {
return "function" == typeof e.listenerCount ? e.listenerCount(t) : f.call(e, t)
}, s.prototype.listenerCount = f, s.prototype.eventNames = function () {
return 0 < this._eventsCount ? r(this._events) : []
}
}, function (e, t, n) {
e.exports = {default: n(236), __esModule: !0}
}, function (e, t, n) {
var i = n(13), r = n(69), a = n(45), s = Object.defineProperty;
t.f = n(14) ? Object.defineProperty : function (e, t, n) {
if (i(e), t = a(t, !0), i(n), r) try {
return s(e, t, n)
} catch (e) {
}
if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");
return "value" in n && (e[t] = n.value), e
}
}, function (e, t, n) {
var i = n(16);
e.exports = function (e) {
if (i(e)) return e;
throw TypeError(e + " is not an object!")
}
}, function (e, t, n) {
e.exports = !n(23)(function () {
return 7 != Object.defineProperty({}, "a", {
get: function () {
return 7
}
}).a
})
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.BaseLoader = t.LoaderErrors = t.LoaderStatus = void 0;
var i = s(n(1)), r = s(n(2)), a = n(5);
function s(e) {
return e && e.__esModule ? e : {default: e}
}
var o = t.LoaderStatus = {kIdle: 0, kConnecting: 1, kBuffering: 2, kError: 3, kComplete: 4};
t.LoaderErrors = {
OK: "OK",
EXCEPTION: "Exception",
HTTP_STATUS_CODE_INVALID: "HttpStatusCodeInvalid",
CONNECTING_TIMEOUT: "ConnectingTimeout",
EARLY_EOF: "EarlyEof",
UNRECOVERABLE_EARLY_EOF: "UnrecoverableEarlyEof"
}, t.BaseLoader = ((0, r.default)(u, [{
key: "destroy", value: function () {
this._status = o.kIdle, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null
}
}, {
key: "isWorking", value: function () {
return this._status === o.kConnecting || this._status === o.kBuffering
}
}, {
key: "open", value: function (e, t) {
throw new a.NotImplementedException("Unimplemented abstract function!")
}
}, {
key: "abort", value: function () {
throw new a.NotImplementedException("Unimplemented abstract function!")
}
}, {
key: "type", get: function () {
return this._type
}
}, {
key: "status", get: function () {
return this._status
}
}, {
key: "needStashBuffer", get: function () {
return this._needStash
}
}, {
key: "onContentLengthKnown", get: function () {
return this._onContentLengthKnown
}, set: function (e) {
this._onContentLengthKnown = e
}
}, {
key: "onURLRedirect", get: function () {
return this._onURLRedirect
}, set: function (e) {
this._onURLRedirect = e
}
}, {
key: "onDataArrival", get: function () {
return this._onDataArrival
}, set: function (e) {
this._onDataArrival = e
}
}, {
key: "onError", get: function () {
return this._onError
}, set: function (e) {
this._onError = e
}
}, {
key: "onComplete", get: function () {
return this._onComplete
}, set: function (e) {
this._onComplete = e
}
}]), u);
function u(e) {
(0, i.default)(this, u), this._type = e || "undefined", this._status = o.kIdle, this._needStash = !1, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null
}
}, function (e, t) {
e.exports = function (e) {
return "object" == typeof e ? null !== e : "function" == typeof e
}
}, function (e, t, n) {
var i = n(12), r = n(28);
e.exports = n(14) ? function (e, t, n) {
return i.f(e, t, r(1, n))
} : function (e, t, n) {
return e[t] = n, e
}
}, function (e, t) {
var n = {}.hasOwnProperty;
e.exports = function (e, t) {
return n.call(e, t)
}
}, function (e, t, n) {
var i = n(72), r = n(43);
e.exports = function (e) {
return i(r(e))
}
}, function (e, t, n) {
e.exports = {default: n(292), __esModule: !0}
}, function (e, t, n) {
e.exports = {default: n(302), __esModule: !0}
}, function (e, t, n) {
var a = n(34);
e.exports = function (i, r, e) {
if (a(i), void 0 === r) return i;
switch (e) {
case 1:
return function (e) {
return i.call(r, e)
};
case 2:
return function (e, t) {
return i.call(r, e, t)
};
case 3:
return function (e, t, n) {
return i.call(r, e, t, n)
}
}
return function () {
return i.apply(r, arguments)
}
}
}, function (e, t) {
e.exports = function (e) {
try {
return !!e()
} catch (e) {
return !0
}
}
}, function (e, t, n) {
var i = n(43);
e.exports = function (e) {
return Object(i(e))
}
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var n = n(9), i = (n = n) && n.__esModule ? n : {default: n};
t.default = function (e, t) {
if (e) return !t || "object" !== (void 0 === t ? "undefined" : (0, i.default)(t)) && "function" != typeof t ? e : t;
throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
}
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var i = s(n(38)), r = s(n(304)), a = s(n(9));
function s(e) {
return e && e.__esModule ? e : {default: e}
}
t.default = function (e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : (0, a.default)(t)));
e.prototype = (0, r.default)(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (i.default ? (0, i.default)(e, t) : e.__proto__ = t)
}
}, function (e, t) {
e.exports = !0
}, function (e, t) {
e.exports = function (e, t) {
return {enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t}
}
}, function (e, t) {
e.exports = {}
}, function (e, t, n) {
var i = n(71), r = n(50);
e.exports = Object.keys || function (e) {
return i(e, r)
}
}, function (e, t) {
var n = {}.toString;
e.exports = function (e) {
return n.call(e).slice(8, -1)
}
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var a = i(n(21)), s = i(n(308));
function i(e) {
return e && e.__esModule ? e : {default: e}
}
t.default = function e(t, n, i) {
null === t && (t = Function.prototype);
var r = (0, s.default)(t, n);
if (void 0 !== r) {
if ("value" in r) return r.value;
r = r.get;
return void 0 !== r ? r.call(i) : void 0
}
r = (0, a.default)(t);
if (null !== r) return e(r, n, i)
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var n = n(20), n = (n = n) && n.__esModule ? n : {default: n};
var i = {};
var r, a, s = self.navigator.userAgent.toLowerCase(),
o = /(edge)\/([\w.]+)/.exec(s) || /(opr)[\/]([\w.]+)/.exec(s) || /(chrome)[ \/]([\w.]+)/.exec(s) || /(iemobile)[\/]([\w.]+)/.exec(s) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(s) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(s) || /(webkit)[ \/]([\w.]+)/.exec(s) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(s) || /(msie) ([\w.]+)/.exec(s) || 0 <= s.indexOf("trident") && /(rv)(?::| )([\w.]+)/.exec(s) || s.indexOf("compatible") < 0 && /(firefox)[ \/]([\w.]+)/.exec(s) || [],
s = /(ipad)/.exec(s) || /(ipod)/.exec(s) || /(windows phone)/.exec(s) || /(iphone)/.exec(s) || /(kindle)/.exec(s) || /(android)/.exec(s) || /(windows)/.exec(s) || /(mac)/.exec(s) || /(linux)/.exec(s) || /(cros)/.exec(s) || [],
o = {
browser: o[5] || o[3] || o[1] || "",
version: o[2] || o[4] || "0",
majorVersion: o[4] || o[2] || "0",
platform: s[0] || ""
}, s = {};
for (a in o.browser && (s[o.browser] = !0, r = o.majorVersion.split("."), s.version = {
major: parseInt(o.majorVersion, 10),
string: o.version
}, 1 < r.length && (s.version.minor = parseInt(r[1], 10)), 2 < r.length && (s.version.build = parseInt(r[2], 10))), o.platform && (s[o.platform] = !0), (s.chrome || s.opr || s.safari) && (s.webkit = !0), (s.rv || s.iemobile) && (s.rv && delete s.rv, o.browser = "msie", s.msie = !0), s.edge && (delete s.edge, o.browser = "msedge", s.msedge = !0), s.opr && (o.browser = "opera", s.opera = !0), s.safari && s.android && (s[o.browser = "android"] = !0), s.name = o.browser, s.platform = o.platform, i) i.hasOwnProperty(a) && delete i[a];
(0, n.default)(i, s), t.default = i
}, function (e, t) {
e.exports = function (e) {
if ("function" != typeof e) throw TypeError(e + " is not a function!");
return e
}
}, function (e, t) {
var n = 0, i = Math.random();
e.exports = function (e) {
return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + i).toString(36))
}
}, function (e, t, n) {
var i = n(12).f, r = n(18), a = n(7)("toStringTag");
e.exports = function (e, t, n) {
e && !r(e = n ? e : e.prototype, a) && i(e, a, {configurable: !0, value: t})
}
}, function (e, t) {
t.f = {}.propertyIsEnumerable
}, function (e, t, n) {
e.exports = {default: n(295), __esModule: !0}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.default = {
ERROR: "error",
LOADING_COMPLETE: "loading_complete",
RECOVERED_EARLY_EOF: "recovered_early_eof",
MEDIA_INFO: "media_info",
METADATA_ARRIVED: "metadata_arrived",
SCRIPTDATA_ARRIVED: "scriptdata_arrived",
STATISTICS_INFO: "statistics_info",
VIDEO_RESOLUTION_CHANGED: "video_resolution_changed",
MEDIA_SOURCE_ENDED: "media_source_ended",
MEDIA_SOURCE_CLOSE: "media_source_close",
VIDEO_FROZEN: "video_decoded_frame_frozen",
MS_BUFFER_FULL: "media_source_buffer_full",
LOADED_META_DATA: "loaded_meta_data"
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.default = {
IO_ERROR: "io_error",
DEMUX_ERROR: "demux_error",
INIT_SEGMENT: "init_segment",
MEDIA_SEGMENT: "media_segment",
LOADING_COMPLETE: "loading_complete",
RECOVERED_EARLY_EOF: "recovered_early_eof",
MEDIA_INFO: "media_info",
METADATA_ARRIVED: "metadata_arrived",
SCRIPTDATA_ARRIVED: "scriptdata_arrived",
STATISTICS_INFO: "statistics_info",
RECOMMEND_SEEKPOINT: "recommend_seekpoint",
VIDEO_RESOLUTION_CHANGED: "video_resolution_changed",
PARSEDDATA_ARRIVED: "parseddata_arrived"
}
}, function (e, t, n) {
"use strict";
var i = n(237)(!0);
n(68)(String, "String", function (e) {
this._t = String(e), this._i = 0
}, function () {
var e = this._t, t = this._i;
return t >= e.length ? {value: void 0, done: !0} : (e = i(e, t), this._i += e.length, {value: e, done: !1})
})
}, function (e, t) {
var n = Math.ceil, i = Math.floor;
e.exports = function (e) {
return isNaN(e = +e) ? 0 : (0 < e ? i : n)(e)
}
}, function (e, t) {
e.exports = function (e) {
if (null == e) throw TypeError("Can't call method on " + e);
return e
}
}, function (e, t, n) {
var i = n(16), r = n(6).document, a = i(r) && i(r.createElement);
e.exports = function (e) {
return a ? r.createElement(e) : {}
}
}, function (e, t, n) {
var r = n(16);
e.exports = function (e, t) {
if (!r(e)) return e;
var n, i;
if (t && "function" == typeof (n = e.toString) && !r(i = n.call(e)) || "function" == typeof (n = e.valueOf) && !r(i = n.call(e)) || !t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i;
throw TypeError("Can't convert object to primitive value")
}
}, function (e, t, n) {
function i() {
}
var r = n(13), a = n(239), s = n(50), o = n(48)("IE_PROTO"), u = "prototype", d = function () {
var e = n(44)("iframe"), t = s.length;
for (e.style.display = "none", n(73).appendChild(e), e.src = "javascript:", (e = e.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), d = e.F; t--;) delete d[u][s[t]];
return d()
};
e.exports = Object.create || function (e, t) {
var n;
return null !== e ? (i[u] = r(e), n = new i, i[u] = null, n[o] = e) : n = d(), void 0 === t ? n : a(n, t)
}
}, function (e, t, n) {
var i = n(42), r = Math.min;
e.exports = function (e) {
return 0 < e ? r(i(e), 9007199254740991) : 0
}
}, function (e, t, n) {
var i = n(49)("keys"), r = n(35);
e.exports = function (e) {
return i[e] || (i[e] = r(e))
}
}, function (e, t, n) {
var i = n(3), r = n(6), a = "__core-js_shared__", s = r[a] || (r[a] = {});
(e.exports = function (e, t) {
return s[e] || (s[e] = void 0 !== t ? t : {})
})("versions", []).push({
version: i.version,
mode: n(27) ? "pure" : "global",
copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
})
}, function (e, t) {
e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
}, function (e, t, n) {
"use strict";
var r = n(34);
function i(e) {
var n, i;
this.promise = new e(function (e, t) {
if (void 0 !== n || void 0 !== i) throw TypeError("Bad Promise constructor");
n = e, i = t
}), this.resolve = r(n), this.reject = r(i)
}
e.exports.f = function (e) {
return new i(e)
}
}, function (e, t, n) {
var r = n(8), a = n(3), s = n(23);
e.exports = function (e, t) {
var n = (a.Object || {})[e] || Object[e], i = {};
i[e] = t(n), r(r.S + r.F * s(function () {
n(1)
}), "Object", i)
}
}, function (e, t, n) {
e.exports = n(257)
}, function (e, t, n) {
"use strict";
t.__esModule = !0;
var n = n(11), u = (n = n) && n.__esModule ? n : {default: n};
t.default = function (e) {
return function () {
var o = e.apply(this, arguments);
return new u.default(function (a, s) {
return function t(e, n) {
try {
var i = o[e](n), r = i.value
} catch (e) {
return void s(e)
}
if (!i.done) return u.default.resolve(r).then(function (e) {
t("next", e)
}, function (e) {
t("throw", e)
});
a(r)
}("next")
})
}
}
}, function (Qt, en, e) {
var tn;
/*!
* jQuery JavaScript Library v3.6.0
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2021-03-02T17:08Z
*/
!function (e, t) {
"use strict";
"object" == typeof Qt.exports ? Qt.exports = e.document ? t(e, !0) : function (e) {
if (e.document) return t(e);
throw new Error("jQuery requires a window with a document")
} : t(e)
}("undefined" != typeof window ? window : this, function (L, I) {
"use strict";
function v(e) {
return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item
}
function m(e) {
return null != e && e === e.window
}
var t = [], W = Object.getPrototypeOf, o = t.slice, H = t.flat ? function (e) {
return t.flat.call(e)
} : function (e) {
return t.concat.apply([], e)
}, j = t.push, F = t.indexOf, B = {}, N = B.toString, z = B.hasOwnProperty, U = z.toString,
V = U.call(Object), p = {}, S = L.document, G = {type: !0, src: !0, nonce: !0, noModule: !0};
function J(e, t, n) {
var i, r, a = (n = n || S).createElement("script");
if (a.text = e, t) for (i in G) (r = t[i] || t.getAttribute && t.getAttribute(i)) && a.setAttribute(i, r);
n.head.appendChild(a).parentNode.removeChild(a)
}
function f(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? B[N.call(e)] || "object" : typeof e
}
var k = function (e, t) {
return new k.fn.init(e, t)
};
function q(e) {
var t = !!e && "length" in e && e.length, n = f(e);
return !v(e) && !m(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e)
}
k.fn = k.prototype = {
jquery: "3.6.0", constructor: k, length: 0, toArray: function () {
return o.call(this)
}, get: function (e) {
return null == e ? o.call(this) : e < 0 ? this[e + this.length] : this[e]
}, pushStack: function (e) {
e = k.merge(this.constructor(), e);
return e.prevObject = this, e
}, each: function (e) {
return k.each(this, e)
}, map: function (n) {
return this.pushStack(k.map(this, function (e, t) {
return n.call(e, t, e)
}))
}, slice: function () {
return this.pushStack(o.apply(this, arguments))
}, first: function () {
return this.eq(0)
}, last: function () {
return this.eq(-1)
}, even: function () {
return this.pushStack(k.grep(this, function (e, t) {
return (t + 1) % 2
}))
}, odd: function () {
return this.pushStack(k.grep(this, function (e, t) {
return t % 2
}))
}, eq: function (e) {
var t = this.length, e = +e + (e < 0 ? t : 0);
return this.pushStack(0 <= e && e < t ? [this[e]] : [])
}, end: function () {
return this.prevObject || this.constructor()
}, push: j, sort: t.sort, splice: t.splice
}, k.extend = k.fn.extend = function () {
var e, t, n, i, r, a = arguments[0] || {}, s = 1, o = arguments.length, u = !1;
for ("boolean" == typeof a && (u = a, a = arguments[s] || {}, s++), "object" == typeof a || v(a) || (a = {}), s === o && (a = this, s--); s < o; s++) if (null != (e = arguments[s])) for (t in e) n = e[t], "__proto__" !== t && a !== n && (u && n && (k.isPlainObject(n) || (i = Array.isArray(n))) ? (r = a[t], r = i && !Array.isArray(r) ? [] : i || k.isPlainObject(r) ? r : {}, i = !1, a[t] = k.extend(u, r, n)) : void 0 !== n && (a[t] = n));
return a
}, k.extend({
expando: "jQuery" + ("3.6.0" + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) {
throw new Error(e)
}, noop: function () {
}, isPlainObject: function (e) {
return !(!e || "[object Object]" !== N.call(e)) && (!(e = W(e)) || "function" == typeof (e = z.call(e, "constructor") && e.constructor) && U.call(e) === V)
}, isEmptyObject: function (e) {
for (var t in e) return !1;
return !0
}, globalEval: function (e, t, n) {
J(e, {nonce: t && t.nonce}, n)
}, each: function (e, t) {
var n, i = 0;
if (q(e)) for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++) ; else for (i in e) if (!1 === t.call(e[i], i, e[i])) break;
return e
}, makeArray: function (e, t) {
t = t || [];
return null != e && (q(Object(e)) ? k.merge(t, "string" == typeof e ? [e] : e) : j.call(t, e)), t
}, inArray: function (e, t, n) {
return null == t ? -1 : F.call(t, e, n)
}, merge: function (e, t) {
for (var n = +t.length, i = 0, r = e.length; i < n; i++) e[r++] = t[i];
return e.length = r, e
}, grep: function (e, t, n) {
for (var i = [], r = 0, a = e.length, s = !n; r < a; r++) !t(e[r], r) != s && i.push(e[r]);
return i
}, map: function (e, t, n) {
var i, r, a = 0, s = [];
if (q(e)) for (i = e.length; a < i; a++) null != (r = t(e[a], a, n)) && s.push(r); else for (a in e) null != (r = t(e[a], a, n)) && s.push(r);
return H(s)
}, guid: 1, support: p
}), "function" == typeof Symbol && (k.fn[Symbol.iterator] = t[Symbol.iterator]), k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
B["[object " + t + "]"] = t.toLowerCase()
});
function i(e, t, n) {
for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) {
if (r && k(e).is(n)) break;
i.push(e)
}
return i
}
function K(e, t) {
for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
return n
}
var e =
/*!
* Sizzle CSS Selector Engine v2.3.6
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://js.foundation/
*
* Date: 2021-02-16
*/
function (I) {
function h(e, t) {
return e = "0x" + e.slice(1) - 65536, t || (e < 0 ? String.fromCharCode(65536 + e) : String.fromCharCode(e >> 10 | 55296, 1023 & e | 56320))
}
function W(e, t) {
return t ? "\0" === e ? "<22>" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e
}
function H() {
S()
}
var e, c, M, a, j, _, F, B, L, u, d, S, k, n, b, f, i, r, m, w = "sizzle" + +new Date,
l = I.document, D = 0, N = 0, z = C(), U = C(), V = C(), p = C(), G = function (e, t) {
return e === t && (d = !0), 0
}, J = {}.hasOwnProperty, t = [], q = t.pop, K = t.push, T = t.push, X = t.slice,
v = function (e, t) {
for (var n = 0, i = e.length; n < i; n++) if (e[n] === t) return n;
return -1
},
Z = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
s = "[\\x20\\t\\r\\n\\f]",
o = "(?:\\\\[\\da-fA-F]{1,6}" + s + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
$ = "\\[" + s + "*(" + o + ")(?:" + s + "*([*^$|!~]?=)" + s + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + o + "))|)" + s + "*\\]",
Q = ":(" + o + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + $ + ")*)|.*)\\)|)",
ee = new RegExp(s + "+", "g"),
y = new RegExp("^" + s + "+|((?:^|[^\\\\])(?:\\\\.)*)" + s + "+$", "g"),
te = new RegExp("^" + s + "*," + s + "*"),
ne = new RegExp("^" + s + "*([>+~]|" + s + ")" + s + "*"), ie = new RegExp(s + "|>"),
re = new RegExp(Q), ae = new RegExp("^" + o + "$"), g = {
ID: new RegExp("^#(" + o + ")"),
CLASS: new RegExp("^\\.(" + o + ")"),
TAG: new RegExp("^(" + o + "|[*])"),
ATTR: new RegExp("^" + $),
PSEUDO: new RegExp("^" + Q),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + s + "*(even|odd|(([+-]|)(\\d*)n|)" + s + "*(?:([+-]|)" + s + "*(\\d+)|))" + s + "*\\)|)", "i"),
bool: new RegExp("^(?:" + Z + ")$", "i"),
needsContext: new RegExp("^" + s + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + s + "*((?:-\\d)?\\d*)" + s + "*\\)|)(?=[^-]|$)", "i")
}, se = /HTML$/i, oe = /^(?:input|select|textarea|button)$/i, ue = /^h\d$/i,
E = /^[^{]+\{\s*\[native \w/, de = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, le = /[+~]/,
Y = new RegExp("\\\\[\\da-fA-F]{1,6}" + s + "?|\\\\([^\\r\\n\\f])", "g"),
he = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ce = ve(function (e) {
return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase()
}, {dir: "parentNode", next: "legend"});
try {
T.apply(t = X.call(l.childNodes), l.childNodes), t[l.childNodes.length].nodeType
} catch (e) {
T = {
apply: t.length ? function (e, t) {
K.apply(e, X.call(t))
} : function (e, t) {
for (var n = e.length, i = 0; e[n++] = t[i++];) ;
e.length = n - 1
}
}
}
function P(t, e, n, i) {
var r, a, s, o, u, d, l = e && e.ownerDocument, h = e ? e.nodeType : 9;
if (n = n || [], "string" != typeof t || !t || 1 !== h && 9 !== h && 11 !== h) return n;
if (!i && (S(e), e = e || k, b)) {
if (11 !== h && (o = de.exec(t))) if (r = o[1]) {
if (9 === h) {
if (!(d = e.getElementById(r))) return n;
if (d.id === r) return n.push(d), n
} else if (l && (d = l.getElementById(r)) && m(e, d) && d.id === r) return n.push(d), n
} else {
if (o[2]) return T.apply(n, e.getElementsByTagName(t)), n;
if ((r = o[3]) && c.getElementsByClassName && e.getElementsByClassName) return T.apply(n, e.getElementsByClassName(r)), n
}
if (c.qsa && !p[t + " "] && (!f || !f.test(t)) && (1 !== h || "object" !== e.nodeName.toLowerCase())) {
if (d = t, l = e, 1 === h && (ie.test(t) || ne.test(t))) {
for ((l = le.test(t) && pe(e.parentNode) || e) === e && c.scope || ((s = e.getAttribute("id")) ? s = s.replace(he, W) : e.setAttribute("id", s = w)), a = (u = _(t)).length; a--;) u[a] = (s ? "#" + s : ":scope") + " " + O(u[a]);
d = u.join(",")
}
try {
return T.apply(n, l.querySelectorAll(d)), n
} catch (e) {
p(t, !0)
} finally {
s === w && e.removeAttribute("id")
}
}
}
return B(t.replace(y, "$1"), e, n, i)
}
function C() {
var n = [];
function i(e, t) {
return n.push(e + " ") > M.cacheLength && delete i[n.shift()], i[e + " "] = t
}
return i
}
function R(e) {
return e[w] = !0, e
}
function A(e) {
var t = k.createElement("fieldset");
try {
return !!e(t)
} catch (e) {
return !1
} finally {
t.parentNode && t.parentNode.removeChild(t)
}
}
function _e(e, t) {
for (var n = e.split("|"), i = n.length; i--;) M.attrHandle[n[i]] = t
}
function fe(e, t) {
var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
if (i) return i;
if (n) for (; n = n.nextSibling;) if (n === t) return -1;
return e ? 1 : -1
}
function me(t) {
return function (e) {
return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ce(e) === t : e.disabled === t : "label" in e && e.disabled === t
}
}
function x(s) {
return R(function (a) {
return a = +a, R(function (e, t) {
for (var n, i = s([], e.length, a), r = i.length; r--;) e[n = i[r]] && (e[n] = !(t[n] = e[n]))
})
})
}
function pe(e) {
return e && void 0 !== e.getElementsByTagName && e
}
for (e in c = P.support = {}, j = P.isXML = function (e) {
var t = e && e.namespaceURI, e = e && (e.ownerDocument || e).documentElement;
return !se.test(t || e && e.nodeName || "HTML")
}, S = P.setDocument = function (e) {
var e = e ? e.ownerDocument || e : l;
return e != k && 9 === e.nodeType && e.documentElement && (n = (k = e).documentElement, b = !j(k), l != k && (e = k.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", H, !1) : e.attachEvent && e.attachEvent("onunload", H)), c.scope = A(function (e) {
return n.appendChild(e).appendChild(k.createElement("div")), void 0 !== e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length
}), c.attributes = A(function (e) {
return e.className = "i", !e.getAttribute("className")
}), c.getElementsByTagName = A(function (e) {
return e.appendChild(k.createComment("")), !e.getElementsByTagName("*").length
}), c.getElementsByClassName = E.test(k.getElementsByClassName), c.getById = A(function (e) {
return n.appendChild(e).id = w, !k.getElementsByName || !k.getElementsByName(w).length
}), c.getById ? (M.filter.ID = function (e) {
var t = e.replace(Y, h);
return function (e) {
return e.getAttribute("id") === t
}
}, M.find.ID = function (e, t) {
if (void 0 !== t.getElementById && b) return (t = t.getElementById(e)) ? [t] : []
}) : (M.filter.ID = function (e) {
var t = e.replace(Y, h);
return function (e) {
e = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
return e && e.value === t
}
}, M.find.ID = function (e, t) {
if (void 0 !== t.getElementById && b) {
var n, i, r, a = t.getElementById(e);
if (a) {
if ((n = a.getAttributeNode("id")) && n.value === e) return [a];
for (r = t.getElementsByName(e), i = 0; a = r[i++];) if ((n = a.getAttributeNode("id")) && n.value === e) return [a]
}
return []
}
}), M.find.TAG = c.getElementsByTagName ? function (e, t) {
return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : c.qsa ? t.querySelectorAll(e) : void 0
} : function (e, t) {
var n, i = [], r = 0, a = t.getElementsByTagName(e);
if ("*" !== e) return a;
for (; n = a[r++];) 1 === n.nodeType && i.push(n);
return i
}, M.find.CLASS = c.getElementsByClassName && function (e, t) {
if (void 0 !== t.getElementsByClassName && b) return t.getElementsByClassName(e)
}, i = [], f = [], (c.qsa = E.test(k.querySelectorAll)) && (A(function (e) {
var t;
n.appendChild(e).innerHTML = "<a id='" + w + "'></a><select id='" + w + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && f.push("[*^$]=" + s + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || f.push("\\[" + s + "*(?:value|" + Z + ")"), e.querySelectorAll("[id~=" + w + "-]").length || f.push("~="), (t = k.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || f.push("\\[" + s + "*name" + s + "*=" + s + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || f.push(":checked"), e.querySelectorAll("a#" + w + "+*").length || f.push(".#.+[+~]"), e.querySelectorAll("\\\f"), f.push("[\\r\\n\\f]")
}), A(function (e) {
e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var t = k.createElement("input");
t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && f.push("name" + s + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && f.push(":enabled", ":disabled"), n.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && f.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), f.push(",.*:")
})), (c.matchesSelector = E.test(r = n.matches || n.webkitMatchesSelector || n.mozMatchesSelector || n.oMatchesSelector || n.msMatchesSelector)) && A(function (e) {
c.disconnectedMatch = r.call(e, "*"), r.call(e, "[s!='']:x"), i.push("!=", Q)
}), f = f.length && new RegExp(f.join("|")), i = i.length && new RegExp(i.join("|")), e = E.test(n.compareDocumentPosition), m = e || E.test(n.contains) ? function (e, t) {
var n = 9 === e.nodeType ? e.documentElement : e, t = t && t.parentNode;
return e === t || !(!t || 1 !== t.nodeType || !(n.contains ? n.contains(t) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(t)))
} : function (e, t) {
if (t) for (; t = t.parentNode;) if (t === e) return !0;
return !1
}, G = e ? function (e, t) {
if (e === t) return d = !0, 0;
var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !c.sortDetached && t.compareDocumentPosition(e) === n ? e == k || e.ownerDocument == l && m(l, e) ? -1 : t == k || t.ownerDocument == l && m(l, t) ? 1 : u ? v(u, e) - v(u, t) : 0 : 4 & n ? -1 : 1)
} : function (e, t) {
if (e === t) return d = !0, 0;
var n, i = 0, r = e.parentNode, a = t.parentNode, s = [e], o = [t];
if (!r || !a) return e == k ? -1 : t == k ? 1 : r ? -1 : a ? 1 : u ? v(u, e) - v(u, t) : 0;
if (r === a) return fe(e, t);
for (n = e; n = n.parentNode;) s.unshift(n);
for (n = t; n = n.parentNode;) o.unshift(n);
for (; s[i] === o[i];) i++;
return i ? fe(s[i], o[i]) : s[i] == l ? -1 : o[i] == l ? 1 : 0
}), k
}, P.matches = function (e, t) {
return P(e, null, null, t)
}, P.matchesSelector = function (e, t) {
if (S(e), c.matchesSelector && b && !p[t + " "] && (!i || !i.test(t)) && (!f || !f.test(t))) try {
var n = r.call(e, t);
if (n || c.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n
} catch (e) {
p(t, !0)
}
return 0 < P(t, k, null, [e]).length
}, P.contains = function (e, t) {
return (e.ownerDocument || e) != k && S(e), m(e, t)
}, P.attr = function (e, t) {
(e.ownerDocument || e) != k && S(e);
var n = M.attrHandle[t.toLowerCase()],
n = n && J.call(M.attrHandle, t.toLowerCase()) ? n(e, t, !b) : void 0;
return void 0 !== n ? n : c.attributes || !b ? e.getAttribute(t) : (n = e.getAttributeNode(t)) && n.specified ? n.value : null
}, P.escape = function (e) {
return (e + "").replace(he, W)
}, P.error = function (e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}, P.uniqueSort = function (e) {
var t, n = [], i = 0, r = 0;
if (d = !c.detectDuplicates, u = !c.sortStable && e.slice(0), e.sort(G), d) {
for (; t = e[r++];) t === e[r] && (i = n.push(r));
for (; i--;) e.splice(n[i], 1)
}
return u = null, e
}, a = P.getText = function (e) {
var t, n = "", i = 0, r = e.nodeType;
if (r) {
if (1 === r || 9 === r || 11 === r) {
if ("string" == typeof e.textContent) return e.textContent;
for (e = e.firstChild; e; e = e.nextSibling) n += a(e)
} else if (3 === r || 4 === r) return e.nodeValue
} else for (; t = e[i++];) n += a(t);
return n
}, (M = P.selectors = {
cacheLength: 50,
createPseudo: R,
match: g,
attrHandle: {},
find: {},
relative: {
">": {dir: "parentNode", first: !0},
" ": {dir: "parentNode"},
"+": {dir: "previousSibling", first: !0},
"~": {dir: "previousSibling"}
},
preFilter: {
ATTR: function (e) {
return e[1] = e[1].replace(Y, h), e[3] = (e[3] || e[4] || e[5] || "").replace(Y, h), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
}, CHILD: function (e) {
return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || P.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && P.error(e[0]), e
}, PSEUDO: function (e) {
var t, n = !e[6] && e[2];
return g.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && re.test(n) && (t = _(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
}
},
filter: {
TAG: function (e) {
var t = e.replace(Y, h).toLowerCase();
return "*" === e ? function () {
return !0
} : function (e) {
return e.nodeName && e.nodeName.toLowerCase() === t
}
}, CLASS: function (e) {
var t = z[e + " "];
return t || (t = new RegExp("(^|" + s + ")" + e + "(" + s + "|$)")) && z(e, function (e) {
return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
})
}, ATTR: function (t, n, i) {
return function (e) {
e = P.attr(e, t);
return null == e ? "!=" === n : !n || (e += "", "=" === n ? e === i : "!=" === n ? e !== i : "^=" === n ? i && 0 === e.indexOf(i) : "*=" === n ? i && -1 < e.indexOf(i) : "$=" === n ? i && e.slice(-i.length) === i : "~=" === n ? -1 < (" " + e.replace(ee, " ") + " ").indexOf(i) : "|=" === n && (e === i || e.slice(0, i.length + 1) === i + "-"))
}
}, CHILD: function (f, e, t, m, p) {
var y = "nth" !== f.slice(0, 3), v = "last" !== f.slice(-4), g = "of-type" === e;
return 1 === m && 0 === p ? function (e) {
return !!e.parentNode
} : function (e, t, n) {
var i, r, a, s, o, u, d = y != v ? "nextSibling" : "previousSibling",
l = e.parentNode, h = g && e.nodeName.toLowerCase(), c = !n && !g, _ = !1;
if (l) {
if (y) {
for (; d;) {
for (s = e; s = s[d];) if (g ? s.nodeName.toLowerCase() === h : 1 === s.nodeType) return !1;
u = d = "only" === f && !u && "nextSibling"
}
return !0
}
if (u = [v ? l.firstChild : l.lastChild], v && c) {
for (_ = (o = (i = (r = (a = (s = l)[w] || (s[w] = {}))[s.uniqueID] || (a[s.uniqueID] = {}))[f] || [])[0] === D && i[1]) && i[2], s = o && l.childNodes[o]; s = ++o && s && s[d] || (_ = o = 0) || u.pop();) if (1 === s.nodeType && ++_ && s === e) {
r[f] = [D, o, _];
break
}
} else if (!1 === (_ = c ? o = (i = (r = (a = (s = e)[w] || (s[w] = {}))[s.uniqueID] || (a[s.uniqueID] = {}))[f] || [])[0] === D && i[1] : _)) for (; (s = ++o && s && s[d] || (_ = o = 0) || u.pop()) && ((g ? s.nodeName.toLowerCase() !== h : 1 !== s.nodeType) || !++_ || (c && ((r = (a = s[w] || (s[w] = {}))[s.uniqueID] || (a[s.uniqueID] = {}))[f] = [D, _]), s !== e));) ;
return (_ -= p) === m || _ % m == 0 && 0 <= _ / m
}
}
}, PSEUDO: function (e, a) {
var t,
s = M.pseudos[e] || M.setFilters[e.toLowerCase()] || P.error("unsupported pseudo: " + e);
return s[w] ? s(a) : 1 < s.length ? (t = [e, e, "", a], M.setFilters.hasOwnProperty(e.toLowerCase()) ? R(function (e, t) {
for (var n, i = s(e, a), r = i.length; r--;) e[n = v(e, i[r])] = !(t[n] = i[r])
}) : function (e) {
return s(e, 0, t)
}) : s
}
},
pseudos: {
not: R(function (e) {
var i = [], r = [], o = F(e.replace(y, "$1"));
return o[w] ? R(function (e, t, n, i) {
for (var r, a = o(e, null, i, []), s = e.length; s--;) (r = a[s]) && (e[s] = !(t[s] = r))
}) : function (e, t, n) {
return i[0] = e, o(i, null, n, r), i[0] = null, !r.pop()
}
}), has: R(function (t) {
return function (e) {
return 0 < P(t, e).length
}
}), contains: R(function (t) {
return t = t.replace(Y, h), function (e) {
return -1 < (e.textContent || a(e)).indexOf(t)
}
}), lang: R(function (n) {
return ae.test(n || "") || P.error("unsupported lang: " + n), n = n.replace(Y, h).toLowerCase(), function (e) {
var t;
do {
if (t = b ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-")
} while ((e = e.parentNode) && 1 === e.nodeType);
return !1
}
}), target: function (e) {
var t = I.location && I.location.hash;
return t && t.slice(1) === e.id
}, root: function (e) {
return e === n
}, focus: function (e) {
return e === k.activeElement && (!k.hasFocus || k.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
}, enabled: me(!1), disabled: me(!0), checked: function (e) {
var t = e.nodeName.toLowerCase();
return "input" === t && !!e.checked || "option" === t && !!e.selected
}, selected: function (e) {
return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
}, empty: function (e) {
for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1;
return !0
}, parent: function (e) {
return !M.pseudos.empty(e)
}, header: function (e) {
return ue.test(e.nodeName)
}, input: function (e) {
return oe.test(e.nodeName)
}, button: function (e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
}, text: function (e) {
return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (e = e.getAttribute("type")) || "text" === e.toLowerCase())
}, first: x(function () {
return [0]
}), last: x(function (e, t) {
return [t - 1]
}), eq: x(function (e, t, n) {
return [n < 0 ? n + t : n]
}), even: x(function (e, t) {
for (var n = 0; n < t; n += 2) e.push(n);
return e
}), odd: x(function (e, t) {
for (var n = 1; n < t; n += 2) e.push(n);
return e
}), lt: x(function (e, t, n) {
for (var i = n < 0 ? n + t : t < n ? t : n; 0 <= --i;) e.push(i);
return e
}), gt: x(function (e, t, n) {
for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i);
return e
})
}
}).pseudos.nth = M.pseudos.eq, {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) M.pseudos[e] = function (t) {
return function (e) {
return "input" === e.nodeName.toLowerCase() && e.type === t
}
}(e);
for (e in {submit: !0, reset: !0}) M.pseudos[e] = function (n) {
return function (e) {
var t = e.nodeName.toLowerCase();
return ("input" === t || "button" === t) && e.type === n
}
}(e);
function ye() {
}
function O(e) {
for (var t = 0, n = e.length, i = ""; t < n; t++) i += e[t].value;
return i
}
function ve(s, e, t) {
var o = e.dir, u = e.next, d = u || o, l = t && "parentNode" === d, h = N++;
return e.first ? function (e, t, n) {
for (; e = e[o];) if (1 === e.nodeType || l) return s(e, t, n);
return !1
} : function (e, t, n) {
var i, r, a = [D, h];
if (n) {
for (; e = e[o];) if ((1 === e.nodeType || l) && s(e, t, n)) return !0
} else for (; e = e[o];) if (1 === e.nodeType || l) if (r = (r = e[w] || (e[w] = {}))[e.uniqueID] || (r[e.uniqueID] = {}), u && u === e.nodeName.toLowerCase()) e = e[o] || e; else {
if ((i = r[d]) && i[0] === D && i[1] === h) return a[2] = i[2];
if ((r[d] = a)[2] = s(e, t, n)) return !0
}
return !1
}
}
function ge(r) {
return 1 < r.length ? function (e, t, n) {
for (var i = r.length; i--;) if (!r[i](e, t, n)) return !1;
return !0
} : r[0]
}
function Me(e, t, n, i, r) {
for (var a, s = [], o = 0, u = e.length, d = null != t; o < u; o++) !(a = e[o]) || n && !n(a, i, r) || (s.push(a), d && t.push(o));
return s
}
function Le(_, f, m, p, y, e) {
return p && !p[w] && (p = Le(p)), y && !y[w] && (y = Le(y, e)), R(function (e, t, n, i) {
var r, a, s, o = [], u = [], d = t.length, l = e || function (e, t, n) {
for (var i = 0, r = t.length; i < r; i++) P(e, t[i], n);
return n
}(f || "*", n.nodeType ? [n] : n, []), h = !_ || !e && f ? l : Me(l, o, _, n, i),
c = m ? y || (e ? _ : d || p) ? [] : t : h;
if (m && m(h, c, n, i), p) for (r = Me(c, u), p(r, [], n, i), a = r.length; a--;) (s = r[a]) && (c[u[a]] = !(h[u[a]] = s));
if (e) {
if (y || _) {
if (y) {
for (r = [], a = c.length; a--;) (s = c[a]) && r.push(h[a] = s);
y(null, c = [], r, i)
}
for (a = c.length; a--;) (s = c[a]) && -1 < (r = y ? v(e, s) : o[a]) && (e[r] = !(t[r] = s))
}
} else c = Me(c === t ? c.splice(d, c.length) : c), y ? y(null, t, c, i) : T.apply(t, c)
})
}
function Se(p, y) {
function e(e, t, n, i, r) {
var a, s, o, u = 0, d = "0", l = e && [], h = [], c = L, _ = e || g && M.find.TAG("*", r),
f = D += null == c ? 1 : Math.random() || .1, m = _.length;
for (r && (L = t == k || t || r); d !== m && null != (a = _[d]); d++) {
if (g && a) {
for (s = 0, t || a.ownerDocument == k || (S(a), n = !b); o = p[s++];) if (o(a, t || k, n)) {
i.push(a);
break
}
r && (D = f)
}
v && ((a = !o && a) && u--, e && l.push(a))
}
if (u += d, v && d !== u) {
for (s = 0; o = y[s++];) o(l, h, t, n);
if (e) {
if (0 < u) for (; d--;) l[d] || h[d] || (h[d] = q.call(i));
h = Me(h)
}
T.apply(i, h), r && !e && 0 < h.length && 1 < u + y.length && P.uniqueSort(i)
}
return r && (D = f, L = c), l
}
var v = 0 < y.length, g = 0 < p.length;
return v ? R(e) : e
}
return ye.prototype = M.filters = M.pseudos, M.setFilters = new ye, _ = P.tokenize = function (e, t) {
var n, i, r, a, s, o, u, d = U[e + " "];
if (d) return t ? 0 : d.slice(0);
for (s = e, o = [], u = M.preFilter; s;) {
for (a in n && !(i = te.exec(s)) || (i && (s = s.slice(i[0].length) || s), o.push(r = [])), n = !1, (i = ne.exec(s)) && (n = i.shift(), r.push({
value: n,
type: i[0].replace(y, " ")
}), s = s.slice(n.length)), M.filter) !(i = g[a].exec(s)) || u[a] && !(i = u[a](i)) || (n = i.shift(), r.push({
value: n,
type: a,
matches: i
}), s = s.slice(n.length));
if (!n) break
}
return t ? s.length : s ? P.error(e) : U(e, o).slice(0)
}, F = P.compile = function (e, t) {
var n, i = [], r = [], a = V[e + " "];
if (!a) {
for (n = (t = t || _(e)).length; n--;) ((a = function e(t) {
for (var i, n, r, a = t.length, s = M.relative[t[0].type], o = s || M.relative[" "], u = s ? 1 : 0, d = ve(function (e) {
return e === i
}, o, !0), l = ve(function (e) {
return -1 < v(i, e)
}, o, !0), h = [function (e, t, n) {
return e = !s && (n || t !== L) || ((i = t).nodeType ? d : l)(e, t, n), i = null, e
}]; u < a; u++) if (n = M.relative[t[u].type]) h = [ve(ge(h), n)]; else {
if ((n = M.filter[t[u].type].apply(null, t[u].matches))[w]) {
for (r = ++u; r < a && !M.relative[t[r].type]; r++) ;
return Le(1 < u && ge(h), 1 < u && O(t.slice(0, u - 1).concat({value: " " === t[u - 2].type ? "*" : ""})).replace(y, "$1"), n, u < r && e(t.slice(u, r)), r < a && e(t = t.slice(r)), r < a && O(t))
}
h.push(n)
}
return ge(h)
}(t[n]))[w] ? i : r).push(a);
(a = V(e, Se(r, i))).selector = e
}
return a
}, B = P.select = function (e, t, n, i) {
var r, a, s, o, u, d = "function" == typeof e && e, l = !i && _(e = d.selector || e);
if (n = n || [], 1 === l.length) {
if (2 < (a = l[0] = l[0].slice(0)).length && "ID" === (s = a[0]).type && 9 === t.nodeType && b && M.relative[a[1].type]) {
if (!(t = (M.find.ID(s.matches[0].replace(Y, h), t) || [])[0])) return n;
d && (t = t.parentNode), e = e.slice(a.shift().value.length)
}
for (r = g.needsContext.test(e) ? 0 : a.length; r-- && (s = a[r], !M.relative[o = s.type]);) if ((u = M.find[o]) && (i = u(s.matches[0].replace(Y, h), le.test(a[0].type) && pe(t.parentNode) || t))) {
if (a.splice(r, 1), e = i.length && O(a)) break;
return T.apply(n, i), n
}
}
return (d || F(e, l))(i, t, !b, n, !t || le.test(e) && pe(t.parentNode) || t), n
}, c.sortStable = w.split("").sort(G).join("") === w, c.detectDuplicates = !!d, S(), c.sortDetached = A(function (e) {
return 1 & e.compareDocumentPosition(k.createElement("fieldset"))
}), A(function (e) {
return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
}) || _e("type|href|height|width", function (e, t, n) {
if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
}), c.attributes && A(function (e) {
return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
}) || _e("value", function (e, t, n) {
if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
}), A(function (e) {
return null == e.getAttribute("disabled")
}) || _e(Z, function (e, t, n) {
if (!n) return !0 === e[t] ? t.toLowerCase() : (n = e.getAttributeNode(t)) && n.specified ? n.value : null
}), P
}(L),
X = (k.find = e, k.expr = e.selectors, k.expr[":"] = k.expr.pseudos, k.uniqueSort = k.unique = e.uniqueSort, k.text = e.getText, k.isXMLDoc = e.isXML, k.contains = e.contains, k.escapeSelector = e.escape, k.expr.match.needsContext);
function u(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
}
var Z = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function $(e, n, i) {
return v(n) ? k.grep(e, function (e, t) {
return !!n.call(e, t, e) !== i
}) : n.nodeType ? k.grep(e, function (e) {
return e === n !== i
}) : "string" != typeof n ? k.grep(e, function (e) {
return -1 < F.call(n, e) !== i
}) : k.filter(n, e, i)
}
k.filter = function (e, t, n) {
var i = t[0];
return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? k.find.matchesSelector(i, e) ? [i] : [] : k.find.matches(e, k.grep(t, function (e) {
return 1 === e.nodeType
}))
}, k.fn.extend({
find: function (e) {
var t, n, i = this.length, r = this;
if ("string" != typeof e) return this.pushStack(k(e).filter(function () {
for (t = 0; t < i; t++) if (k.contains(r[t], this)) return !0
}));
for (n = this.pushStack([]), t = 0; t < i; t++) k.find(e, r[t], n);
return 1 < i ? k.uniqueSort(n) : n
}, filter: function (e) {
return this.pushStack($(this, e || [], !1))
}, not: function (e) {
return this.pushStack($(this, e || [], !0))
}, is: function (e) {
return !!$(this, "string" == typeof e && X.test(e) ? k(e) : e || [], !1).length
}
});
var Q, ee = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, te = ((k.fn.init = function (e, t, n) {
if (!e) return this;
if (n = n || Q, "string" != typeof e) return e.nodeType ? (this[0] = e, this.length = 1, this) : v(e) ? void 0 !== n.ready ? n.ready(e) : e(k) : k.makeArray(e, this);
if (!(i = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : ee.exec(e)) || !i[1] && t) return (!t || t.jquery ? t || n : this.constructor(t)).find(e);
if (i[1]) {
if (t = t instanceof k ? t[0] : t, k.merge(this, k.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : S, !0)), Z.test(i[1]) && k.isPlainObject(t)) for (var i in t) v(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
return this
}
return (n = S.getElementById(i[2])) && (this[0] = n, this.length = 1), this
}).prototype = k.fn, Q = k(S), /^(?:parents|prev(?:Until|All))/),
ne = {children: !0, contents: !0, next: !0, prev: !0};
function ie(e, t) {
for (; (e = e[t]) && 1 !== e.nodeType;) ;
return e
}
k.fn.extend({
has: function (e) {
var t = k(e, this), n = t.length;
return this.filter(function () {
for (var e = 0; e < n; e++) if (k.contains(this, t[e])) return !0
})
}, closest: function (e, t) {
var n, i = 0, r = this.length, a = [], s = "string" != typeof e && k(e);
if (!X.test(e)) for (; i < r; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? -1 < s.index(n) : 1 === n.nodeType && k.find.matchesSelector(n, e))) {
a.push(n);
break
}
return this.pushStack(1 < a.length ? k.uniqueSort(a) : a)
}, index: function (e) {
return e ? "string" == typeof e ? F.call(k(e), this[0]) : F.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
}, add: function (e, t) {
return this.pushStack(k.uniqueSort(k.merge(this.get(), k(e, t))))
}, addBack: function (e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
}
}), k.each({
parent: function (e) {
e = e.parentNode;
return e && 11 !== e.nodeType ? e : null
}, parents: function (e) {
return i(e, "parentNode")
}, parentsUntil: function (e, t, n) {
return i(e, "parentNode", n)
}, next: function (e) {
return ie(e, "nextSibling")
}, prev: function (e) {
return ie(e, "previousSibling")
}, nextAll: function (e) {
return i(e, "nextSibling")
}, prevAll: function (e) {
return i(e, "previousSibling")
}, nextUntil: function (e, t, n) {
return i(e, "nextSibling", n)
}, prevUntil: function (e, t, n) {
return i(e, "previousSibling", n)
}, siblings: function (e) {
return K((e.parentNode || {}).firstChild, e)
}, children: function (e) {
return K(e.firstChild)
}, contents: function (e) {
return null != e.contentDocument && W(e.contentDocument) ? e.contentDocument : (u(e, "template") && (e = e.content || e), k.merge([], e.childNodes))
}
}, function (i, r) {
k.fn[i] = function (e, t) {
var n = k.map(this, r, e);
return (t = "Until" !== i.slice(-5) ? e : t) && "string" == typeof t && (n = k.filter(t, n)), 1 < this.length && (ne[i] || k.uniqueSort(n), te.test(i) && n.reverse()), this.pushStack(n)
}
});
var b = /[^\x20\t\r\n\f]+/g;
function l(e) {
return e
}
function re(e) {
throw e
}
function ae(e, t, n, i) {
var r;
try {
e && v(r = e.promise) ? r.call(e).done(t).fail(n) : e && v(r = e.then) ? r.call(e, t, n) : t.apply(void 0, [e].slice(i))
} catch (e) {
n.apply(void 0, [e])
}
}
k.Callbacks = function (i) {
var e, n;
i = "string" == typeof i ? (e = i, n = {}, k.each(e.match(b) || [], function (e, t) {
n[t] = !0
}), n) : k.extend({}, i);
function r() {
for (o = o || i.once, s = a = !0; d.length; l = -1) for (t = d.shift(); ++l < u.length;) !1 === u[l].apply(t[0], t[1]) && i.stopOnFalse && (l = u.length, t = !1);
i.memory || (t = !1), a = !1, o && (u = t ? [] : "")
}
var a, t, s, o, u = [], d = [], l = -1, h = {
add: function () {
return u && (t && !a && (l = u.length - 1, d.push(t)), function n(e) {
k.each(e, function (e, t) {
v(t) ? i.unique && h.has(t) || u.push(t) : t && t.length && "string" !== f(t) && n(t)
})
}(arguments), t && !a && r()), this
}, remove: function () {
return k.each(arguments, function (e, t) {
for (var n; -1 < (n = k.inArray(t, u, n));) u.splice(n, 1), n <= l && l--
}), this
}, has: function (e) {
return e ? -1 < k.inArray(e, u) : 0 < u.length
}, empty: function () {
return u = u && [], this
}, disable: function () {
return o = d = [], u = t = "", this
}, disabled: function () {
return !u
}, lock: function () {
return o = d = [], t || a || (u = t = ""), this
}, locked: function () {
return !!o
}, fireWith: function (e, t) {
return o || (t = [e, (t = t || []).slice ? t.slice() : t], d.push(t), a || r()), this
}, fire: function () {
return h.fireWith(this, arguments), this
}, fired: function () {
return !!s
}
};
return h
}, k.extend({
Deferred: function (e) {
var a = [["notify", "progress", k.Callbacks("memory"), k.Callbacks("memory"), 2], ["resolve", "done", k.Callbacks("once memory"), k.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", k.Callbacks("once memory"), k.Callbacks("once memory"), 1, "rejected"]],
r = "pending", s = {
state: function () {
return r
}, always: function () {
return o.done(arguments).fail(arguments), this
}, catch: function (e) {
return s.then(null, e)
}, pipe: function () {
var r = arguments;
return k.Deferred(function (i) {
k.each(a, function (e, t) {
var n = v(r[t[4]]) && r[t[4]];
o[t[1]](function () {
var e = n && n.apply(this, arguments);
e && v(e.promise) ? e.promise().progress(i.notify).done(i.resolve).fail(i.reject) : i[t[0] + "With"](this, n ? [e] : arguments)
})
}), r = null
}).promise()
}, then: function (t, n, i) {
var u = 0;
function d(r, a, s, o) {
return function () {
function e() {
var e, t;
if (!(r < u)) {
if ((e = s.apply(n, i)) === a.promise()) throw new TypeError("Thenable self-resolution");
t = e && ("object" == typeof e || "function" == typeof e) && e.then, v(t) ? o ? t.call(e, d(u, a, l, o), d(u, a, re, o)) : (u++, t.call(e, d(u, a, l, o), d(u, a, re, o), d(u, a, l, a.notifyWith))) : (s !== l && (n = void 0, i = [e]), (o || a.resolveWith)(n, i))
}
}
var n = this, i = arguments, t = o ? e : function () {
try {
e()
} catch (e) {
k.Deferred.exceptionHook && k.Deferred.exceptionHook(e, t.stackTrace), u <= r + 1 && (s !== re && (n = void 0, i = [e]), a.rejectWith(n, i))
}
};
r ? t() : (k.Deferred.getStackHook && (t.stackTrace = k.Deferred.getStackHook()), L.setTimeout(t))
}
}
return k.Deferred(function (e) {
a[0][3].add(d(0, e, v(i) ? i : l, e.notifyWith)), a[1][3].add(d(0, e, v(t) ? t : l)), a[2][3].add(d(0, e, v(n) ? n : re))
}).promise()
}, promise: function (e) {
return null != e ? k.extend(e, s) : s
}
}, o = {};
return k.each(a, function (e, t) {
var n = t[2], i = t[5];
s[t[1]] = n.add, i && n.add(function () {
r = i
}, a[3 - e][2].disable, a[3 - e][3].disable, a[0][2].lock, a[0][3].lock), n.add(t[3].fire), o[t[0]] = function () {
return o[t[0] + "With"](this === o ? void 0 : this, arguments), this
}, o[t[0] + "With"] = n.fireWith
}), s.promise(o), e && e.call(o, o), o
}, when: function (e) {
function t(t) {
return function (e) {
r[t] = this, a[t] = 1 < arguments.length ? o.call(arguments) : e, --n || s.resolveWith(r, a)
}
}
var n = arguments.length, i = n, r = Array(i), a = o.call(arguments), s = k.Deferred();
if (n <= 1 && (ae(e, s.done(t(i)).resolve, s.reject, !n), "pending" === s.state() || v(a[i] && a[i].then))) return s.then();
for (; i--;) ae(a[i], t(i), s.reject);
return s.promise()
}
});
var se = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/,
oe = (k.Deferred.exceptionHook = function (e, t) {
L.console && L.console.warn && e && se.test(e.name) && L.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t)
}, k.readyException = function (e) {
L.setTimeout(function () {
throw e
})
}, k.Deferred());
function ue() {
S.removeEventListener("DOMContentLoaded", ue), L.removeEventListener("load", ue), k.ready()
}
k.fn.ready = function (e) {
return oe.then(e).catch(function (e) {
k.readyException(e)
}), this
}, k.extend({
isReady: !1, readyWait: 1, ready: function (e) {
(!0 === e ? --k.readyWait : k.isReady) || (k.isReady = !0) !== e && 0 < --k.readyWait || oe.resolveWith(S, [k])
}
}), k.ready.then = oe.then, "complete" === S.readyState || "loading" !== S.readyState && !S.documentElement.doScroll ? L.setTimeout(k.ready) : (S.addEventListener("DOMContentLoaded", ue), L.addEventListener("load", ue));
function h(e, t, n, i, r, a, s) {
var o = 0, u = e.length, d = null == n;
if ("object" === f(n)) for (o in r = !0, n) h(e, t, o, n[o], !0, a, s); else if (void 0 !== i && (r = !0, v(i) || (s = !0), t = d ? s ? (t.call(e, i), null) : (d = t, function (e, t, n) {
return d.call(k(e), n)
}) : t)) for (; o < u; o++) t(e[o], n, s ? i : i.call(e[o], o, t(e[o], n)));
return r ? e : d ? t.call(e) : u ? t(e[0], n) : a
}
var de = /^-ms-/, le = /-([a-z])/g;
function he(e, t) {
return t.toUpperCase()
}
function g(e) {
return e.replace(de, "ms-").replace(le, he)
}
function y(e) {
return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
}
function ce() {
this.expando = k.expando + ce.uid++
}
ce.uid = 1, ce.prototype = {
cache: function (e) {
var t = e[this.expando];
return t || (t = {}, y(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
value: t,
configurable: !0
}))), t
}, set: function (e, t, n) {
var i, r = this.cache(e);
if ("string" == typeof t) r[g(t)] = n; else for (i in t) r[g(i)] = t[i];
return r
}, get: function (e, t) {
return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][g(t)]
}, access: function (e, t, n) {
return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t)
}, remove: function (e, t) {
var n, i = e[this.expando];
if (void 0 !== i) {
if (void 0 !== t) {
n = (t = Array.isArray(t) ? t.map(g) : (t = g(t)) in i ? [t] : t.match(b) || []).length;
for (; n--;) delete i[t[n]]
}
void 0 !== t && !k.isEmptyObject(i) || (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
}
}, hasData: function (e) {
e = e[this.expando];
return void 0 !== e && !k.isEmptyObject(e)
}
};
var M = new ce, d = new ce, _e = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, fe = /[A-Z]/g;
function me(e, t, n) {
var i, r;
if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(fe, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(i))) {
try {
n = "true" === (r = n) || "false" !== r && ("null" === r ? null : r === +r + "" ? +r : _e.test(r) ? JSON.parse(r) : r)
} catch (e) {
}
d.set(e, t, n)
} else n = void 0;
return n
}
k.extend({
hasData: function (e) {
return d.hasData(e) || M.hasData(e)
}, data: function (e, t, n) {
return d.access(e, t, n)
}, removeData: function (e, t) {
d.remove(e, t)
}, _data: function (e, t, n) {
return M.access(e, t, n)
}, _removeData: function (e, t) {
M.remove(e, t)
}
}), k.fn.extend({
data: function (n, e) {
var t, i, r, a = this[0], s = a && a.attributes;
if (void 0 !== n) return "object" == typeof n ? this.each(function () {
d.set(this, n)
}) : h(this, function (e) {
var t;
if (a && void 0 === e) return void 0 !== (t = d.get(a, n)) || void 0 !== (t = me(a, n)) ? t : void 0;
this.each(function () {
d.set(this, n, e)
})
}, null, e, 1 < arguments.length, null, !0);
if (this.length && (r = d.get(a), 1 === a.nodeType && !M.get(a, "hasDataAttrs"))) {
for (t = s.length; t--;) s[t] && 0 === (i = s[t].name).indexOf("data-") && (i = g(i.slice(5)), me(a, i, r[i]));
M.set(a, "hasDataAttrs", !0)
}
return r
}, removeData: function (e) {
return this.each(function () {
d.remove(this, e)
})
}
}), k.extend({
queue: function (e, t, n) {
var i;
if (e) return i = M.get(e, t = (t || "fx") + "queue"), n && (!i || Array.isArray(n) ? i = M.access(e, t, k.makeArray(n)) : i.push(n)), i || []
}, dequeue: function (e, t) {
t = t || "fx";
var n = k.queue(e, t), i = n.length, r = n.shift(), a = k._queueHooks(e, t);
"inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift("inprogress"), delete a.stop, r.call(e, function () {
k.dequeue(e, t)
}, a)), !i && a && a.empty.fire()
}, _queueHooks: function (e, t) {
var n = t + "queueHooks";
return M.get(e, n) || M.access(e, n, {
empty: k.Callbacks("once memory").add(function () {
M.remove(e, [t + "queue", n])
})
})
}
}), k.fn.extend({
queue: function (t, n) {
var e = 2;
return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? k.queue(this[0], t) : void 0 === n ? this : this.each(function () {
var e = k.queue(this, t, n);
k._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && k.dequeue(this, t)
})
}, dequeue: function (e) {
return this.each(function () {
k.dequeue(this, e)
})
}, clearQueue: function (e) {
return this.queue(e || "fx", [])
}, promise: function (e, t) {
function n() {
--r || a.resolveWith(s, [s])
}
var i, r = 1, a = k.Deferred(), s = this, o = this.length;
for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; o--;) (i = M.get(s[o], e + "queueHooks")) && i.empty && (r++, i.empty.add(n));
return n(), a.promise(t)
}
});
function pe(e, t) {
return "none" === (e = t || e).style.display || "" === e.style.display && D(e) && "none" === k.css(e, "display")
}
var e = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
ye = new RegExp("^(?:([+-])=|)(" + e + ")([a-z%]*)$", "i"), c = ["Top", "Right", "Bottom", "Left"],
w = S.documentElement, D = function (e) {
return k.contains(e.ownerDocument, e)
}, ve = {composed: !0};
w.getRootNode && (D = function (e) {
return k.contains(e.ownerDocument, e) || e.getRootNode(ve) === e.ownerDocument
});
function ge(e, t, n, i) {
var r, a, s = 20, o = i ? function () {
return i.cur()
} : function () {
return k.css(e, t, "")
}, u = o(), d = n && n[3] || (k.cssNumber[t] ? "" : "px"),
l = e.nodeType && (k.cssNumber[t] || "px" !== d && +u) && ye.exec(k.css(e, t));
if (l && l[3] !== d) {
for (d = d || l[3], l = +(u /= 2) || 1; s--;) k.style(e, t, l + d), (1 - a) * (1 - (a = o() / u || .5)) <= 0 && (s = 0), l /= a;
k.style(e, t, (l *= 2) + d), n = n || []
}
return n && (l = +l || +u || 0, r = n[1] ? l + (n[1] + 1) * n[2] : +n[2], i && (i.unit = d, i.start = l, i.end = r)), r
}
var Me = {};
function T(e, t) {
for (var n, i, r, a, s, o = [], u = 0, d = e.length; u < d; u++) (i = e[u]).style && (n = i.style.display, t ? ("none" === n && (o[u] = M.get(i, "display") || null, o[u] || (i.style.display = "")), "" === i.style.display && pe(i) && (o[u] = (s = a = void 0, a = (r = i).ownerDocument, r = r.nodeName, (s = Me[r]) || (a = a.body.appendChild(a.createElement(r)), s = k.css(a, "display"), a.parentNode.removeChild(a), Me[r] = s = "none" === s ? "block" : s), s))) : "none" !== n && (o[u] = "none", M.set(i, "display", n)));
for (u = 0; u < d; u++) null != o[u] && (e[u].style.display = o[u]);
return e
}
k.fn.extend({
show: function () {
return T(this, !0)
}, hide: function () {
return T(this)
}, toggle: function (e) {
return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
pe(this) ? k(this).show() : k(this).hide()
})
}
});
var Le = /^(?:checkbox|radio)$/i, Se = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
ke = /^$|^module$|\/(?:java|ecma)script/i,
E = (R = S.createDocumentFragment().appendChild(S.createElement("div")), (s = S.createElement("input")).setAttribute("type", "radio"), s.setAttribute("checked", "checked"), s.setAttribute("name", "t"), R.appendChild(s), p.checkClone = R.cloneNode(!0).cloneNode(!0).lastChild.checked, R.innerHTML = "<textarea>x</textarea>", p.noCloneChecked = !!R.cloneNode(!0).lastChild.defaultValue, R.innerHTML = "<option></option>", p.option = !!R.lastChild, {
thead: [1, "<table>", "</table>"],
col: [2, "<table><colgroup>", "</colgroup></table>"],
tr: [2, "<table><tbody>", "</tbody></table>"],
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
_default: [0, "", ""]
});
function Y(e, t) {
var n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
return void 0 === t || t && u(e, t) ? k.merge([e], n) : n
}
function be(e, t) {
for (var n = 0, i = e.length; n < i; n++) M.set(e[n], "globalEval", !t || M.get(t[n], "globalEval"))
}
E.tbody = E.tfoot = E.colgroup = E.caption = E.thead, E.th = E.td, p.option || (E.optgroup = E.option = [1, "<select multiple='multiple'>", "</select>"]);
var we = /<|&#?\w+;/;
function De(e, t, n, i, r) {
for (var a, s, o, u, d, l = t.createDocumentFragment(), h = [], c = 0, _ = e.length; c < _; c++) if ((a = e[c]) || 0 === a) if ("object" === f(a)) k.merge(h, a.nodeType ? [a] : a); else if (we.test(a)) {
for (s = s || l.appendChild(t.createElement("div")), o = (Se.exec(a) || ["", ""])[1].toLowerCase(), o = E[o] || E._default, s.innerHTML = o[1] + k.htmlPrefilter(a) + o[2], d = o[0]; d--;) s = s.lastChild;
k.merge(h, s.childNodes), (s = l.firstChild).textContent = ""
} else h.push(t.createTextNode(a));
for (l.textContent = "", c = 0; a = h[c++];) if (i && -1 < k.inArray(a, i)) r && r.push(a); else if (u = D(a), s = Y(l.appendChild(a), "script"), u && be(s), n) for (d = 0; a = s[d++];) ke.test(a.type || "") && n.push(a);
return l
}
var Te = /^([^.]*)(?:\.(.+)|)/;
function n() {
return !0
}
function _() {
return !1
}
function Ee(e, t) {
return e === function () {
try {
return S.activeElement
} catch (e) {
}
}() == ("focus" === t)
}
function Ye(e, t, n, i, r, a) {
var s, o;
if ("object" == typeof t) {
for (o in "string" != typeof n && (i = i || n, n = void 0), t) Ye(e, o, n, i, t[o], a);
return e
}
if (null == i && null == r ? (r = n, i = n = void 0) : null == r && ("string" == typeof n ? (r = i, i = void 0) : (r = i, i = n, n = void 0)), !1 === r) r = _; else if (!r) return e;
return 1 === a && (s = r, (r = function (e) {
return k().off(e), s.apply(this, arguments)
}).guid = s.guid || (s.guid = k.guid++)), e.each(function () {
k.event.add(this, t, r, i, n)
})
}
function Pe(e, r, a) {
a ? (M.set(e, r, !1), k.event.add(e, r, {
namespace: !1, handler: function (e) {
var t, n, i = M.get(this, r);
if (1 & e.isTrigger && this[r]) {
if (i.length) (k.event.special[r] || {}).delegateType && e.stopPropagation(); else if (i = o.call(arguments), M.set(this, r, i), t = a(this, r), this[r](), i !== (n = M.get(this, r)) || t ? M.set(this, r, !1) : n = {}, i !== n) return e.stopImmediatePropagation(), e.preventDefault(), n && n.value
} else i.length && (M.set(this, r, {value: k.event.trigger(k.extend(i[0], k.Event.prototype), i.slice(1), this)}), e.stopImmediatePropagation())
}
})) : void 0 === M.get(e, r) && k.event.add(e, r, n)
}
k.event = {
global: {}, add: function (t, e, n, i, r) {
var a, s, o, u, d, l, h, c, _, f = M.get(t);
if (y(t)) for (n.handler && (n = (a = n).handler, r = a.selector), r && k.find.matchesSelector(w, r), n.guid || (n.guid = k.guid++), (o = f.events) || (o = f.events = Object.create(null)), (s = f.handle) || (s = f.handle = function (e) {
return void 0 !== k && k.event.triggered !== e.type ? k.event.dispatch.apply(t, arguments) : void 0
}), u = (e = (e || "").match(b) || [""]).length; u--;) h = _ = (c = Te.exec(e[u]) || [])[1], c = (c[2] || "").split(".").sort(), h && (d = k.event.special[h] || {}, h = (r ? d.delegateType : d.bindType) || h, d = k.event.special[h] || {}, _ = k.extend({
type: h,
origType: _,
data: i,
handler: n,
guid: n.guid,
selector: r,
needsContext: r && k.expr.match.needsContext.test(r),
namespace: c.join(".")
}, a), (l = o[h]) || ((l = o[h] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(t, i, c, s) || t.addEventListener && t.addEventListener(h, s)), d.add && (d.add.call(t, _), _.handler.guid || (_.handler.guid = n.guid)), r ? l.splice(l.delegateCount++, 0, _) : l.push(_), k.event.global[h] = !0)
}, remove: function (e, t, n, i, r) {
var a, s, o, u, d, l, h, c, _, f, m, p = M.hasData(e) && M.get(e);
if (p && (u = p.events)) {
for (d = (t = (t || "").match(b) || [""]).length; d--;) if (_ = m = (o = Te.exec(t[d]) || [])[1], f = (o[2] || "").split(".").sort(), _) {
for (h = k.event.special[_] || {}, c = u[_ = (i ? h.delegateType : h.bindType) || _] || [], o = o[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = a = c.length; a--;) l = c[a], !r && m !== l.origType || n && n.guid !== l.guid || o && !o.test(l.namespace) || i && i !== l.selector && ("**" !== i || !l.selector) || (c.splice(a, 1), l.selector && c.delegateCount--, h.remove && h.remove.call(e, l));
s && !c.length && (h.teardown && !1 !== h.teardown.call(e, f, p.handle) || k.removeEvent(e, _, p.handle), delete u[_])
} else for (_ in u) k.event.remove(e, _ + t[d], n, i, !0);
k.isEmptyObject(u) && M.remove(e, "handle events")
}
}, dispatch: function (e) {
var t, n, i, r, a, s = new Array(arguments.length), o = k.event.fix(e),
e = (M.get(this, "events") || Object.create(null))[o.type] || [],
u = k.event.special[o.type] || {};
for (s[0] = o, t = 1; t < arguments.length; t++) s[t] = arguments[t];
if (o.delegateTarget = this, !u.preDispatch || !1 !== u.preDispatch.call(this, o)) {
for (a = k.event.handlers.call(this, o, e), t = 0; (i = a[t++]) && !o.isPropagationStopped();) for (o.currentTarget = i.elem, n = 0; (r = i.handlers[n++]) && !o.isImmediatePropagationStopped();) o.rnamespace && !1 !== r.namespace && !o.rnamespace.test(r.namespace) || (o.handleObj = r, o.data = r.data, void 0 !== (r = ((k.event.special[r.origType] || {}).handle || r.handler).apply(i.elem, s)) && !1 === (o.result = r) && (o.preventDefault(), o.stopPropagation()));
return u.postDispatch && u.postDispatch.call(this, o), o.result
}
}, handlers: function (e, t) {
var n, i, r, a, s, o = [], u = t.delegateCount, d = e.target;
if (u && d.nodeType && !("click" === e.type && 1 <= e.button)) for (; d !== this; d = d.parentNode || this) if (1 === d.nodeType && ("click" !== e.type || !0 !== d.disabled)) {
for (a = [], s = {}, n = 0; n < u; n++) void 0 === s[r = (i = t[n]).selector + " "] && (s[r] = i.needsContext ? -1 < k(r, this).index(d) : k.find(r, this, null, [d]).length), s[r] && a.push(i);
a.length && o.push({elem: d, handlers: a})
}
return d = this, u < t.length && o.push({elem: d, handlers: t.slice(u)}), o
}, addProp: function (t, e) {
Object.defineProperty(k.Event.prototype, t, {
enumerable: !0,
configurable: !0,
get: v(e) ? function () {
if (this.originalEvent) return e(this.originalEvent)
} : function () {
if (this.originalEvent) return this.originalEvent[t]
},
set: function (e) {
Object.defineProperty(this, t, {enumerable: !0, configurable: !0, writable: !0, value: e})
}
})
}, fix: function (e) {
return e[k.expando] ? e : new k.Event(e)
}, special: {
load: {noBubble: !0}, click: {
setup: function (e) {
e = this || e;
return Le.test(e.type) && e.click && u(e, "input") && Pe(e, "click", n), !1
}, trigger: function (e) {
e = this || e;
return Le.test(e.type) && e.click && u(e, "input") && Pe(e, "click"), !0
}, _default: function (e) {
e = e.target;
return Le.test(e.type) && e.click && u(e, "input") && M.get(e, "click") || u(e, "a")
}
}, beforeunload: {
postDispatch: function (e) {
void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
}
}
}
}, k.removeEvent = function (e, t, n) {
e.removeEventListener && e.removeEventListener(t, n)
}, k.Event = function (e, t) {
if (!(this instanceof k.Event)) return new k.Event(e, t);
e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? n : _, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && k.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[k.expando] = !0
}, k.Event.prototype = {
constructor: k.Event,
isDefaultPrevented: _,
isPropagationStopped: _,
isImmediatePropagationStopped: _,
isSimulated: !1,
preventDefault: function () {
var e = this.originalEvent;
this.isDefaultPrevented = n, e && !this.isSimulated && e.preventDefault()
},
stopPropagation: function () {
var e = this.originalEvent;
this.isPropagationStopped = n, e && !this.isSimulated && e.stopPropagation()
},
stopImmediatePropagation: function () {
var e = this.originalEvent;
this.isImmediatePropagationStopped = n, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
}
}, k.each({
altKey: !0,
bubbles: !0,
cancelable: !0,
changedTouches: !0,
ctrlKey: !0,
detail: !0,
eventPhase: !0,
metaKey: !0,
pageX: !0,
pageY: !0,
shiftKey: !0,
view: !0,
char: !0,
code: !0,
charCode: !0,
key: !0,
keyCode: !0,
button: !0,
buttons: !0,
clientX: !0,
clientY: !0,
offsetX: !0,
offsetY: !0,
pointerId: !0,
pointerType: !0,
screenX: !0,
screenY: !0,
targetTouches: !0,
toElement: !0,
touches: !0,
which: !0
}, k.event.addProp), k.each({focus: "focusin", blur: "focusout"}, function (e, t) {
k.event.special[e] = {
setup: function () {
return Pe(this, e, Ee), !1
}, trigger: function () {
return Pe(this, e), !0
}, _default: function () {
return !0
}, delegateType: t
}
}), k.each({
mouseenter: "mouseover",
mouseleave: "mouseout",
pointerenter: "pointerover",
pointerleave: "pointerout"
}, function (e, r) {
k.event.special[e] = {
delegateType: r, bindType: r, handle: function (e) {
var t, n = e.relatedTarget, i = e.handleObj;
return n && (n === this || k.contains(this, n)) || (e.type = i.origType, t = i.handler.apply(this, arguments), e.type = r), t
}
}
}), k.fn.extend({
on: function (e, t, n, i) {
return Ye(this, e, t, n, i)
}, one: function (e, t, n, i) {
return Ye(this, e, t, n, i, 1)
}, off: function (e, t, n) {
var i, r;
if (e && e.preventDefault && e.handleObj) return i = e.handleObj, k(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
if ("object" != typeof e) return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = _), this.each(function () {
k.event.remove(this, e, n, t)
});
for (r in e) this.off(r, t, e[r]);
return this
}
});
var Ce = /<script|<style|<link/i, Re = /checked\s*(?:[^=]|=\s*.checked.)/i,
Ae = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
function xe(e, t) {
return u(e, "table") && u(11 !== t.nodeType ? t : t.firstChild, "tr") && k(e).children("tbody")[0] || e
}
function Oe(e) {
return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
}
function Ie(e) {
return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e
}
function We(e, t) {
var n, i, r, a;
if (1 === t.nodeType) {
if (M.hasData(e) && (a = M.get(e).events)) for (r in M.remove(t, "handle events"), a) for (n = 0, i = a[r].length; n < i; n++) k.event.add(t, r, a[r][n]);
d.hasData(e) && (e = d.access(e), e = k.extend({}, e), d.set(t, e))
}
}
function P(n, i, r, a) {
i = H(i);
var e, t, s, o, u, d, l = 0, h = n.length, c = h - 1, _ = i[0], f = v(_);
if (f || 1 < h && "string" == typeof _ && !p.checkClone && Re.test(_)) return n.each(function (e) {
var t = n.eq(e);
f && (i[0] = _.call(this, e, t.html())), P(t, i, r, a)
});
if (h && (t = (e = De(i, n[0].ownerDocument, !1, n, a)).firstChild, 1 === e.childNodes.length && (e = t), t || a)) {
for (o = (s = k.map(Y(e, "script"), Oe)).length; l < h; l++) u = e, l !== c && (u = k.clone(u, !0, !0), o && k.merge(s, Y(u, "script"))), r.call(n[l], u, l);
if (o) for (d = s[s.length - 1].ownerDocument, k.map(s, Ie), l = 0; l < o; l++) u = s[l], ke.test(u.type || "") && !M.access(u, "globalEval") && k.contains(d, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? k._evalUrl && !u.noModule && k._evalUrl(u.src, {nonce: u.nonce || u.getAttribute("nonce")}, d) : J(u.textContent.replace(Ae, ""), u, d))
}
return n
}
function He(e, t, n) {
for (var i, r = t ? k.filter(t, e) : e, a = 0; null != (i = r[a]); a++) n || 1 !== i.nodeType || k.cleanData(Y(i)), i.parentNode && (n && D(i) && be(Y(i, "script")), i.parentNode.removeChild(i));
return e
}
k.extend({
htmlPrefilter: function (e) {
return e
}, clone: function (e, t, n) {
var i, r, a, s, o, u, d, l = e.cloneNode(!0), h = D(e);
if (!(p.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || k.isXMLDoc(e))) for (s = Y(l), i = 0, r = (a = Y(e)).length; i < r; i++) o = a[i], u = s[i], d = void 0, "input" === (d = u.nodeName.toLowerCase()) && Le.test(o.type) ? u.checked = o.checked : "input" !== d && "textarea" !== d || (u.defaultValue = o.defaultValue);
if (t) if (n) for (a = a || Y(e), s = s || Y(l), i = 0, r = a.length; i < r; i++) We(a[i], s[i]); else We(e, l);
return 0 < (s = Y(l, "script")).length && be(s, !h && Y(e, "script")), l
}, cleanData: function (e) {
for (var t, n, i, r = k.event.special, a = 0; void 0 !== (n = e[a]); a++) if (y(n)) {
if (t = n[M.expando]) {
if (t.events) for (i in t.events) r[i] ? k.event.remove(n, i) : k.removeEvent(n, i, t.handle);
n[M.expando] = void 0
}
n[d.expando] && (n[d.expando] = void 0)
}
}
}), k.fn.extend({
detach: function (e) {
return He(this, e, !0)
}, remove: function (e) {
return He(this, e)
}, text: function (e) {
return h(this, function (e) {
return void 0 === e ? k.text(this) : this.empty().each(function () {
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
})
}, null, e, arguments.length)
}, append: function () {
return P(this, arguments, function (e) {
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || xe(this, e).appendChild(e)
})
}, prepend: function () {
return P(this, arguments, function (e) {
var t;
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (t = xe(this, e)).insertBefore(e, t.firstChild)
})
}, before: function () {
return P(this, arguments, function (e) {
this.parentNode && this.parentNode.insertBefore(e, this)
})
}, after: function () {
return P(this, arguments, function (e) {
this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
})
}, empty: function () {
for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (k.cleanData(Y(e, !1)), e.textContent = "");
return this
}, clone: function (e, t) {
return e = null != e && e, t = null == t ? e : t, this.map(function () {
return k.clone(this, e, t)
})
}, html: function (e) {
return h(this, function (e) {
var t = this[0] || {}, n = 0, i = this.length;
if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
if ("string" == typeof e && !Ce.test(e) && !E[(Se.exec(e) || ["", ""])[1].toLowerCase()]) {
e = k.htmlPrefilter(e);
try {
for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (k.cleanData(Y(t, !1)), t.innerHTML = e);
t = 0
} catch (e) {
}
}
t && this.empty().append(e)
}, null, e, arguments.length)
}, replaceWith: function () {
var n = [];
return P(this, arguments, function (e) {
var t = this.parentNode;
k.inArray(this, n) < 0 && (k.cleanData(Y(this)), t && t.replaceChild(e, this))
}, n)
}
}), k.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function (e, s) {
k.fn[e] = function (e) {
for (var t, n = [], i = k(e), r = i.length - 1, a = 0; a <= r; a++) t = a === r ? this : this.clone(!0), k(i[a])[s](t), j.apply(n, t.get());
return this.pushStack(n)
}
});
function je(e) {
var t = e.ownerDocument.defaultView;
return (t = t && t.opener ? t : L).getComputedStyle(e)
}
function Fe(e, t, n) {
var i, r = {};
for (i in t) r[i] = e.style[i], e.style[i] = t[i];
for (i in n = n.call(e), t) e.style[i] = r[i];
return n
}
var Be, Ne, ze, Ue, Ve, Ge, Je, r, qe = new RegExp("^(" + e + ")(?!px)[a-z%]+$", "i"),
Ke = new RegExp(c.join("|"), "i");
function Xe() {
var e;
r && (Je.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", r.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", w.appendChild(Je).appendChild(r), e = L.getComputedStyle(r), Be = "1%" !== e.top, Ge = 12 === Ze(e.marginLeft), r.style.right = "60%", Ue = 36 === Ze(e.right), Ne = 36 === Ze(e.width), r.style.position = "absolute", ze = 12 === Ze(r.offsetWidth / 3), w.removeChild(Je), r = null)
}
function Ze(e) {
return Math.round(parseFloat(e))
}
function $e(e, t, n) {
var i, r, a = e.style;
return (n = n || je(e)) && ("" !== (r = n.getPropertyValue(t) || n[t]) || D(e) || (r = k.style(e, t)), !p.pixelBoxStyles() && qe.test(r) && Ke.test(t) && (e = a.width, t = a.minWidth, i = a.maxWidth, a.minWidth = a.maxWidth = a.width = r, r = n.width, a.width = e, a.minWidth = t, a.maxWidth = i)), void 0 !== r ? r + "" : r
}
function Qe(e, t) {
return {
get: function () {
if (!e()) return (this.get = t).apply(this, arguments);
delete this.get
}
}
}
Je = S.createElement("div"), (r = S.createElement("div")).style && (r.style.backgroundClip = "content-box", r.cloneNode(!0).style.backgroundClip = "", p.clearCloneStyle = "content-box" === r.style.backgroundClip, k.extend(p, {
boxSizingReliable: function () {
return Xe(), Ne
}, pixelBoxStyles: function () {
return Xe(), Ue
}, pixelPosition: function () {
return Xe(), Be
}, reliableMarginLeft: function () {
return Xe(), Ge
}, scrollboxSize: function () {
return Xe(), ze
}, reliableTrDimensions: function () {
var e, t, n;
return null == Ve && (e = S.createElement("table"), t = S.createElement("tr"), n = S.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", w.appendChild(e).appendChild(t).appendChild(n), n = L.getComputedStyle(t), Ve = parseInt(n.height, 10) + parseInt(n.borderTopWidth, 10) + parseInt(n.borderBottomWidth, 10) === t.offsetHeight, w.removeChild(e)), Ve
}
}));
var et = ["Webkit", "Moz", "ms"], tt = S.createElement("div").style, nt = {};
function it(e) {
var t = k.cssProps[e] || nt[e];
return t || (e in tt ? e : nt[e] = function (e) {
for (var t = e[0].toUpperCase() + e.slice(1), n = et.length; n--;) if ((e = et[n] + t) in tt) return e
}(e) || e)
}
var rt = /^(none|table(?!-c[ea]).+)/, at = /^--/,
st = {position: "absolute", visibility: "hidden", display: "block"},
ot = {letterSpacing: "0", fontWeight: "400"};
function ut(e, t, n) {
var i = ye.exec(t);
return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t
}
function dt(e, t, n, i, r, a) {
var s = "width" === t ? 1 : 0, o = 0, u = 0;
if (n === (i ? "border" : "content")) return 0;
for (; s < 4; s += 2) "margin" === n && (u += k.css(e, n + c[s], !0, r)), i ? ("content" === n && (u -= k.css(e, "padding" + c[s], !0, r)), "margin" !== n && (u -= k.css(e, "border" + c[s] + "Width", !0, r))) : (u += k.css(e, "padding" + c[s], !0, r), "padding" !== n ? u += k.css(e, "border" + c[s] + "Width", !0, r) : o += k.css(e, "border" + c[s] + "Width", !0, r));
return !i && 0 <= a && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - a - u - o - .5)) || 0), u
}
function lt(e, t, n) {
var i = je(e), r = (!p.boxSizingReliable() || n) && "border-box" === k.css(e, "boxSizing", !1, i),
a = r, s = $e(e, t, i), o = "offset" + t[0].toUpperCase() + t.slice(1);
if (qe.test(s)) {
if (!n) return s;
s = "auto"
}
return (!p.boxSizingReliable() && r || !p.reliableTrDimensions() && u(e, "tr") || "auto" === s || !parseFloat(s) && "inline" === k.css(e, "display", !1, i)) && e.getClientRects().length && (r = "border-box" === k.css(e, "boxSizing", !1, i), (a = o in e) && (s = e[o])), (s = parseFloat(s) || 0) + dt(e, t, n || (r ? "border" : "content"), a, i, s) + "px"
}
function a(e, t, n, i, r) {
return new a.prototype.init(e, t, n, i, r)
}
k.extend({
cssHooks: {
opacity: {
get: function (e, t) {
if (t) return "" === (t = $e(e, "opacity")) ? "1" : t
}
}
},
cssNumber: {
animationIterationCount: !0,
columnCount: !0,
fillOpacity: !0,
flexGrow: !0,
flexShrink: !0,
fontWeight: !0,
gridArea: !0,
gridColumn: !0,
gridColumnEnd: !0,
gridColumnStart: !0,
gridRow: !0,
gridRowEnd: !0,
gridRowStart: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {},
style: function (e, t, n, i) {
if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
var r, a, s, o = g(t), u = at.test(t), d = e.style;
if (u || (t = it(o)), s = k.cssHooks[t] || k.cssHooks[o], void 0 === n) return s && "get" in s && void 0 !== (r = s.get(e, !1, i)) ? r : d[t];
"string" === (a = typeof n) && (r = ye.exec(n)) && r[1] && (n = ge(e, t, r), a = "number"), null != n && n == n && ("number" !== a || u || (n += r && r[3] || (k.cssNumber[o] ? "" : "px")), p.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (d[t] = "inherit"), s && "set" in s && void 0 === (n = s.set(e, n, i)) || (u ? d.setProperty(t, n) : d[t] = n))
}
},
css: function (e, t, n, i) {
var r, a = g(t);
return at.test(t) || (t = it(a)), "normal" === (r = void 0 === (r = (a = k.cssHooks[t] || k.cssHooks[a]) && "get" in a ? a.get(e, !0, n) : r) ? $e(e, t, i) : r) && t in ot && (r = ot[t]), "" === n || n ? (a = parseFloat(r), !0 === n || isFinite(a) ? a || 0 : r) : r
}
}), k.each(["height", "width"], function (e, s) {
k.cssHooks[s] = {
get: function (e, t, n) {
if (t) return !rt.test(k.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? lt(e, s, n) : Fe(e, st, function () {
return lt(e, s, n)
})
}, set: function (e, t, n) {
var i = je(e), r = !p.scrollboxSize() && "absolute" === i.position,
a = (r || n) && "border-box" === k.css(e, "boxSizing", !1, i),
n = n ? dt(e, s, n, a, i) : 0;
return a && r && (n -= Math.ceil(e["offset" + s[0].toUpperCase() + s.slice(1)] - parseFloat(i[s]) - dt(e, s, "border", !1, i) - .5)), n && (a = ye.exec(t)) && "px" !== (a[3] || "px") && (e.style[s] = t, t = k.css(e, s)), ut(0, t, n)
}
}
}), k.cssHooks.marginLeft = Qe(p.reliableMarginLeft, function (e, t) {
if (t) return (parseFloat($e(e, "marginLeft")) || e.getBoundingClientRect().left - Fe(e, {marginLeft: 0}, function () {
return e.getBoundingClientRect().left
})) + "px"
}), k.each({margin: "", padding: "", border: "Width"}, function (r, a) {
k.cssHooks[r + a] = {
expand: function (e) {
for (var t = 0, n = {}, i = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[r + c[t] + a] = i[t] || i[t - 2] || i[0];
return n
}
}, "margin" !== r && (k.cssHooks[r + a].set = ut)
}), k.fn.extend({
css: function (e, t) {
return h(this, function (e, t, n) {
var i, r, a = {}, s = 0;
if (Array.isArray(t)) {
for (i = je(e), r = t.length; s < r; s++) a[t[s]] = k.css(e, t[s], !1, i);
return a
}
return void 0 !== n ? k.style(e, t, n) : k.css(e, t)
}, e, t, 1 < arguments.length)
}
}), ((k.Tween = a).prototype = {
constructor: a, init: function (e, t, n, i, r, a) {
this.elem = e, this.prop = n, this.easing = r || k.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = a || (k.cssNumber[n] ? "" : "px")
}, cur: function () {
var e = a.propHooks[this.prop];
return (e && e.get ? e : a.propHooks._default).get(this)
}, run: function (e) {
var t, n = a.propHooks[this.prop];
return this.options.duration ? this.pos = t = k.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), (n && n.set ? n : a.propHooks._default).set(this), this
}
}).init.prototype = a.prototype, (a.propHooks = {
_default: {
get: function (e) {
return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (e = k.css(e.elem, e.prop, "")) && "auto" !== e ? e : 0
}, set: function (e) {
k.fx.step[e.prop] ? k.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !k.cssHooks[e.prop] && null == e.elem.style[it(e.prop)] ? e.elem[e.prop] = e.now : k.style(e.elem, e.prop, e.now + e.unit)
}
}
}).scrollTop = a.propHooks.scrollLeft = {
set: function (e) {
e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
}
}, k.easing = {
linear: function (e) {
return e
}, swing: function (e) {
return .5 - Math.cos(e * Math.PI) / 2
}, _default: "swing"
}, k.fx = a.prototype.init, k.fx.step = {};
var C, ht, s, R, ct = /^(?:toggle|show|hide)$/, _t = /queueHooks$/;
function ft() {
ht && (!1 === S.hidden && L.requestAnimationFrame ? L.requestAnimationFrame(ft) : L.setTimeout(ft, k.fx.interval), k.fx.tick())
}
function mt() {
return L.setTimeout(function () {
C = void 0
}), C = Date.now()
}
function pt(e, t) {
var n, i = 0, r = {height: e};
for (t = t ? 1 : 0; i < 4; i += 2 - t) r["margin" + (n = c[i])] = r["padding" + n] = e;
return t && (r.opacity = r.width = e), r
}
function yt(e, t, n) {
for (var i, r = (A.tweeners[t] || []).concat(A.tweeners["*"]), a = 0, s = r.length; a < s; a++) if (i = r[a].call(n, t, e)) return i
}
function A(r, e, t) {
var n, a, i, s, o, u, d, l = 0, h = A.prefilters.length, c = k.Deferred().always(function () {
delete _.elem
}), _ = function () {
if (!a) {
for (var e = C || mt(), e = Math.max(0, f.startTime + f.duration - e), t = 1 - (e / f.duration || 0), n = 0, i = f.tweens.length; n < i; n++) f.tweens[n].run(t);
if (c.notifyWith(r, [f, t, e]), t < 1 && i) return e;
i || c.notifyWith(r, [f, 1, 0]), c.resolveWith(r, [f])
}
return !1
}, f = c.promise({
elem: r,
props: k.extend({}, e),
opts: k.extend(!0, {specialEasing: {}, easing: k.easing._default}, t),
originalProperties: e,
originalOptions: t,
startTime: C || mt(),
duration: t.duration,
tweens: [],
createTween: function (e, t) {
t = k.Tween(r, f.opts, e, t, f.opts.specialEasing[e] || f.opts.easing);
return f.tweens.push(t), t
},
stop: function (e) {
var t = 0, n = e ? f.tweens.length : 0;
if (!a) {
for (a = !0; t < n; t++) f.tweens[t].run(1);
e ? (c.notifyWith(r, [f, 1, 0]), c.resolveWith(r, [f, e])) : c.rejectWith(r, [f, e])
}
return this
}
}), m = f.props, p = m, y = f.opts.specialEasing;
for (i in p) if (o = y[s = g(i)], u = p[i], Array.isArray(u) && (o = u[1], u = p[i] = u[0]), i !== s && (p[s] = u, delete p[i]), (d = k.cssHooks[s]) && "expand" in d) for (i in u = d.expand(u), delete p[s], u) i in p || (p[i] = u[i], y[i] = o); else y[s] = o;
for (; l < h; l++) if (n = A.prefilters[l].call(f, r, m, f.opts)) return v(n.stop) && (k._queueHooks(f.elem, f.opts.queue).stop = n.stop.bind(n)), n;
return k.map(m, yt, f), v(f.opts.start) && f.opts.start.call(r, f), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always), k.fx.timer(k.extend(_, {
elem: r,
anim: f,
queue: f.opts.queue
})), f
}
k.Animation = k.extend(A, {
tweeners: {
"*": [function (e, t) {
var n = this.createTween(e, t);
return ge(n.elem, e, ye.exec(t), n), n
}]
}, tweener: function (e, t) {
for (var n, i = 0, r = (e = v(e) ? (t = e, ["*"]) : e.match(b)).length; i < r; i++) n = e[i], A.tweeners[n] = A.tweeners[n] || [], A.tweeners[n].unshift(t)
}, prefilters: [function (e, t, n) {
var i, r, a, s, o, u, d, l = "width" in t || "height" in t, h = this, c = {}, _ = e.style,
f = e.nodeType && pe(e), m = M.get(e, "fxshow");
for (i in n.queue || (null == (s = k._queueHooks(e, "fx")).unqueued && (s.unqueued = 0, o = s.empty.fire, s.empty.fire = function () {
s.unqueued || o()
}), s.unqueued++, h.always(function () {
h.always(function () {
s.unqueued--, k.queue(e, "fx").length || s.empty.fire()
})
})), t) if (r = t[i], ct.test(r)) {
if (delete t[i], a = a || "toggle" === r, r === (f ? "hide" : "show")) {
if ("show" !== r || !m || void 0 === m[i]) continue;
f = !0
}
c[i] = m && m[i] || k.style(e, i)
}
if ((u = !k.isEmptyObject(t)) || !k.isEmptyObject(c)) for (i in l && 1 === e.nodeType && (n.overflow = [_.overflow, _.overflowX, _.overflowY], null == (d = m && m.display) && (d = M.get(e, "display")), "none" === (l = k.css(e, "display")) && (d ? l = d : (T([e], !0), d = e.style.display || d, l = k.css(e, "display"), T([e]))), ("inline" === l || "inline-block" === l && null != d) && "none" === k.css(e, "float") && (u || (h.done(function () {
_.display = d
}), null == d && (l = _.display, d = "none" === l ? "" : l)), _.display = "inline-block")), n.overflow && (_.overflow = "hidden", h.always(function () {
_.overflow = n.overflow[0], _.overflowX = n.overflow[1], _.overflowY = n.overflow[2]
})), u = !1, c) u || (m ? "hidden" in m && (f = m.hidden) : m = M.access(e, "fxshow", {display: d}), a && (m.hidden = !f), f && T([e], !0), h.done(function () {
for (i in f || T([e]), M.remove(e, "fxshow"), c) k.style(e, i, c[i])
})), u = yt(f ? m[i] : 0, i, h), i in m || (m[i] = u.start, f && (u.end = u.start, u.start = 0))
}], prefilter: function (e, t) {
t ? A.prefilters.unshift(e) : A.prefilters.push(e)
}
}), k.speed = function (e, t, n) {
var i = e && "object" == typeof e ? k.extend({}, e) : {
complete: n || !n && t || v(e) && e,
duration: e,
easing: n && t || t && !v(t) && t
};
return k.fx.off ? i.duration = 0 : "number" != typeof i.duration && (i.duration in k.fx.speeds ? i.duration = k.fx.speeds[i.duration] : i.duration = k.fx.speeds._default), null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function () {
v(i.old) && i.old.call(this), i.queue && k.dequeue(this, i.queue)
}, i
}, k.fn.extend({
fadeTo: function (e, t, n, i) {
return this.filter(pe).css("opacity", 0).show().end().animate({opacity: t}, e, n, i)
}, animate: function (t, e, n, i) {
function r() {
var e = A(this, k.extend({}, t), s);
(a || M.get(this, "finish")) && e.stop(!0)
}
var a = k.isEmptyObject(t), s = k.speed(e, n, i);
return r.finish = r, a || !1 === s.queue ? this.each(r) : this.queue(s.queue, r)
}, stop: function (r, e, a) {
function s(e) {
var t = e.stop;
delete e.stop, t(a)
}
return "string" != typeof r && (a = e, e = r, r = void 0), e && this.queue(r || "fx", []), this.each(function () {
var e = !0, t = null != r && r + "queueHooks", n = k.timers, i = M.get(this);
if (t) i[t] && i[t].stop && s(i[t]); else for (t in i) i[t] && i[t].stop && _t.test(t) && s(i[t]);
for (t = n.length; t--;) n[t].elem !== this || null != r && n[t].queue !== r || (n[t].anim.stop(a), e = !1, n.splice(t, 1));
!e && a || k.dequeue(this, r)
})
}, finish: function (s) {
return !1 !== s && (s = s || "fx"), this.each(function () {
var e, t = M.get(this), n = t[s + "queue"], i = t[s + "queueHooks"], r = k.timers,
a = n ? n.length : 0;
for (t.finish = !0, k.queue(this, s, []), i && i.stop && i.stop.call(this, !0), e = r.length; e--;) r[e].elem === this && r[e].queue === s && (r[e].anim.stop(!0), r.splice(e, 1));
for (e = 0; e < a; e++) n[e] && n[e].finish && n[e].finish.call(this);
delete t.finish
})
}
}), k.each(["toggle", "show", "hide"], function (e, i) {
var r = k.fn[i];
k.fn[i] = function (e, t, n) {
return null == e || "boolean" == typeof e ? r.apply(this, arguments) : this.animate(pt(i, !0), e, t, n)
}
}), k.each({
slideDown: pt("show"),
slideUp: pt("hide"),
slideToggle: pt("toggle"),
fadeIn: {opacity: "show"},
fadeOut: {opacity: "hide"},
fadeToggle: {opacity: "toggle"}
}, function (e, i) {
k.fn[e] = function (e, t, n) {
return this.animate(i, e, t, n)
}
}), k.timers = [], k.fx.tick = function () {
var e, t = 0, n = k.timers;
for (C = Date.now(); t < n.length; t++) (e = n[t])() || n[t] !== e || n.splice(t--, 1);
n.length || k.fx.stop(), C = void 0
}, k.fx.timer = function (e) {
k.timers.push(e), k.fx.start()
}, k.fx.interval = 13, k.fx.start = function () {
ht || (ht = !0, ft())
}, k.fx.stop = function () {
ht = null
}, k.fx.speeds = {slow: 600, fast: 200, _default: 400}, k.fn.delay = function (i, e) {
return i = k.fx && k.fx.speeds[i] || i, this.queue(e = e || "fx", function (e, t) {
var n = L.setTimeout(e, i);
t.stop = function () {
L.clearTimeout(n)
}
})
}, s = S.createElement("input"), R = S.createElement("select").appendChild(S.createElement("option")), s.type = "checkbox", p.checkOn = "" !== s.value, p.optSelected = R.selected, (s = S.createElement("input")).value = "t", s.type = "radio", p.radioValue = "t" === s.value;
var vt, gt = k.expr.attrHandle, Mt = (k.fn.extend({
attr: function (e, t) {
return h(this, k.attr, e, t, 1 < arguments.length)
}, removeAttr: function (e) {
return this.each(function () {
k.removeAttr(this, e)
})
}
}), k.extend({
attr: function (e, t, n) {
var i, r, a = e.nodeType;
if (3 !== a && 8 !== a && 2 !== a) return void 0 === e.getAttribute ? k.prop(e, t, n) : (1 === a && k.isXMLDoc(e) || (r = k.attrHooks[t.toLowerCase()] || (k.expr.match.bool.test(t) ? vt : void 0)), void 0 !== n ? null === n ? void k.removeAttr(e, t) : r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : !(r && "get" in r && null !== (i = r.get(e, t))) && null == (i = k.find.attr(e, t)) ? void 0 : i)
}, attrHooks: {
type: {
set: function (e, t) {
var n;
if (!p.radioValue && "radio" === t && u(e, "input")) return n = e.value, e.setAttribute("type", t), n && (e.value = n), t
}
}
}, removeAttr: function (e, t) {
var n, i = 0, r = t && t.match(b);
if (r && 1 === e.nodeType) for (; n = r[i++];) e.removeAttribute(n)
}
}), vt = {
set: function (e, t, n) {
return !1 === t ? k.removeAttr(e, n) : e.setAttribute(n, n), n
}
}, k.each(k.expr.match.bool.source.match(/\w+/g), function (e, t) {
var s = gt[t] || k.find.attr;
gt[t] = function (e, t, n) {
var i, r, a = t.toLowerCase();
return n || (r = gt[a], gt[a] = i, i = null != s(e, t, n) ? a : null, gt[a] = r), i
}
}), /^(?:input|select|textarea|button)$/i), Lt = /^(?:a|area)$/i;
function x(e) {
return (e.match(b) || []).join(" ")
}
function O(e) {
return e.getAttribute && e.getAttribute("class") || ""
}
function St(e) {
return Array.isArray(e) ? e : "string" == typeof e && e.match(b) || []
}
k.fn.extend({
prop: function (e, t) {
return h(this, k.prop, e, t, 1 < arguments.length)
}, removeProp: function (e) {
return this.each(function () {
delete this[k.propFix[e] || e]
})
}
}), k.extend({
prop: function (e, t, n) {
var i, r, a = e.nodeType;
if (3 !== a && 8 !== a && 2 !== a) return 1 === a && k.isXMLDoc(e) || (t = k.propFix[t] || t, r = k.propHooks[t]), void 0 !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : e[t] = n : r && "get" in r && null !== (i = r.get(e, t)) ? i : e[t]
}, propHooks: {
tabIndex: {
get: function (e) {
var t = k.find.attr(e, "tabindex");
return t ? parseInt(t, 10) : Mt.test(e.nodeName) || Lt.test(e.nodeName) && e.href ? 0 : -1
}
}
}, propFix: {for: "htmlFor", class: "className"}
}), p.optSelected || (k.propHooks.selected = {
get: function (e) {
e = e.parentNode;
return e && e.parentNode && e.parentNode.selectedIndex, null
}, set: function (e) {
e = e.parentNode;
e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex)
}
}), k.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
k.propFix[this.toLowerCase()] = this
}), k.fn.extend({
addClass: function (t) {
var e, n, i, r, a, s, o = 0;
if (v(t)) return this.each(function (e) {
k(this).addClass(t.call(this, e, O(this)))
});
if ((e = St(t)).length) for (; n = this[o++];) if (s = O(n), i = 1 === n.nodeType && " " + x(s) + " ") {
for (a = 0; r = e[a++];) i.indexOf(" " + r + " ") < 0 && (i += r + " ");
s !== (s = x(i)) && n.setAttribute("class", s)
}
return this
}, removeClass: function (t) {
var e, n, i, r, a, s, o = 0;
if (v(t)) return this.each(function (e) {
k(this).removeClass(t.call(this, e, O(this)))
});
if (!arguments.length) return this.attr("class", "");
if ((e = St(t)).length) for (; n = this[o++];) if (s = O(n), i = 1 === n.nodeType && " " + x(s) + " ") {
for (a = 0; r = e[a++];) for (; -1 < i.indexOf(" " + r + " ");) i = i.replace(" " + r + " ", " ");
s !== (s = x(i)) && n.setAttribute("class", s)
}
return this
}, toggleClass: function (r, t) {
var a = typeof r, s = "string" == a || Array.isArray(r);
return "boolean" == typeof t && s ? t ? this.addClass(r) : this.removeClass(r) : v(r) ? this.each(function (e) {
k(this).toggleClass(r.call(this, e, O(this), t), t)
}) : this.each(function () {
var e, t, n, i;
if (s) for (t = 0, n = k(this), i = St(r); e = i[t++];) n.hasClass(e) ? n.removeClass(e) : n.addClass(e); else void 0 !== r && "boolean" != a || ((e = O(this)) && M.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", !e && !1 !== r && M.get(this, "__className__") || ""))
})
}, hasClass: function (e) {
for (var t, n = 0, i = " " + e + " "; t = this[n++];) if (1 === t.nodeType && -1 < (" " + x(O(t)) + " ").indexOf(i)) return !0;
return !1
}
});
function kt(e) {
e.stopPropagation()
}
var bt = /\r/g, wt = (k.fn.extend({
val: function (t) {
var n, e, i, r = this[0];
return arguments.length ? (i = v(t), this.each(function (e) {
1 === this.nodeType && (null == (e = i ? t.call(this, e, k(this).val()) : t) ? e = "" : "number" == typeof e ? e += "" : Array.isArray(e) && (e = k.map(e, function (e) {
return null == e ? "" : e + ""
})), (n = k.valHooks[this.type] || k.valHooks[this.nodeName.toLowerCase()]) && "set" in n && void 0 !== n.set(this, e, "value") || (this.value = e))
})) : r ? (n = k.valHooks[r.type] || k.valHooks[r.nodeName.toLowerCase()]) && "get" in n && void 0 !== (e = n.get(r, "value")) ? e : "string" == typeof (e = r.value) ? e.replace(bt, "") : null == e ? "" : e : void 0
}
}), k.extend({
valHooks: {
option: {
get: function (e) {
var t = k.find.attr(e, "value");
return null != t ? t : x(k.text(e))
}
}, select: {
get: function (e) {
for (var t, n = e.options, i = e.selectedIndex, r = "select-one" === e.type, a = r ? null : [], s = r ? i + 1 : n.length, o = i < 0 ? s : r ? i : 0; o < s; o++) if (((t = n[o]).selected || o === i) && !t.disabled && (!t.parentNode.disabled || !u(t.parentNode, "optgroup"))) {
if (t = k(t).val(), r) return t;
a.push(t)
}
return a
}, set: function (e, t) {
for (var n, i, r = e.options, a = k.makeArray(t), s = r.length; s--;) ((i = r[s]).selected = -1 < k.inArray(k.valHooks.option.get(i), a)) && (n = !0);
return n || (e.selectedIndex = -1), a
}
}
}
}), k.each(["radio", "checkbox"], function () {
k.valHooks[this] = {
set: function (e, t) {
if (Array.isArray(t)) return e.checked = -1 < k.inArray(k(e).val(), t)
}
}, p.checkOn || (k.valHooks[this].get = function (e) {
return null === e.getAttribute("value") ? "on" : e.value
})
}), p.focusin = "onfocusin" in L, /^(?:focusinfocus|focusoutblur)$/), Dt = (k.extend(k.event, {
trigger: function (e, t, n, i) {
var r, a, s, o, u, d, l, h = [n || S], c = z.call(e, "type") ? e.type : e,
_ = z.call(e, "namespace") ? e.namespace.split(".") : [], f = l = a = n = n || S;
if (3 !== n.nodeType && 8 !== n.nodeType && !wt.test(c + k.event.triggered) && (-1 < c.indexOf(".") && (c = (_ = c.split(".")).shift(), _.sort()), o = c.indexOf(":") < 0 && "on" + c, (e = e[k.expando] ? e : new k.Event(c, "object" == typeof e && e)).isTrigger = i ? 2 : 3, e.namespace = _.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + _.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : k.makeArray(t, [e]), d = k.event.special[c] || {}, i || !d.trigger || !1 !== d.trigger.apply(n, t))) {
if (!i && !d.noBubble && !m(n)) {
for (s = d.delegateType || c, wt.test(s + c) || (f = f.parentNode); f; f = f.parentNode) h.push(f), a = f;
a === (n.ownerDocument || S) && h.push(a.defaultView || a.parentWindow || L)
}
for (r = 0; (f = h[r++]) && !e.isPropagationStopped();) l = f, e.type = 1 < r ? s : d.bindType || c, (u = (M.get(f, "events") || Object.create(null))[e.type] && M.get(f, "handle")) && u.apply(f, t), (u = o && f[o]) && u.apply && y(f) && (e.result = u.apply(f, t), !1 === e.result && e.preventDefault());
return e.type = c, i || e.isDefaultPrevented() || d._default && !1 !== d._default.apply(h.pop(), t) || !y(n) || o && v(n[c]) && !m(n) && ((a = n[o]) && (n[o] = null), k.event.triggered = c, e.isPropagationStopped() && l.addEventListener(c, kt), n[c](), e.isPropagationStopped() && l.removeEventListener(c, kt), k.event.triggered = void 0, a && (n[o] = a)), e.result
}
}, simulate: function (e, t, n) {
n = k.extend(new k.Event, n, {type: e, isSimulated: !0});
k.event.trigger(n, null, t)
}
}), k.fn.extend({
trigger: function (e, t) {
return this.each(function () {
k.event.trigger(e, t, this)
})
}, triggerHandler: function (e, t) {
var n = this[0];
if (n) return k.event.trigger(e, t, n, !0)
}
}), p.focusin || k.each({focus: "focusin", blur: "focusout"}, function (n, i) {
function r(e) {
k.event.simulate(i, e.target, k.event.fix(e))
}
k.event.special[i] = {
setup: function () {
var e = this.ownerDocument || this.document || this, t = M.access(e, i);
t || e.addEventListener(n, r, !0), M.access(e, i, (t || 0) + 1)
}, teardown: function () {
var e = this.ownerDocument || this.document || this, t = M.access(e, i) - 1;
t ? M.access(e, i, t) : (e.removeEventListener(n, r, !0), M.remove(e, i))
}
}
}), L.location), Tt = {guid: Date.now()}, Et = /\?/, Yt = (k.parseXML = function (e) {
var t, n;
if (!e || "string" != typeof e) return null;
try {
t = (new L.DOMParser).parseFromString(e, "text/xml")
} catch (e) {
}
return n = t && t.getElementsByTagName("parsererror")[0], t && !n || k.error("Invalid XML: " + (n ? k.map(n.childNodes, function (e) {
return e.textContent
}).join("\n") : e)), t
}, /\[\]$/), Pt = /\r?\n/g, Ct = /^(?:submit|button|image|reset|file)$/i,
Rt = /^(?:input|select|textarea|keygen)/i;
k.param = function (e, t) {
function n(e, t) {
t = v(t) ? t() : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == t ? "" : t)
}
var i, r = [];
if (null == e) return "";
if (Array.isArray(e) || e.jquery && !k.isPlainObject(e)) k.each(e, function () {
n(this.name, this.value)
}); else for (i in e) !function n(i, e, r, a) {
if (Array.isArray(e)) k.each(e, function (e, t) {
r || Yt.test(i) ? a(i, t) : n(i + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, a)
}); else if (r || "object" !== f(e)) a(i, e); else for (var t in e) n(i + "[" + t + "]", e[t], r, a)
}(i, e[i], t, n);
return r.join("&")
}, k.fn.extend({
serialize: function () {
return k.param(this.serializeArray())
}, serializeArray: function () {
return this.map(function () {
var e = k.prop(this, "elements");
return e ? k.makeArray(e) : this
}).filter(function () {
var e = this.type;
return this.name && !k(this).is(":disabled") && Rt.test(this.nodeName) && !Ct.test(e) && (this.checked || !Le.test(e))
}).map(function (e, t) {
var n = k(this).val();
return null == n ? null : Array.isArray(n) ? k.map(n, function (e) {
return {name: t.name, value: e.replace(Pt, "\r\n")}
}) : {name: t.name, value: n.replace(Pt, "\r\n")}
}).get()
}
});
var At = /%20/g, xt = /#.*$/, Ot = /([?&])_=[^&]*/, It = /^(.*?):[ \t]*([^\r\n]*)$/gm,
Wt = /^(?:GET|HEAD)$/, Ht = /^\/\//, jt = {}, Ft = {}, Bt = "*/".concat("*"), Nt = S.createElement("a");
function zt(a) {
return function (e, t) {
"string" != typeof e && (t = e, e = "*");
var n, i = 0, r = e.toLowerCase().match(b) || [];
if (v(t)) for (; n = r[i++];) "+" === n[0] ? (n = n.slice(1) || "*", (a[n] = a[n] || []).unshift(t)) : (a[n] = a[n] || []).push(t)
}
}
function Ut(t, i, r, a) {
var s = {}, o = t === Ft;
function u(e) {
var n;
return s[e] = !0, k.each(t[e] || [], function (e, t) {
t = t(i, r, a);
return "string" != typeof t || o || s[t] ? o ? !(n = t) : void 0 : (i.dataTypes.unshift(t), u(t), !1)
}), n
}
return u(i.dataTypes[0]) || !s["*"] && u("*")
}
function Vt(e, t) {
var n, i, r = k.ajaxSettings.flatOptions || {};
for (n in t) void 0 !== t[n] && ((r[n] ? e : i = i || {})[n] = t[n]);
return i && k.extend(!0, e, i), e
}
Nt.href = Dt.href, k.extend({
active: 0,
lastModified: {},
etag: {},
ajaxSettings: {
url: Dt.href,
type: "GET",
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Dt.protocol),
global: !0,
processData: !0,
async: !0,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
accepts: {
"*": Bt,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/},
responseFields: {xml: "responseXML", text: "responseText", json: "responseJSON"},
converters: {"* text": String, "text html": !0, "text json": JSON.parse, "text xml": k.parseXML},
flatOptions: {url: !0, context: !0}
},
ajaxSetup: function (e, t) {
return t ? Vt(Vt(e, k.ajaxSettings), t) : Vt(k.ajaxSettings, e)
},
ajaxPrefilter: zt(jt),
ajaxTransport: zt(Ft),
ajax: function (e, t) {
"object" == typeof e && (t = e, e = void 0);
var u, d, l, n, h, c, _, i, f = k.ajaxSetup({}, t = t || {}), m = f.context || f,
p = f.context && (m.nodeType || m.jquery) ? k(m) : k.event, y = k.Deferred(),
v = k.Callbacks("once memory"), g = f.statusCode || {}, r = {}, a = {}, s = "canceled", M = {
readyState: 0, getResponseHeader: function (e) {
var t;
if (c) {
if (!n) for (n = {}; t = It.exec(l);) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]);
t = n[e.toLowerCase() + " "]
}
return null == t ? null : t.join(", ")
}, getAllResponseHeaders: function () {
return c ? l : null
}, setRequestHeader: function (e, t) {
return null == c && (e = a[e.toLowerCase()] = a[e.toLowerCase()] || e, r[e] = t), this
}, overrideMimeType: function (e) {
return null == c && (f.mimeType = e), this
}, statusCode: function (e) {
if (e) if (c) M.always(e[M.status]); else for (var t in e) g[t] = [g[t], e[t]];
return this
}, abort: function (e) {
e = e || s;
return u && u.abort(e), o(0, e), this
}
};
if (y.promise(M), f.url = ((e || f.url || Dt.href) + "").replace(Ht, Dt.protocol + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = (f.dataType || "*").toLowerCase().match(b) || [""], null == f.crossDomain) {
e = S.createElement("a");
try {
e.href = f.url, e.href = e.href, f.crossDomain = Nt.protocol + "//" + Nt.host != e.protocol + "//" + e.host
} catch (e) {
f.crossDomain = !0
}
}
if (f.data && f.processData && "string" != typeof f.data && (f.data = k.param(f.data, f.traditional)), Ut(jt, f, t, M), !c) {
for (i in (_ = k.event && f.global) && 0 == k.active++ && k.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !Wt.test(f.type), d = f.url.replace(xt, ""), f.hasContent ? f.data && f.processData && 0 === (f.contentType || "").indexOf("application/x-www-form-urlencoded") && (f.data = f.data.replace(At, "+")) : (e = f.url.slice(d.length), f.data && (f.processData || "string" == typeof f.data) && (d += (Et.test(d) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (d = d.replace(Ot, "$1"), e = (Et.test(d) ? "&" : "?") + "_=" + Tt.guid++ + e), f.url = d + e), f.ifModified && (k.lastModified[d] && M.setRequestHeader("If-Modified-Since", k.lastModified[d]), k.etag[d] && M.setRequestHeader("If-None-Match", k.etag[d])), (f.data && f.hasContent && !1 !== f.contentType || t.contentType) && M.setRequestHeader("Content-Type", f.contentType), M.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + Bt + "; q=0.01" : "") : f.accepts["*"]), f.headers) M.setRequestHeader(i, f.headers[i]);
if (f.beforeSend && (!1 === f.beforeSend.call(m, M, f) || c)) return M.abort();
if (s = "abort", v.add(f.complete), M.done(f.success), M.fail(f.error), u = Ut(Ft, f, t, M)) {
if (M.readyState = 1, _ && p.trigger("ajaxSend", [M, f]), c) return M;
f.async && 0 < f.timeout && (h = L.setTimeout(function () {
M.abort("timeout")
}, f.timeout));
try {
c = !1, u.send(r, o)
} catch (e) {
if (c) throw e;
o(-1, e)
}
} else o(-1, "No Transport")
}
return M;
function o(e, t, n, i) {
var r, a, s, o = t;
c || (c = !0, h && L.clearTimeout(h), u = void 0, l = i || "", M.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) {
for (var i, r, a, s, o = e.contents, u = e.dataTypes; "*" === u[0];) u.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
if (i) for (r in o) if (o[r] && o[r].test(i)) {
u.unshift(r);
break
}
if (u[0] in n) a = u[0]; else {
for (r in n) {
if (!u[0] || e.converters[r + " " + u[0]]) {
a = r;
break
}
s = s || r
}
a = a || s
}
if (a) return a !== u[0] && u.unshift(a), n[a]
}(f, M, n)), !i && -1 < k.inArray("script", f.dataTypes) && k.inArray("json", f.dataTypes) < 0 && (f.converters["text script"] = function () {
}), s = function (e, t, n, i) {
var r, a, s, o, u, d = {}, l = e.dataTypes.slice();
if (l[1]) for (s in e.converters) d[s.toLowerCase()] = e.converters[s];
for (a = l.shift(); a;) if (e.responseFields[a] && (n[e.responseFields[a]] = t), !u && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = a, a = l.shift()) if ("*" === a) a = u; else if ("*" !== u && u !== a) {
if (!(s = d[u + " " + a] || d["* " + a])) for (r in d) if ((o = r.split(" "))[1] === a && (s = d[u + " " + o[0]] || d["* " + o[0]])) {
!0 === s ? s = d[r] : !0 !== d[r] && (a = o[0], l.unshift(o[1]));
break
}
if (!0 !== s) if (s && e.throws) t = s(t); else try {
t = s(t)
} catch (e) {
return {state: "parsererror", error: s ? e : "No conversion from " + u + " to " + a}
}
}
return {state: "success", data: t}
}(f, s, M, i), i ? (f.ifModified && ((n = M.getResponseHeader("Last-Modified")) && (k.lastModified[d] = n), (n = M.getResponseHeader("etag")) && (k.etag[d] = n)), 204 === e || "HEAD" === f.type ? o = "nocontent" : 304 === e ? o = "notmodified" : (o = s.state, r = s.data, i = !(a = s.error))) : (a = o, !e && o || (o = "error", e < 0 && (e = 0))), M.status = e, M.statusText = (t || o) + "", i ? y.resolveWith(m, [r, o, M]) : y.rejectWith(m, [M, o, a]), M.statusCode(g), g = void 0, _ && p.trigger(i ? "ajaxSuccess" : "ajaxError", [M, f, i ? r : a]), v.fireWith(m, [M, o]), _ && (p.trigger("ajaxComplete", [M, f]), --k.active || k.event.trigger("ajaxStop")))
}
},
getJSON: function (e, t, n) {
return k.get(e, t, n, "json")
},
getScript: function (e, t) {
return k.get(e, void 0, t, "script")
}
}), k.each(["get", "post"], function (e, r) {
k[r] = function (e, t, n, i) {
return v(t) && (i = i || n, n = t, t = void 0), k.ajax(k.extend({
url: e,
type: r,
dataType: i,
data: t,
success: n
}, k.isPlainObject(e) && e))
}
}), k.ajaxPrefilter(function (e) {
for (var t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "")
}), k._evalUrl = function (e, t, n) {
return k.ajax({
url: e,
type: "GET",
dataType: "script",
cache: !0,
async: !1,
global: !1,
converters: {
"text script": function () {
}
},
dataFilter: function (e) {
k.globalEval(e, t, n)
}
})
}, k.fn.extend({
wrapAll: function (e) {
return this[0] && (v(e) && (e = e.call(this[0])), e = k(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && e.insertBefore(this[0]), e.map(function () {
for (var e = this; e.firstElementChild;) e = e.firstElementChild;
return e
}).append(this)), this
}, wrapInner: function (n) {
return v(n) ? this.each(function (e) {
k(this).wrapInner(n.call(this, e))
}) : this.each(function () {
var e = k(this), t = e.contents();
t.length ? t.wrapAll(n) : e.append(n)
})
}, wrap: function (t) {
var n = v(t);
return this.each(function (e) {
k(this).wrapAll(n ? t.call(this, e) : t)
})
}, unwrap: function (e) {
return this.parent(e).not("body").each(function () {
k(this).replaceWith(this.childNodes)
}), this
}
}), k.expr.pseudos.hidden = function (e) {
return !k.expr.pseudos.visible(e)
}, k.expr.pseudos.visible = function (e) {
return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length)
}, k.ajaxSettings.xhr = function () {
try {
return new L.XMLHttpRequest
} catch (e) {
}
};
var Gt = {0: 200, 1223: 204}, Jt = k.ajaxSettings.xhr(),
qt = (p.cors = !!Jt && "withCredentials" in Jt, p.ajax = Jt = !!Jt, k.ajaxTransport(function (r) {
var a, s;
if (p.cors || Jt && !r.crossDomain) return {
send: function (e, t) {
var n, i = r.xhr();
if (i.open(r.type, r.url, r.async, r.username, r.password), r.xhrFields) for (n in r.xhrFields) i[n] = r.xhrFields[n];
for (n in r.mimeType && i.overrideMimeType && i.overrideMimeType(r.mimeType), r.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) i.setRequestHeader(n, e[n]);
a = function (e) {
return function () {
a && (a = s = i.onload = i.onerror = i.onabort = i.ontimeout = i.onreadystatechange = null, "abort" === e ? i.abort() : "error" === e ? "number" != typeof i.status ? t(0, "error") : t(i.status, i.statusText) : t(Gt[i.status] || i.status, i.statusText, "text" !== (i.responseType || "text") || "string" != typeof i.responseText ? {binary: i.response} : {text: i.responseText}, i.getAllResponseHeaders()))
}
}, i.onload = a(), s = i.onerror = i.ontimeout = a("error"), void 0 !== i.onabort ? i.onabort = s : i.onreadystatechange = function () {
4 === i.readyState && L.setTimeout(function () {
a && s()
})
}, a = a("abort");
try {
i.send(r.hasContent && r.data || null)
} catch (e) {
if (a) throw e
}
}, abort: function () {
a && a()
}
}
}), k.ajaxPrefilter(function (e) {
e.crossDomain && (e.contents.script = !1)
}), k.ajaxSetup({
accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
contents: {script: /\b(?:java|ecma)script\b/},
converters: {
"text script": function (e) {
return k.globalEval(e), e
}
}
}), k.ajaxPrefilter("script", function (e) {
void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
}), k.ajaxTransport("script", function (n) {
var i, r;
if (n.crossDomain || n.scriptAttrs) return {
send: function (e, t) {
i = k("<script>").attr(n.scriptAttrs || {}).prop({
charset: n.scriptCharset,
src: n.url
}).on("load error", r = function (e) {
i.remove(), r = null, e && t("error" === e.type ? 404 : 200, e.type)
}), S.head.appendChild(i[0])
}, abort: function () {
r && r()
}
}
}), []), Kt = /(=)\?(?=&|$)|\?\?/, Xt = (k.ajaxSetup({
jsonp: "callback", jsonpCallback: function () {
var e = qt.pop() || k.expando + "_" + Tt.guid++;
return this[e] = !0, e
}
}), k.ajaxPrefilter("json jsonp", function (e, t, n) {
var i, r, a,
s = !1 !== e.jsonp && (Kt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Kt.test(e.data) && "data");
if (s || "jsonp" === e.dataTypes[0]) return i = e.jsonpCallback = v(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, s ? e[s] = e[s].replace(Kt, "$1" + i) : !1 !== e.jsonp && (e.url += (Et.test(e.url) ? "&" : "?") + e.jsonp + "=" + i), e.converters["script json"] = function () {
return a || k.error(i + " was not called"), a[0]
}, e.dataTypes[0] = "json", r = L[i], L[i] = function () {
a = arguments
}, n.always(function () {
void 0 === r ? k(L).removeProp(i) : L[i] = r, e[i] && (e.jsonpCallback = t.jsonpCallback, qt.push(i)), a && v(r) && r(a[0]), a = r = void 0
}), "script"
}), p.createHTMLDocument = ((e = S.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === e.childNodes.length), k.parseHTML = function (e, t, n) {
return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (p.createHTMLDocument ? ((i = (t = S.implementation.createHTMLDocument("")).createElement("base")).href = S.location.href, t.head.appendChild(i)) : t = S), i = !n && [], (n = Z.exec(e)) ? [t.createElement(n[1])] : (n = De([e], t, i), i && i.length && k(i).remove(), k.merge([], n.childNodes)));
var i
}, k.fn.load = function (e, t, n) {
var i, r, a, s = this, o = e.indexOf(" ");
return -1 < o && (i = x(e.slice(o)), e = e.slice(0, o)), v(t) ? (n = t, t = void 0) : t && "object" == typeof t && (r = "POST"), 0 < s.length && k.ajax({
url: e,
type: r || "GET",
dataType: "html",
data: t
}).done(function (e) {
a = arguments, s.html(i ? k("<div>").append(k.parseHTML(e)).find(i) : e)
}).always(n && function (e, t) {
s.each(function () {
n.apply(this, a || [e.responseText, t, e])
})
}), this
}, k.expr.pseudos.animated = function (t) {
return k.grep(k.timers, function (e) {
return t === e.elem
}).length
}, k.offset = {
setOffset: function (e, t, n) {
var i, r, a, s, o = k.css(e, "position"), u = k(e), d = {};
"static" === o && (e.style.position = "relative"), a = u.offset(), i = k.css(e, "top"), s = k.css(e, "left"), o = ("absolute" === o || "fixed" === o) && -1 < (i + s).indexOf("auto") ? (r = (o = u.position()).top, o.left) : (r = parseFloat(i) || 0, parseFloat(s) || 0), null != (t = v(t) ? t.call(e, n, k.extend({}, a)) : t).top && (d.top = t.top - a.top + r), null != t.left && (d.left = t.left - a.left + o), "using" in t ? t.using.call(e, d) : u.css(d)
}
}, k.fn.extend({
offset: function (t) {
if (arguments.length) return void 0 === t ? this : this.each(function (e) {
k.offset.setOffset(this, t, e)
});
var e, n = this[0];
return n ? n.getClientRects().length ? (e = n.getBoundingClientRect(), n = n.ownerDocument.defaultView, {
top: e.top + n.pageYOffset,
left: e.left + n.pageXOffset
}) : {top: 0, left: 0} : void 0
}, position: function () {
if (this[0]) {
var e, t, n, i = this[0], r = {top: 0, left: 0};
if ("fixed" === k.css(i, "position")) t = i.getBoundingClientRect(); else {
for (t = this.offset(), n = i.ownerDocument, e = i.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === k.css(e, "position");) e = e.parentNode;
e && e !== i && 1 === e.nodeType && ((r = k(e).offset()).top += k.css(e, "borderTopWidth", !0), r.left += k.css(e, "borderLeftWidth", !0))
}
return {
top: t.top - r.top - k.css(i, "marginTop", !0),
left: t.left - r.left - k.css(i, "marginLeft", !0)
}
}
}, offsetParent: function () {
return this.map(function () {
for (var e = this.offsetParent; e && "static" === k.css(e, "position");) e = e.offsetParent;
return e || w
})
}
}), k.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (t, r) {
var a = "pageYOffset" === r;
k.fn[t] = function (e) {
return h(this, function (e, t, n) {
var i;
if (m(e) ? i = e : 9 === e.nodeType && (i = e.defaultView), void 0 === n) return i ? i[r] : e[t];
i ? i.scrollTo(a ? i.pageXOffset : n, a ? n : i.pageYOffset) : e[t] = n
}, t, e, arguments.length)
}
}), k.each(["top", "left"], function (e, n) {
k.cssHooks[n] = Qe(p.pixelPosition, function (e, t) {
if (t) return t = $e(e, n), qe.test(t) ? k(e).position()[n] + "px" : t
})
}), k.each({Height: "height", Width: "width"}, function (s, o) {
k.each({padding: "inner" + s, content: o, "": "outer" + s}, function (i, a) {
k.fn[a] = function (e, t) {
var n = arguments.length && (i || "boolean" != typeof e),
r = i || (!0 === e || !0 === t ? "margin" : "border");
return h(this, function (e, t, n) {
var i;
return m(e) ? 0 === a.indexOf("outer") ? e["inner" + s] : e.document.documentElement["client" + s] : 9 === e.nodeType ? (i = e.documentElement, Math.max(e.body["scroll" + s], i["scroll" + s], e.body["offset" + s], i["offset" + s], i["client" + s])) : void 0 === n ? k.css(e, t, r) : k.style(e, t, n, r)
}, o, n ? e : void 0, n)
}
})
}), k.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
k.fn[t] = function (e) {
return this.on(t, e)
}
}), k.fn.extend({
bind: function (e, t, n) {
return this.on(e, null, t, n)
}, unbind: function (e, t) {
return this.off(e, null, t)
}, delegate: function (e, t, n, i) {
return this.on(t, e, n, i)
}, undelegate: function (e, t, n) {
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
}, hover: function (e, t) {
return this.mouseenter(e).mouseleave(t || e)
}
}), k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) {
k.fn[n] = function (e, t) {
return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n)
}
}), /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g), Zt = (k.proxy = function (e, t) {
var n, i;
if ("string" == typeof t && (i = e[t], t = e, e = i), v(e)) return n = o.call(arguments, 2), (i = function () {
return e.apply(t || this, n.concat(o.call(arguments)))
}).guid = e.guid = e.guid || k.guid++, i
}, k.holdReady = function (e) {
e ? k.readyWait++ : k.ready(!0)
}, k.isArray = Array.isArray, k.parseJSON = JSON.parse, k.nodeName = u, k.isFunction = v, k.isWindow = m, k.camelCase = g, k.type = f, k.now = Date.now, k.isNumeric = function (e) {
var t = k.type(e);
return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e))
}, k.trim = function (e) {
return null == e ? "" : (e + "").replace(Xt, "")
}, void 0 !== (tn = function () {
return k
}.apply(en, [])) && (Qt.exports = tn), L.jQuery), $t = L.$;
return k.noConflict = function (e) {
return L.$ === k && (L.$ = $t), e && L.jQuery === k && (L.jQuery = Zt), k
}, void 0 === I && (L.jQuery = L.$ = k), k
})
}, function (e, t, n) {
e.exports = {default: n(267), __esModule: !0}
}, function (e, t, n) {
t.f = n(7)
}, function (e, t, n) {
var i = n(6), r = n(3), a = n(27), s = n(57), o = n(12).f;
e.exports = function (e) {
var t = r.Symbol || (r.Symbol = !a && i.Symbol || {});
"_" == e.charAt(0) || e in t || o(t, e, {value: s.f(e)})
}
}, function (e, t) {
t.f = Object.getOwnPropertySymbols
}, function (e, t, n) {
var i = n(37), r = n(28), a = n(19), s = n(45), o = n(18), u = n(69), d = Object.getOwnPropertyDescriptor;
t.f = n(14) ? d : function (e, t) {
if (e = a(e), t = s(t, !0), u) try {
return d(e, t)
} catch (e) {
}
if (o(e, t)) return r(!i.f.call(e, t), e[t])
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = "0x12f9", r = i + "0",
r = (t.ERR_COM_PARAM = r + "0001", t.ERR_COM_NOT_PLAYING = r + "0002", t.ERR_COM_NOT_PLAYBACK = r + "0003", t.ERR_COM_IS_MSE = r + "0004", t.ERR_COM_IS_JSDECODER = r + "0005", t.ERR_COM_LOAD_JSDECODER_ERROR = r + "0006", t.ERR_COM_URL_ERROR = r + "0008", t.ERR_COM_RECV_STREAM_TIMEOUT = r + "0009", t.ERR_COM_SETORGET_VOLUME_ERROR = r + "0010", t.ERR_COM_SETVOLUME_ERROR = r + "0011", t.ERR_COM_OPENSOUND_ERROR = r + "0012", i + "1"),
r = (t.ERR_STREAM_WS_ERROR = r + "0000", t.ERR_STREAM_OPEN_FAILED = r + "0010", t.ERR_STREAM_INTERRUPT = r + "0011", t.ERR_STREAM_CMD_FAILED = r + "0012", t.ERR_STREAM_SOUND_NOTHAS = r + "0014", t.ERR_STREAM_WS_UNFIND = r + "0015", t.ERR_STREAM_WS_UNCONNECT = r + "0016", t.ERR_STREAM_INTEL_UNSUPPORT = r + "0017", t.ERR_STREAM_TIMEOUT = r + "0018", t.ERR_STREAM_WSS_ERROR = r + "0019", t.ERR_PLAYBACK_FRAMEFORWARD = r + "0020", t.ERR_PLAYBACK_MAX_RATE = r + "0021", t.ERR_PLAYBACK_MIN_RATE = r + "0022", t.ERR_STREAM_WS_TIMEOUT = r + "0023", t.ERR_STREAM_TRANS = r + "0024", t.ERR_STREAM_PLAYBACK_END = r + "0025", t.ERR_STREAM_VIDEO_CODING = r + "0026", t.ERR_STREAM_CONNECT_CLOSED = r + "0027", t.ERR_STREAM_BUFER_ERROR = r + "0028", t.ERR_STREAM_DATA_ERROR = r + "0029", t.ERR_STREAM_LOCK_ERROR = r + "0030", t.ERR_STREAM_MSE_DATA_FULL = r + "0031", t.ERR_STREAM_CODEC_UNSUPPORTED = r + "0032", t.ERR_STREAM_JSDECODER_CODEC_UNSUPPORTED = r + "0033", i + "2");
t.ERR_PLAY_FILESYS_UNSUPPORT = r + "0000", t.ERR_PLAY_FILESYS_QUOTA = r + "0010", t.ERR_PLAY_FILESYS_REQUEST = r + "0011", t.ERR_PLAY_FILESYS_GETFILE = r + "0012", t.ERR_PLAY_FILESYS_CREATE = r + "0013", t.ERR_PLAY_FILESYS_WRITE = r + "0014", t.ERR_PLAY_FILESYS_ALREADY_WRITING = r + "0015", t.ERR_PLAY_FILESYS_NOT_WRITING = r + "0016", t.ERR_PLAY_FILESYS_NOT_SUPPORT_DSTTYPE = r + "0017", t.ERR_PLAY_FILESYS_FILENAME_ISNULL = r + "0018", t.ERR_CAPTURE_RAM = "0x12f930010", t.ERR_CAPTURE_NO_PREPARED = "0x12f930011", t.ERR_JSDECODER = i + "400", t.ERR_TALK = i + "500", t.ERR_TALK_GETUSERMEDIA_UNDEFINE = "0x12f950000", t.ERR_TALK_UNSUPPORT_AUDIOTYPE = "0x12f950001"
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
function a() {
(0, i.default)(this, a), this._firstCheckpoint = 0, this._lastCheckpoint = 0, this._intervalBytes = 0, this._totalBytes = 0, this._lastSecondBytes = 0, self.performance && self.performance.now ? this._now = self.performance.now.bind(self.performance) : this._now = Date.now
}
(0, r(n(2)).default)(a, [{
key: "reset", value: function () {
this._firstCheckpoint = this._lastCheckpoint = 0, this._totalBytes = this._intervalBytes = 0, this._lastSecondBytes = 0
}
}, {
key: "addBytes", value: function (e) {
0 === this._firstCheckpoint ? (this._firstCheckpoint = this._now(), this._lastCheckpoint = this._firstCheckpoint, this._intervalBytes += e, this._totalBytes += e) : this._now() - this._lastCheckpoint < 1e3 ? (this._intervalBytes += e, this._totalBytes += e) : (this._lastSecondBytes = this._intervalBytes, this._intervalBytes = e, this._totalBytes += e, this._lastCheckpoint = this._now())
}
}, {
key: "currentKBps", get: function () {
this.addBytes(0);
var e = (this._now() - this._lastCheckpoint) / 1e3;
return this._intervalBytes / (e = 0 == e ? 1 : e) / 1024
}
}, {
key: "lastSecondKBps", get: function () {
return this.addBytes(0), 0 !== this._lastSecondBytes ? this._lastSecondBytes / 1024 : 500 <= this._now() - this._lastCheckpoint ? this.currentKBps : 0
}
}, {
key: "averageKBps", get: function () {
var e = (this._now() - this._firstCheckpoint) / 1e3;
return this._totalBytes / e / 1024
}
}]), t.default = a
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.defaultConfig = void 0;
var n = n(20), i = (n = n) && n.__esModule ? n : {default: n};
t.createDefaultConfig = function () {
return (0, i.default)({}, r)
};
var r = t.defaultConfig = {
enableWorker: !1,
enableStashBuffer: !1,
stashInitialSize: void 0,
isLive: !1,
lazyLoad: !0,
lazyLoadMaxDuration: 180,
lazyLoadRecoverDuration: 30,
deferLoadAfterSourceOpen: !0,
autoCleanupMaxBackwardDuration: 180,
autoCleanupMinBackwardDuration: 120,
statisticsInfoReportInterval: 600,
fixAudioTimestampGap: !0,
accurateSeek: !1,
seekType: "range",
seekParamStart: "bstart",
seekParamEnd: "bend",
rangeLoadZeroStart: !1,
customSeekHandler: void 0,
reuseRedirectedURL: !1,
headers: void 0,
customLoader: void 0,
videoStateMonitorInterval: 1e3,
enableDurationMonitor: !1,
lowLatencyThreshold: 1.5,
highLatencyThreshold: 10,
decreaseDurationStep: .4,
enableVideoFrozenMonitor: !1,
frozenTimesThreshold: 5,
enableConstVideoViewSize: !1,
constVideoViewWidth: 1920,
constVideoViewHeight: 1080,
latencyDetectInterval: 6e4,
latencyDetectThreshold: 2,
latencyDetectAdjustStep: .1,
enableAudioGain: !0,
audioGainLevel: 2
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = o(n(1)), r = o(n(2)), a = o(n(10)), s = o(n(4));
function o(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(u, null, [{
key: "getConfig", value: function () {
return {
globalTag: s.default.GLOBAL_TAG,
forceGlobalTag: s.default.FORCE_GLOBAL_TAG,
enableVerbose: s.default.ENABLE_VERBOSE,
enableDebug: s.default.ENABLE_DEBUG,
enableInfo: s.default.ENABLE_INFO,
enableWarn: s.default.ENABLE_WARN,
enableError: s.default.ENABLE_ERROR,
enableCallback: s.default.ENABLE_CALLBACK
}
}
}, {
key: "applyConfig", value: function (e) {
s.default.GLOBAL_TAG = e.globalTag, s.default.FORCE_GLOBAL_TAG = e.forceGlobalTag, s.default.ENABLE_VERBOSE = e.enableVerbose, s.default.ENABLE_DEBUG = e.enableDebug, s.default.ENABLE_INFO = e.enableInfo, s.default.ENABLE_WARN = e.enableWarn, s.default.ENABLE_ERROR = e.enableError, s.default.ENABLE_CALLBACK = e.enableCallback
}
}, {
key: "_notifyChange", value: function () {
var e, t = u.emitter;
0 < t.listenerCount("change") && (e = u.getConfig(), t.emit("change", e))
}
}, {
key: "registerListener", value: function (e) {
u.emitter.addListener("change", e)
}
}, {
key: "removeListener", value: function (e) {
u.emitter.removeListener("change", e)
}
}, {
key: "addLogListener", value: function (e) {
s.default.emitter.addListener("log", e), 0 < s.default.emitter.listenerCount("log") && (s.default.ENABLE_CALLBACK = !0, u._notifyChange())
}
}, {
key: "removeLogListener", value: function (e) {
s.default.emitter.removeListener("log", e), 0 === s.default.emitter.listenerCount("log") && (s.default.ENABLE_CALLBACK = !1, u._notifyChange())
}
}, {
key: "forceGlobalTag", get: function () {
return s.default.FORCE_GLOBAL_TAG
}, set: function (e) {
s.default.FORCE_GLOBAL_TAG = e, u._notifyChange()
}
}, {
key: "globalTag", get: function () {
return s.default.GLOBAL_TAG
}, set: function (e) {
s.default.GLOBAL_TAG = e, u._notifyChange()
}
}, {
key: "enableAll", get: function () {
return s.default.ENABLE_VERBOSE && s.default.ENABLE_DEBUG && s.default.ENABLE_INFO && s.default.ENABLE_WARN && s.default.ENABLE_ERROR
}, set: function (e) {
s.default.ENABLE_VERBOSE = e, s.default.ENABLE_DEBUG = e, s.default.ENABLE_INFO = e, s.default.ENABLE_WARN = e, s.default.ENABLE_ERROR = e, u._notifyChange()
}
}, {
key: "enableDebug", get: function () {
return s.default.ENABLE_DEBUG
}, set: function (e) {
s.default.ENABLE_DEBUG = e, u._notifyChange()
}
}, {
key: "enableVerbose", get: function () {
return s.default.ENABLE_VERBOSE
}, set: function (e) {
s.default.ENABLE_VERBOSE = e, u._notifyChange()
}
}, {
key: "enableInfo", get: function () {
return s.default.ENABLE_INFO
}, set: function (e) {
s.default.ENABLE_INFO = e, u._notifyChange()
}
}, {
key: "enableWarn", get: function () {
return s.default.ENABLE_WARN
}, set: function (e) {
s.default.ENABLE_WARN = e, u._notifyChange()
}
}, {
key: "enableError", get: function () {
return s.default.ENABLE_ERROR
}, set: function (e) {
s.default.ENABLE_ERROR = e, u._notifyChange()
}
}]);
n = u;
function u() {
(0, i.default)(this, u)
}
n.emitter = new a.default, t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
function a() {
(0, i.default)(this, a), this.mimeType = null, this.duration = null, this.hasAudio = null, this.hasVideo = null, this.audioCodec = null, this.videoCodec = null, this.audioDataRate = null, this.videoDataRate = null, this.audioSampleRate = null, this.audioChannelCount = null, this.width = null, this.height = null, this.fps = null, this.profile = null, this.level = null, this.refFrames = null, this.chromaFormat = null, this.sarNum = null, this.sarDen = null, this.metadata = null, this.segments = null, this.segmentCount = null, this.hasKeyframesIndex = null, this.keyframesIndex = null
}
(0, r(n(2)).default)(a, [{
key: "isComplete", value: function () {
var e = !1 === this.hasAudio || !0 === this.hasAudio && null != this.audioCodec && null != this.audioSampleRate && null != this.audioChannelCount,
t = !1 === this.hasVideo || !0 === this.hasVideo && null != this.videoCodec && null != this.width && null != this.height && null != this.fps && null != this.profile && null != this.level && null != this.refFrames && null != this.chromaFormat && null != this.sarNum && null != this.sarDen;
return null != this.mimeType && null != this.duration && null != this.metadata && null != this.hasKeyframesIndex && e && t
}
}, {
key: "isSeekable", value: function () {
return !0 === this.hasKeyframesIndex
}
}, {
key: "getNearestKeyframe", value: function (e) {
if (null == this.keyframesIndex) return null;
var t = this.keyframesIndex, e = this._search(t.times, e);
return {index: e, milliseconds: t.times[e], fileposition: t.filepositions[e]}
}
}, {
key: "_search", value: function (e, t) {
var n, i = 0, r = e.length - 1, a = 0, s = r;
for (t < e[0] && (i = 0, a = s + 1); a <= s;) {
if ((n = a + Math.floor((s - a) / 2)) === r || t >= e[n] && t < e[n + 1]) {
i = n;
break
}
e[n] < t ? a = n + 1 : s = n - 1
}
return i
}
}]), t.default = a
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.default = {
OK: "OK",
FORMAT_ERROR: "FormatError",
FORMAT_UNSUPPORTED: "FormatUnsupported",
CODEC_UNSUPPORTED: "CodecUnsupported"
}
}, function (e, t) {
}, function (e, t, n) {
"use strict";
function y() {
return this
}
var v = n(27), g = n(8), M = n(70), L = n(17), S = n(29), k = n(238), b = n(36), w = n(74),
D = n(7)("iterator"), T = !([].keys && "next" in [].keys()), E = "values";
e.exports = function (e, t, n, i, r, a, s) {
k(n, t, i);
function o(e) {
if (!T && e in c) return c[e];
switch (e) {
case"keys":
case E:
return function () {
return new n(this, e)
}
}
return function () {
return new n(this, e)
}
}
var u, d, i = t + " Iterator", l = r == E, h = !1, c = e.prototype,
_ = c[D] || c["@@iterator"] || r && c[r], f = _ || o(r), m = r ? l ? o("entries") : f : void 0,
p = "Array" == t && c.entries || _;
if (p && (p = w(p.call(new e))) !== Object.prototype && p.next && (b(p, i, !0), v || "function" == typeof p[D] || L(p, D, y)), l && _ && _.name !== E && (h = !0, f = function () {
return _.call(this)
}), v && !s || !T && !h && c[D] || L(c, D, f), S[t] = f, S[i] = y, r) if (u = {
values: l ? f : o(E),
keys: a ? f : o("keys"),
entries: m
}, s) for (d in u) d in c || M(c, d, u[d]); else g(g.P + g.F * (T || h), t, u);
return u
}
}, function (e, t, n) {
e.exports = !n(14) && !n(23)(function () {
return 7 != Object.defineProperty(n(44)("div"), "a", {
get: function () {
return 7
}
}).a
})
}, function (e, t, n) {
e.exports = n(17)
}, function (e, t, n) {
var s = n(18), o = n(19), u = n(240)(!1), d = n(48)("IE_PROTO");
e.exports = function (e, t) {
var n, i = o(e), r = 0, a = [];
for (n in i) n != d && s(i, n) && a.push(n);
for (; t.length > r;) !s(i, n = t[r++]) || ~u(a, n) || a.push(n);
return a
}
}, function (e, t, n) {
var i = n(31);
e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
return "String" == i(e) ? e.split("") : Object(e)
}
}, function (e, t, n) {
n = n(6).document;
e.exports = n && n.documentElement
}, function (e, t, n) {
var i = n(18), r = n(24), a = n(48)("IE_PROTO"), s = Object.prototype;
e.exports = Object.getPrototypeOf || function (e) {
return e = r(e), i(e, a) ? e[a] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? s : null
}
}, function (e, t, n) {
n(242);
for (var i = n(6), r = n(17), a = n(29), s = n(7)("toStringTag"), o = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), u = 0; u < o.length; u++) {
var d = o[u], l = i[d], l = l && l.prototype;
l && !l[s] && r(l, s, d), a[d] = a.Array
}
}, function (e, t, n) {
var i = n(31), r = n(7)("toStringTag"), a = "Arguments" == i(function () {
return arguments
}());
e.exports = function (e) {
var t;
return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (t = function (e, t) {
try {
return e[t]
} catch (e) {
}
}(e = Object(e), r)) ? t : a ? i(e) : "Object" == (t = i(e)) && "function" == typeof e.callee ? "Arguments" : t
}
}, function (e, t, n) {
var r = n(13);
e.exports = function (t, e, n, i) {
try {
return i ? e(r(n)[0], n[1]) : e(n)
} catch (e) {
i = t.return;
throw void 0 !== i && r(i.call(t)), e
}
}
}, function (e, t, n) {
var i = n(29), r = n(7)("iterator"), a = Array.prototype;
e.exports = function (e) {
return void 0 !== e && (i.Array === e || a[r] === e)
}
}, function (e, t, n) {
var i = n(76), r = n(7)("iterator"), a = n(29);
e.exports = n(3).getIteratorMethod = function (e) {
if (null != e) return e[r] || e["@@iterator"] || a[i(e)]
}
}, function (e, t, n) {
var i = n(13), r = n(34), a = n(7)("species");
e.exports = function (e, t) {
var e = i(e).constructor;
return void 0 === e || null == (e = i(e)[a]) ? t : r(e)
}
}, function (e, t, n) {
function i() {
var e, t = +this;
y.hasOwnProperty(t) && (e = y[t], delete y[t], e())
}
function r(e) {
i.call(e.data)
}
var a, s = n(22), o = n(248), u = n(73), d = n(44), l = n(6), h = l.process, c = l.setImmediate,
_ = l.clearImmediate, f = l.MessageChannel, m = l.Dispatch, p = 0, y = {}, v = "onreadystatechange";
c && _ || (c = function (e) {
for (var t = [], n = 1; n < arguments.length;) t.push(arguments[n++]);
return y[++p] = function () {
o("function" == typeof e ? e : Function(e), t)
}, a(p), p
}, _ = function (e) {
delete y[e]
}, "process" == n(31)(h) ? a = function (e) {
h.nextTick(s(i, e, 1))
} : m && m.now ? a = function (e) {
m.now(s(i, e, 1))
} : f ? (f = (n = new f).port2, n.port1.onmessage = r, a = s(f.postMessage, f, 1)) : l.addEventListener && "function" == typeof postMessage && !l.importScripts ? (a = function (e) {
l.postMessage(e + "", "*")
}, l.addEventListener("message", r, !1)) : a = v in d("script") ? function (e) {
u.appendChild(d("script"))[v] = function () {
u.removeChild(this), i.call(e)
}
} : function (e) {
setTimeout(s(i, e, 1), 0)
}), e.exports = {set: c, clear: _}
}, function (e, t) {
e.exports = function (e) {
try {
return {e: !1, v: e()}
} catch (e) {
return {e: !0, v: e}
}
}
}, function (e, t, n) {
var i = n(13), r = n(16), a = n(51);
e.exports = function (e, t) {
if (i(e), r(t) && t.constructor === e) return t;
e = a.f(e);
return (0, e.resolve)(t), e.promise
}
}, function (e, t, n) {
var a = n(7)("iterator"), s = !1;
try {
var i = [7][a]();
i.return = function () {
s = !0
}, Array.from(i, function () {
throw 2
})
} catch (e) {
}
e.exports = function (e, t) {
if (!t && !s) return !1;
var n = !1;
try {
var i = [7], r = i[a]();
r.next = function () {
return {done: n = !0}
}, i[a] = function () {
return r
}, e(i)
} catch (e) {
}
return n
}
}, function (e, t, n) {
e.exports = {default: n(255), __esModule: !0}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.oTool = void 0;
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r(n(2)).default)(a, [{
key: "$", value: function (e) {
var t = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, n = /^(?:\s*(<[\w\W]+>)[^>]*|.([\w-]*))$/;
if (t.test(e)) return t = t.exec(e), document.getElementById(t[2]);
if (n.test(e)) {
for (var i = n.exec(e), r = document.getElementsByTagName("*"), a = [], s = 0, o = r.length; s < o; s++) r[s].className.match(new RegExp("(\\s|^)" + i[2] + "(\\s|$)")) && a.push(r[s]);
return a
}
}
}, {
key: "dateFormat", value: function (e, t) {
var n, i = {
"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 (n in /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))), i) new RegExp("(" + n + ")").test(t) && (t = t.replace(RegExp.$1, 1 === RegExp.$1.length ? i[n] : ("00" + i[n]).substr(("" + i[n]).length)));
return t
}
}, {
key: "downloadFile", value: function (e, t) {
var n = e,
e = (e instanceof Blob || e instanceof File || (n = new Blob([e])), window.URL.createObjectURL(n)),
n = window.document.createElement("a"),
e = (n.href = e, n.download = t, document.createEvent("MouseEvents"));
e.initEvent("click", !0, !0), n.dispatchEvent(e)
}
}, {
key: "createxmlDoc", value: function () {
for (var t, e = ["MSXML2.DOMDocument", "MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0", "MSXML2.DOMDocument.3.0", "Microsoft.XmlDom"], n = 0, i = e.length; n < i; n++) try {
t = new ActiveXObject(e[n]);
break
} catch (e) {
t = document.implementation.createDocument("", "", null);
break
}
return t.async = "false", t
}
}, {
key: "parseXmlFromStr", value: function (e) {
if (null === e || "" === e) return null;
var t = this.createxmlDoc();
return "Netscape" === navigator.appName || "Opera" === navigator.appName ? t = (new DOMParser).parseFromString(e, "text/xml") : t.loadXML(e), t
}
}, {
key: "encode", value: function (e) {
var t, n, i, r, a, s, o = "", u = 0;
for (e = this._utf8_encode(e); u < e.length;) i = (t = e.charCodeAt(u++)) >> 2, r = (3 & t) << 4 | (t = e.charCodeAt(u++)) >> 4, a = (15 & t) << 2 | (n = e.charCodeAt(u++)) >> 6, s = 63 & n, isNaN(t) ? a = s = 64 : isNaN(n) && (s = 64), o = o + this._keyStr.charAt(i) + this._keyStr.charAt(r) + this._keyStr.charAt(a) + this._keyStr.charAt(s);
return o
}
}, {
key: "decode", value: function (e) {
var t, n, i, r, a, s, o = "", u = 0;
for (e = e.replace(/[^A-Za-z0-9+/=]/g, ""); u < e.length;) i = this._keyStr.indexOf(e.charAt(u++)), t = (15 & (r = this._keyStr.indexOf(e.charAt(u++)))) << 4 | (a = this._keyStr.indexOf(e.charAt(u++))) >> 2, n = (3 & a) << 6 | (s = this._keyStr.indexOf(e.charAt(u++))), o += String.fromCharCode(i << 2 | r >> 4), 64 !== a && (o += String.fromCharCode(t)), 64 !== s && (o += String.fromCharCode(n));
return o = this._utf8_decode(o)
}
}, {
key: "_utf8_encode", value: function (e) {
e = e.replace(/\r\n/g, "\n");
for (var t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
i < 128 ? t += String.fromCharCode(i) : t = 127 < i && i < 2048 ? (t += String.fromCharCode(i >> 6 | 192)) + String.fromCharCode(63 & i | 128) : (t = (t += String.fromCharCode(i >> 12 | 224)) + String.fromCharCode(i >> 6 & 63 | 128)) + String.fromCharCode(63 & i | 128)
}
return t
}
}, {
key: "_utf8_decode", value: function (e) {
for (var t, n, i = "", r = 0, a = 0; r < e.length;) (n = e.charCodeAt(r)) < 128 ? (i += String.fromCharCode(n), r++) : 191 < n && n < 224 ? (a = e.charCodeAt(r + 1), i += String.fromCharCode((31 & n) << 6 | 63 & a), r += 2) : (a = e.charCodeAt(r + 1), t = e.charCodeAt(r + 2), i += String.fromCharCode((15 & n) << 12 | (63 & a) << 6 | 63 & t), r += 3);
return i
}
}, {
key: "isFirefox", value: function () {
var e = !1, t = navigator.userAgent.toLowerCase(), n = "";
return t.match(/firefox\/([\d.]+)/) && (n = t.match(/firefox\/([\d.]+)/)[1], -1 < parseInt(n.split(".")[0], 10) && (e = !0)), e
}
}, {
key: "isSafari", value: function () {
var e = !1, t = navigator.userAgent.toLowerCase(), n = "";
return t.match(/version\/([\d.]+).safari./) && (n = t.match(/version\/([\d.]+).safari./)[1], -1 < parseInt(n.split(".")[0], 10) && (e = !0)), e
}
}, {
key: "isEdge", value: function () {
return -1 < navigator.userAgent.toLowerCase().indexOf("edge")
}
}, {
key: "dataURLtoBlob", value: function (e) {
for (var e = e.split(","), t = e[0].match(/:(.*?);/)[1], n = atob(e[1]), i = n.length, r = new Uint8Array(i); i--;) r[i] = n.charCodeAt(i);
return new Blob([r], {type: t})
}
}, {
key: "intToHexString", value: function (e) {
e = e.toString(16);
return e = 1 === e.length ? "0" + e : e
}
}]);
n = a;
function a() {
(0, i.default)(this, a), this._keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
}
t.oTool = new n
}, function (e, t, n) {
var i = n(263), n = n(264), r = n;
r.v1 = i, r.v4 = n, e.exports = r
}, function (e, t) {
var n, i,
r = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);
r ? (n = new Uint8Array(16), e.exports = function () {
return r(n), n
}) : (i = new Array(16), e.exports = function () {
for (var e, t = 0; t < 16; t++) 0 == (3 & t) && (e = 4294967296 * Math.random()), i[t] = e >>> ((3 & t) << 3) & 255;
return i
})
}, function (e, t) {
for (var i = [], n = 0; n < 256; ++n) i[n] = (n + 256).toString(16).substr(1);
e.exports = function (e, t) {
var t = t || 0, n = i;
return [n[e[t++]], n[e[t++]], n[e[t++]], n[e[t++]], "-", n[e[t++]], n[e[t++]], "-", n[e[t++]], n[e[t++]], "-", n[e[t++]], n[e[t++]], "-", n[e[t++]], n[e[t++]], n[e[t++]], n[e[t++]], n[e[t++]], n[e[+t]]].join("")
}
}, function (e, t, n) {
var i = n(71), r = n(50).concat("length", "prototype");
t.f = Object.getOwnPropertyNames || function (e) {
return i(e, r)
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = s(n(1)), r = s(n(2)), a = s(n(0));
function s(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(o, [{
key: "D", value: function () {
var e;
this._config.openDebug && (e = console).debug.apply(e, ["[" + this.TAG + "] %c" + (0, a.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c", "color: blue", "color: black"].concat(Array.prototype.slice.call(arguments)))
}
}, {
key: "I", value: function () {
var e;
(e = console).info.apply(e, ["[" + this.TAG + "] %c" + (0, a.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c", "color: blue", "color: black"].concat(Array.prototype.slice.call(arguments)))
}
}, {
key: "W", value: function () {
var e;
(e = console).warm.apply(e, ["[" + this.TAG + "] %c" + (0, a.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c", "color: blue", "color: black"].concat(Array.prototype.slice.call(arguments)))
}
}, {
key: "E", value: function () {
var e;
(e = console).error.apply(e, ["[" + this.TAG + "] %c" + (0, a.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c", "color: blue", "color: black"].concat(Array.prototype.slice.call(arguments)))
}
}]);
n = o;
function o(e) {
(0, i.default)(this, o), this._bus = e, this.TAG = e.TAG || "Debug", this._config = e._config || e.options || {}
}
t.default = n
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("af", {
months: "Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),
monthsShort: "Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),
weekdays: "Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),
weekdaysShort: "Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),
weekdaysMin: "So_Ma_Di_Wo_Do_Vr_Sa".split("_"),
meridiemParse: /vm|nm/i,
isPM: function (e) {
return /^nm$/i.test(e)
},
meridiem: function (e, t, n) {
if (e < 12) return n ? "vm" : "VM"; else return n ? "nm" : "NM"
},
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Vandag om] LT",
nextDay: "[Môre om] LT",
nextWeek: "dddd [om] LT",
lastDay: "[Gister om] LT",
lastWeek: "[Laas] dddd [om] LT",
sameElse: "L"
},
relativeTime: {
future: "oor %s",
past: "%s gelede",
s: "'n paar sekondes",
ss: "%d sekondes",
m: "'n minuut",
mm: "%d minute",
h: "'n uur",
hh: "%d ure",
d: "'n dag",
dd: "%d dae",
M: "'n maand",
MM: "%d maande",
y: "'n jaar",
yy: "%d jaar"
},
dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
ordinal: function (e) {
return e + (e === 1 || e === 8 || e >= 20 ? "ste" : "de")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠"}, n = {
"١": "1",
"٢": "2",
"٣": "3",
"٤": "4",
"٥": "5",
"٦": "6",
"٧": "7",
"٨": "8",
"٩": "9",
"٠": "0"
}, o = function (e) {
return e === 0 ? 0 : e === 1 ? 1 : e === 2 ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
}, u = {
s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"]
}, i = function (s) {
return function (e, t, n, i) {
var r = o(e), a = u[s][o(e)];
if (r === 2) a = a[t ? 0 : 1];
return a.replace(/%d/i, e)
}
},
r = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
a;
e.defineLocale("ar", {
months: r,
monthsShort: r,
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "D/M/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
meridiemParse: /ص|م/,
isPM: function (e) {
return "م" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "ص"; else return "م"
},
calendar: {
sameDay: "[اليوم عند الساعة] LT",
nextDay: "[غدًا عند الساعة] LT",
nextWeek: "dddd [عند الساعة] LT",
lastDay: "[أمس عند الساعة] LT",
lastWeek: "dddd [عند الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "بعد %s",
past: "منذ %s",
s: i("s"),
ss: i("s"),
m: i("m"),
mm: i("m"),
h: i("h"),
hh: i("h"),
d: i("d"),
dd: i("d"),
M: i("M"),
MM: i("M"),
y: i("y"),
yy: i("y")
},
preparse: function (e) {
return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) {
return n[e]
}).replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
}).replace(/,/g, "،")
},
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var o = function (e) {
return e === 0 ? 0 : e === 1 ? 1 : e === 2 ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
}, u = {
s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"]
}, t = function (s) {
return function (e, t, n, i) {
var r = o(e), a = u[s][o(e)];
if (r === 2) a = a[t ? 0 : 1];
return a.replace(/%d/i, e)
}
},
n = ["جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
i;
e.defineLocale("ar-dz", {
months: n,
monthsShort: n,
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "D/M/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
meridiemParse: /ص|م/,
isPM: function (e) {
return "م" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "ص"; else return "م"
},
calendar: {
sameDay: "[اليوم عند الساعة] LT",
nextDay: "[غدًا عند الساعة] LT",
nextWeek: "dddd [عند الساعة] LT",
lastDay: "[أمس عند الساعة] LT",
lastWeek: "dddd [عند الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "بعد %s",
past: "منذ %s",
s: t("s"),
ss: t("s"),
m: t("m"),
mm: t("m"),
h: t("h"),
hh: t("h"),
d: t("d"),
dd: t("d"),
M: t("M"),
MM: t("M"),
y: t("y"),
yy: t("y")
},
postformat: function (e) {
return e.replace(/,/g, "،")
},
week: {dow: 0, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ar-kw", {
months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
weekdays: "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[اليوم على الساعة] LT",
nextDay: "[غدا على الساعة] LT",
nextWeek: "dddd [على الساعة] LT",
lastDay: "[أمس على الساعة] LT",
lastWeek: "dddd [على الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "في %s",
past: "منذ %s",
s: "ثوان",
ss: "%d ثانية",
m: "دقيقة",
mm: "%d دقائق",
h: "ساعة",
hh: "%d ساعات",
d: "يوم",
dd: "%d أيام",
M: "شهر",
MM: "%d أشهر",
y: "سنة",
yy: "%d سنوات"
},
week: {dow: 0, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 0: "0"}, o = function (e) {
return e === 0 ? 0 : e === 1 ? 1 : e === 2 ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
}, u = {
s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"]
}, n = function (s) {
return function (e, t, n, i) {
var r = o(e), a = u[s][o(e)];
if (r === 2) a = a[t ? 0 : 1];
return a.replace(/%d/i, e)
}
},
i = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
r;
e.defineLocale("ar-ly", {
months: i,
monthsShort: i,
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "D/M/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
meridiemParse: /ص|م/,
isPM: function (e) {
return "م" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "ص"; else return "م"
},
calendar: {
sameDay: "[اليوم عند الساعة] LT",
nextDay: "[غدًا عند الساعة] LT",
nextWeek: "dddd [عند الساعة] LT",
lastDay: "[أمس عند الساعة] LT",
lastWeek: "dddd [عند الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "بعد %s",
past: "منذ %s",
s: n("s"),
ss: n("s"),
m: n("m"),
mm: n("m"),
h: n("h"),
hh: n("h"),
d: n("d"),
dd: n("d"),
M: n("M"),
MM: n("M"),
y: n("y"),
yy: n("y")
},
preparse: function (e) {
return e.replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
}).replace(/,/g, "،")
},
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ar-ma", {
months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[اليوم على الساعة] LT",
nextDay: "[غدا على الساعة] LT",
nextWeek: "dddd [على الساعة] LT",
lastDay: "[أمس على الساعة] LT",
lastWeek: "dddd [على الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "في %s",
past: "منذ %s",
s: "ثوان",
ss: "%d ثانية",
m: "دقيقة",
mm: "%d دقائق",
h: "ساعة",
hh: "%d ساعات",
d: "يوم",
dd: "%d أيام",
M: "شهر",
MM: "%d أشهر",
y: "سنة",
yy: "%d سنوات"
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠"}, n = {
"١": "1",
"٢": "2",
"٣": "3",
"٤": "4",
"٥": "5",
"٦": "6",
"٧": "7",
"٨": "8",
"٩": "9",
"٠": "0"
}, i;
e.defineLocale("ar-sa", {
months: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
monthsShort: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
meridiemParse: /ص|م/,
isPM: function (e) {
return "م" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "ص"; else return "م"
},
calendar: {
sameDay: "[اليوم على الساعة] LT",
nextDay: "[غدا على الساعة] LT",
nextWeek: "dddd [على الساعة] LT",
lastDay: "[أمس على الساعة] LT",
lastWeek: "dddd [على الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "في %s",
past: "منذ %s",
s: "ثوان",
ss: "%d ثانية",
m: "دقيقة",
mm: "%d دقائق",
h: "ساعة",
hh: "%d ساعات",
d: "يوم",
dd: "%d أيام",
M: "شهر",
MM: "%d أشهر",
y: "سنة",
yy: "%d سنوات"
},
preparse: function (e) {
return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) {
return n[e]
}).replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
}).replace(/,/g, "،")
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ar-tn", {
months: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
monthsShort: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[اليوم على الساعة] LT",
nextDay: "[غدا على الساعة] LT",
nextWeek: "dddd [على الساعة] LT",
lastDay: "[أمس على الساعة] LT",
lastWeek: "dddd [على الساعة] LT",
sameElse: "L"
},
relativeTime: {
future: "في %s",
past: "منذ %s",
s: "ثوان",
ss: "%d ثانية",
m: "دقيقة",
mm: "%d دقائق",
h: "ساعة",
hh: "%d ساعات",
d: "يوم",
dd: "%d أيام",
M: "شهر",
MM: "%d أشهر",
y: "سنة",
yy: "%d سنوات"
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var r = {
1: "-inci",
5: "-inci",
8: "-inci",
70: "-inci",
80: "-inci",
2: "-nci",
7: "-nci",
20: "-nci",
50: "-nci",
3: "-üncü",
4: "-üncü",
100: "-üncü",
6: "-ncı",
9: "-uncu",
10: "-uncu",
30: "-uncu",
60: "-ıncı",
90: "-ıncı"
}, t;
e.defineLocale("az", {
months: "yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),
monthsShort: "yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),
weekdays: "Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),
weekdaysShort: "Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),
weekdaysMin: "Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[bugün saat] LT",
nextDay: "[sabah saat] LT",
nextWeek: "[gələn həftə] dddd [saat] LT",
lastDay: "[dünən] LT",
lastWeek: "[keçən həftə] dddd [saat] LT",
sameElse: "L"
},
relativeTime: {
future: "%s sonra",
past: "%s əvvəl",
s: "bir neçə saniyə",
ss: "%d saniyə",
m: "bir dəqiqə",
mm: "%d dəqiqə",
h: "bir saat",
hh: "%d saat",
d: "bir gün",
dd: "%d gün",
M: "bir ay",
MM: "%d ay",
y: "bir il",
yy: "%d il"
},
meridiemParse: /gecə|səhər|gündüz|axşam/,
isPM: function (e) {
return /^(gündüz|axşam)$/.test(e)
},
meridiem: function (e, t, n) {
if (e < 4) return "gecə"; else if (e < 12) return "səhər"; else if (e < 17) return "gündüz"; else return "axşam"
},
dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
ordinal: function (e) {
if (e === 0) return e + "-ıncı";
var t = e % 10, n = e % 100 - t, i = e >= 100 ? 100 : null;
return e + (r[t] || r[n] || r[i])
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function r(e, t) {
var n = e.split("_");
return t % 10 === 1 && t % 100 !== 11 ? n[0] : t % 10 >= 2 && t % 10 <= 4 && (t % 100 < 10 || t % 100 >= 20) ? n[1] : n[2]
}
function t(e, t, n) {
var i = {
ss: t ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
mm: t ? "хвіліна_хвіліны_хвілін" : "хвіліну_хвіліны_хвілін",
hh: t ? "гадзіна_гадзіны_гадзін" : "гадзіну_гадзіны_гадзін",
dd: "дзень_дні_дзён",
MM: "месяц_месяцы_месяцаў",
yy: "год_гады_гадоў"
};
if (n === "m") return t ? "хвіліна" : "хвіліну"; else if (n === "h") return t ? "гадзіна" : "гадзіну"; else return e + " " + r(i[n], +e)
}
var n;
e.defineLocale("be", {
months: {
format: "студзеня_лютага_сакавікарасавікараўня_чэрвеня_ліпеня_жніўня_верасня_кастрычнікаістапада_снежня".split("_"),
standalone: "студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")
},
monthsShort: "студ_лют_сак_красрав_чэрв_ліп_жнів_вераст_ліст_снеж".split("_"),
weekdays: {
format: "нядзелю_панядзелак_аўторак_серадуацвер_пятніцу_суботу".split("_"),
standalone: "нядзеля_панядзелак_аўторак_серадаацвер_пятніца_субота".split("_"),
isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
},
weekdaysShort: "нд_пн_ат_ср_чц_пт_сб".split("_"),
weekdaysMin: "нд_пн_ат_ср_чц_пт_сб".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY г.",
LLL: "D MMMM YYYY г., HH:mm",
LLLL: "dddd, D MMMM YYYY г., HH:mm"
},
calendar: {
sameDay: "[Сёння ў] LT",
nextDay: "[Заўтра ў] LT",
lastDay: "[Учора ў] LT",
nextWeek: function () {
return "[У] dddd [ў] LT"
},
lastWeek: function () {
switch (this.day()) {
case 0:
case 3:
case 5:
case 6:
return "[У мінулую] dddd [ў] LT";
case 1:
case 2:
case 4:
return "[У мінулы] dddd [ў] LT"
}
},
sameElse: "L"
},
relativeTime: {
future: "праз %s",
past: "%s таму",
s: "некалькі секунд",
m: t,
mm: t,
h: t,
hh: t,
d: "дзень",
dd: t,
M: "месяц",
MM: t,
y: "год",
yy: t
},
meridiemParse: /ночы|раніцы|дня|вечара/,
isPM: function (e) {
return /^(дня|вечара)$/.test(e)
},
meridiem: function (e, t, n) {
if (e < 4) return "ночы"; else if (e < 12) return "раніцы"; else if (e < 17) return "дня"; else return "вечара"
},
dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
ordinal: function (e, t) {
switch (t) {
case"M":
case"d":
case"DDD":
case"w":
case"W":
return (e % 10 === 2 || e % 10 === 3) && e % 100 !== 12 && e % 100 !== 13 ? e + "-і" : e + "-ы";
case"D":
return e + "-га";
default:
return e
}
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("bg", {
months: "януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),
monthsShort: "януев_мар_апрай_юни_юли_авг_сеп_окт_ноеек".split("_"),
weekdays: "неделя_понеделник_вторник_срядаетвъртък_петък_събота".split("_"),
weekdaysShort: "нед_пон_вто_сря_чет_пет_съб".split("_"),
weekdaysMin: "нд_пн_вт_ср_чт_пт_сб".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "D.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY H:mm",
LLLL: "dddd, D MMMM YYYY H:mm"
},
calendar: {
sameDay: "[Днес в] LT",
nextDay: "[Утре в] LT",
nextWeek: "dddd [в] LT",
lastDay: "[Вчера в] LT",
lastWeek: function () {
switch (this.day()) {
case 0:
case 3:
case 6:
return "[Миналата] dddd [в] LT";
case 1:
case 2:
case 4:
case 5:
return "[Миналия] dddd [в] LT"
}
},
sameElse: "L"
},
relativeTime: {
future: "след %s",
past: "преди %s",
s: "няколко секунди",
ss: "%d секунди",
m: "минута",
mm: "%d минути",
h: "час",
hh: "%d часа",
d: "ден",
dd: "%d дена",
w: "седмица",
ww: "%d седмици",
M: "месец",
MM: "%d месеца",
y: "година",
yy: "%d години"
},
dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
ordinal: function (e) {
var t = e % 10, n = e % 100;
if (e === 0) return e + "-ев"; else if (n === 0) return e + "-ен"; else if (n > 10 && n < 20) return e + "-ти"; else if (t === 1) return e + "-ви"; else if (t === 2) return e + "-ри"; else if (t === 7 || t === 8) return e + "-ми"; else return e + "-ти"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("bm", {
months: "Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),
monthsShort: "Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),
weekdays: "Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),
weekdaysShort: "Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),
weekdaysMin: "Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "MMMM [tile] D [san] YYYY",
LLL: "MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",
LLLL: "dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"
},
calendar: {
sameDay: "[Bi lɛrɛ] LT",
nextDay: "[Sini lɛrɛ] LT",
nextWeek: "dddd [don lɛrɛ] LT",
lastDay: "[Kunu lɛrɛ] LT",
lastWeek: "dddd [tɛmɛnen lɛrɛ] LT",
sameElse: "L"
},
relativeTime: {
future: "%s kɔnɔ",
past: "a bɛ %s bɔ",
s: "sanga dama dama",
ss: "sekondi %d",
m: "miniti kelen",
mm: "miniti %d",
h: "lɛrɛ kelen",
hh: "lɛrɛ %d",
d: "tile kelen",
dd: "tile %d",
M: "kalo kelen",
MM: "kalo %d",
y: "san kelen",
yy: "san %d"
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "১", 2: "২", 3: "৩", 4: "", 5: "৫", 6: "৬", 7: "", 8: "৮", 9: "৯", 0: ""}, n = {
"১": "1",
"২": "2",
"৩": "3",
"": "4",
"৫": "5",
"৬": "6",
"": "7",
"৮": "8",
"৯": "9",
"": "0"
}, i;
e.defineLocale("bn", {
months: "জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),
monthsShort: "জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),
weekdays: "রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),
weekdaysShort: "রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),
weekdaysMin: "রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),
longDateFormat: {
LT: "A h:mm সময়",
LTS: "A h:mm:ss সময়",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm সময়",
LLLL: "dddd, D MMMM YYYY, A h:mm সময়"
},
calendar: {
sameDay: "[আজ] LT",
nextDay: "[আগামীকাল] LT",
nextWeek: "dddd, LT",
lastDay: "[গতকাল] LT",
lastWeek: "[গত] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s পরে",
past: "%s আগে",
s: "কয়েক সেকেন্ড",
ss: "%d সেকেন্ড",
m: "এক মিনিট",
mm: "%d মিনিট",
h: "এক ঘন্টা",
hh: "%d ঘন্টা",
d: "এক দিন",
dd: "%d দিন",
M: "এক মাস",
MM: "%d মাস",
y: "এক বছর",
yy: "%d বছর"
},
preparse: function (e) {
return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "রাত" && e >= 4 || t === "দুপুর" && e < 5 || t === "বিকাল") return e + 12; else return e
},
meridiem: function (e, t, n) {
if (e < 4) return "রাত"; else if (e < 10) return "সকাল"; else if (e < 17) return "দুপুর"; else if (e < 20) return "বিকাল"; else return "রাত"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "১", 2: "২", 3: "৩", 4: "", 5: "৫", 6: "৬", 7: "", 8: "৮", 9: "৯", 0: ""}, n = {
"১": "1",
"২": "2",
"৩": "3",
"": "4",
"৫": "5",
"৬": "6",
"": "7",
"৮": "8",
"৯": "9",
"": "0"
}, i;
e.defineLocale("bn-bd", {
months: "জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),
monthsShort: "জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),
weekdays: "রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),
weekdaysShort: "রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),
weekdaysMin: "রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),
longDateFormat: {
LT: "A h:mm সময়",
LTS: "A h:mm:ss সময়",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm সময়",
LLLL: "dddd, D MMMM YYYY, A h:mm সময়"
},
calendar: {
sameDay: "[আজ] LT",
nextDay: "[আগামীকাল] LT",
nextWeek: "dddd, LT",
lastDay: "[গতকাল] LT",
lastWeek: "[গত] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s পরে",
past: "%s আগে",
s: "কয়েক সেকেন্ড",
ss: "%d সেকেন্ড",
m: "এক মিনিট",
mm: "%d মিনিট",
h: "এক ঘন্টা",
hh: "%d ঘন্টা",
d: "এক দিন",
dd: "%d দিন",
M: "এক মাস",
MM: "%d মাস",
y: "এক বছর",
yy: "%d বছর"
},
preparse: function (e) {
return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "রাত") return e < 4 ? e : e + 12; else if (t === "ভোর") return e; else if (t === "সকাল") return e; else if (t === "দুপুর") return e >= 3 ? e : e + 12; else if (t === "বিকাল") return e + 12; else if (t === "সন্ধ্যা") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "রাত"; else if (e < 6) return "ভোর"; else if (e < 12) return "সকাল"; else if (e < 15) return "দুপুর"; else if (e < 18) return "বিকাল"; else if (e < 20) return "সন্ধ্যা"; else return "রাত"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "༡", 2: "༢", 3: "༣", 4: "༤", 5: "༥", 6: "༦", 7: "༧", 8: "༨", 9: "༩", 0: "༠"}, n = {
"༡": "1",
"༢": "2",
"༣": "3",
"༤": "4",
"༥": "5",
"༦": "6",
"༧": "7",
"༨": "8",
"༩": "9",
"༠": "0"
}, i;
e.defineLocale("bo", {
months: "ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),
monthsShort: "ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12".split("_"),
monthsShortRegex: /^(ཟླ་\d{1,2})/,
monthsParseExact: true,
weekdays: "གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),
weekdaysShort: "ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),
weekdaysMin: "ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན".split("_"),
longDateFormat: {
LT: "A h:mm",
LTS: "A h:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm",
LLLL: "dddd, D MMMM YYYY, A h:mm"
},
calendar: {
sameDay: "[དི་རིང] LT",
nextDay: "[སང་ཉིན] LT",
nextWeek: "[བདུན་ཕྲག་རྗེས་མ], LT",
lastDay: "[ཁ་སང] LT",
lastWeek: "[བདུན་ཕྲག་མཐའ་མ] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s ལ་",
past: "%s སྔན་ལ",
s: "ལམ་སང",
ss: "%d སྐར་ཆ།",
m: "སྐར་མ་གཅིག",
mm: "%d སྐར་མ",
h: "ཆུ་ཚོད་གཅིག",
hh: "%d ཆུ་ཚོད",
d: "ཉིན་གཅིག",
dd: "%d ཉིན་",
M: "ཟླ་བ་གཅིག",
MM: "%d ཟླ་བ",
y: "ལོ་གཅིག",
yy: "%d ལོ"
},
preparse: function (e) {
return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "མཚན་མོ" && e >= 4 || t === "ཉིན་གུང" && e < 5 || t === "དགོང་དག") return e + 12; else return e
},
meridiem: function (e, t, n) {
if (e < 4) return "མཚན་མོ"; else if (e < 10) return "ཞོགས་ཀས"; else if (e < 17) return "ཉིན་གུང"; else if (e < 20) return "དགོང་དག"; else return "མཚན་མོ"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n) {
var i = {mm: "munutenn", MM: "miz", dd: "devezh"};
return e + " " + r(i[n], e)
}
function n(e) {
switch (i(e)) {
case 1:
case 3:
case 4:
case 5:
case 9:
return e + " bloaz";
default:
return e + " vloaz"
}
}
function i(e) {
if (e > 9) return i(e % 10);
return e
}
function r(e, t) {
if (t === 2) return a(e);
return e
}
function a(e) {
var t = {m: "v", b: "v", d: "z"};
if (t[e.charAt(0)] === undefined) return e;
return t[e.charAt(0)] + e.substring(1)
}
var s = [/^gen/i, /^c[ʼ\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],
o = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
u = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
d = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
l = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],
h = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],
c = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i], _;
e.defineLocale("br", {
months: "Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),
monthsShort: "Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),
weekdays: "Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn".split("_"),
weekdaysShort: "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),
weekdaysMin: "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),
weekdaysParse: c,
fullWeekdaysParse: l,
shortWeekdaysParse: h,
minWeekdaysParse: c,
monthsRegex: o,
monthsShortRegex: o,
monthsStrictRegex: u,
monthsShortStrictRegex: d,
monthsParse: s,
longMonthsParse: s,
shortMonthsParse: s,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D [a viz] MMMM YYYY",
LLL: "D [a viz] MMMM YYYY HH:mm",
LLLL: "dddd, D [a viz] MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Hiziv da] LT",
nextDay: "[Warcʼhoazh da] LT",
nextWeek: "dddd [da] LT",
lastDay: "[Decʼh da] LT",
lastWeek: "dddd [paset da] LT",
sameElse: "L"
},
relativeTime: {
future: "a-benn %s",
past: "%s ʼzo",
s: "un nebeud segondennoù",
ss: "%d eilenn",
m: "ur vunutenn",
mm: t,
h: "un eur",
hh: "%d eur",
d: "un devezh",
dd: t,
M: "ur miz",
MM: t,
y: "ur bloaz",
yy: n
},
dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
ordinal: function (e) {
var t = e === 1 ? "añ" : "vet";
return e + t
},
week: {dow: 1, doy: 4},
meridiemParse: /a.m.|g.m./,
isPM: function (e) {
return e === "g.m."
},
meridiem: function (e, t, n) {
return e < 12 ? "a.m." : "g.m."
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n) {
var i = e + " ";
switch (n) {
case"ss":
if (e === 1) i += "sekunda"; else if (e === 2 || e === 3 || e === 4) i += "sekunde"; else i += "sekundi";
return i;
case"m":
return t ? "jedna minuta" : "jedne minute";
case"mm":
if (e === 1) i += "minuta"; else if (e === 2 || e === 3 || e === 4) i += "minute"; else i += "minuta";
return i;
case"h":
return t ? "jedan sat" : "jednog sata";
case"hh":
if (e === 1) i += "sat"; else if (e === 2 || e === 3 || e === 4) i += "sata"; else i += "sati";
return i;
case"dd":
if (e === 1) i += "dan"; else i += "dana";
return i;
case"MM":
if (e === 1) i += "mjesec"; else if (e === 2 || e === 3 || e === 4) i += "mjeseca"; else i += "mjeseci";
return i;
case"yy":
if (e === 1) i += "godina"; else if (e === 2 || e === 3 || e === 4) i += "godine"; else i += "godina";
return i
}
}
var n;
e.defineLocale("bs", {
months: "januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),
monthsShort: "jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd, D. MMMM YYYY H:mm"
},
calendar: {
sameDay: "[danas u] LT", nextDay: "[sutra u] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[u] [nedjelju] [u] LT";
case 3:
return "[u] [srijedu] [u] LT";
case 6:
return "[u] [subotu] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[u] dddd [u] LT"
}
}, lastDay: "[jučer u] LT", lastWeek: function () {
switch (this.day()) {
case 0:
case 3:
return "[prošlu] dddd [u] LT";
case 6:
return "[prošle] [subote] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[prošli] dddd [u] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "prije %s",
s: "par sekundi",
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: "dan",
dd: t,
M: "mjesec",
MM: t,
y: "godinu",
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ca", {
months: {
standalone: "gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),
format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),
isFormat: /D[oD]?(\s)+MMMM/
},
monthsShort: "gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),
monthsParseExact: true,
weekdays: "diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),
weekdaysShort: "dg._dl._dt._dc._dj._dv._ds.".split("_"),
weekdaysMin: "dg_dl_dt_dc_dj_dv_ds".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM [de] YYYY",
ll: "D MMM YYYY",
LLL: "D MMMM [de] YYYY [a les] H:mm",
lll: "D MMM YYYY, H:mm",
LLLL: "dddd D MMMM [de] YYYY [a les] H:mm",
llll: "ddd D MMM YYYY, H:mm"
},
calendar: {
sameDay: function () {
return "[avui a " + (this.hours() !== 1 ? "les" : "la") + "] LT"
}, nextDay: function () {
return "[demà a " + (this.hours() !== 1 ? "les" : "la") + "] LT"
}, nextWeek: function () {
return "dddd [a " + (this.hours() !== 1 ? "les" : "la") + "] LT"
}, lastDay: function () {
return "[ahir a " + (this.hours() !== 1 ? "les" : "la") + "] LT"
}, lastWeek: function () {
return "[el] dddd [passat a " + (this.hours() !== 1 ? "les" : "la") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: "d'aquí %s",
past: "fa %s",
s: "uns segons",
ss: "%d segons",
m: "un minut",
mm: "%d minuts",
h: "una hora",
hh: "%d hores",
d: "un dia",
dd: "%d dies",
M: "un mes",
MM: "%d mesos",
y: "un any",
yy: "%d anys"
},
dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
ordinal: function (e, t) {
var n = e === 1 ? "r" : e === 2 ? "n" : e === 3 ? "r" : e === 4 ? "t" : "è";
if (t === "w" || t === "W") n = "a";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {
format: "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),
standalone: "ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince".split("_")
}, n = "led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),
i = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],
r = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
a;
function s(e) {
return e > 1 && e < 5 && ~~(e / 10) !== 1
}
function o(e, t, n, i) {
var r = e + " ";
switch (n) {
case"s":
return t || i ? "pár sekund" : "pár sekundami";
case"ss":
if (t || i) return r + (s(e) ? "sekundy" : "sekund"); else return r + "sekundami";
case"m":
return t ? "minuta" : i ? "minutu" : "minutou";
case"mm":
if (t || i) return r + (s(e) ? "minuty" : "minut"); else return r + "minutami";
case"h":
return t ? "hodina" : i ? "hodinu" : "hodinou";
case"hh":
if (t || i) return r + (s(e) ? "hodiny" : "hodin"); else return r + "hodinami";
case"d":
return t || i ? "den" : "dnem";
case"dd":
if (t || i) return r + (s(e) ? "dny" : "dní"); else return r + "dny";
case"M":
return t || i ? "měsíc" : "měsícem";
case"MM":
if (t || i) return r + (s(e) ? "měsíce" : "měsíců"); else return r + "měsíci";
case"y":
return t || i ? "rok" : "rokem";
case"yy":
if (t || i) return r + (s(e) ? "roky" : "let"); else return r + "lety"
}
}
e.defineLocale("cs", {
months: t,
monthsShort: n,
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
monthsParse: i,
longMonthsParse: i,
shortMonthsParse: i,
weekdays: "neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),
weekdaysShort: "ne_po_út_st_čt_pá_so".split("_"),
weekdaysMin: "ne_po_út_st_čt_pá_so".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd D. MMMM YYYY H:mm",
l: "D. M. YYYY"
},
calendar: {
sameDay: "[dnes v] LT", nextDay: "[zítra v] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[v neděli v] LT";
case 1:
case 2:
return "[v] dddd [v] LT";
case 3:
return "[ve středu v] LT";
case 4:
return "[ve čtvrtek v] LT";
case 5:
return "[v pátek v] LT";
case 6:
return "[v sobotu v] LT"
}
}, lastDay: "[včera v] LT", lastWeek: function () {
switch (this.day()) {
case 0:
return "[minulou neděli v] LT";
case 1:
case 2:
return "[minulé] dddd [v] LT";
case 3:
return "[minulou středu v] LT";
case 4:
case 5:
return "[minulý] dddd [v] LT";
case 6:
return "[minulou sobotu v] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "před %s",
s: o,
ss: o,
m: o,
mm: o,
h: o,
hh: o,
d: o,
dd: o,
M: o,
MM: o,
y: o,
yy: o
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("cv", {
months: "кӑрлач_нарӑс_пуш_акаай_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),
monthsShort: "кӑрар_пуш_акаай_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),
weekdays: "вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),
weekdaysShort: "вырун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),
weekdaysMin: "вр_тн_ыт_юн_кҫ_эр_шм".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD-MM-YYYY",
LL: "YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",
LLL: "YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",
LLLL: "dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"
},
calendar: {
sameDay: "[Паян] LT [сехетре]",
nextDay: "[Ыран] LT [сехетре]",
lastDay: "[Ӗнер] LT [сехетре]",
nextWeek: "[Ҫитес] dddd LT [сехетре]",
lastWeek: "[Иртнӗ] dddd LT [сехетре]",
sameElse: "L"
},
relativeTime: {
future: function (e) {
var t = /сехет$/i.exec(e) ? "рен" : /ҫул$/i.exec(e) ? "тан" : "ран";
return e + t
},
past: "%s каялла",
s: "пӗр-ик ҫеккунт",
ss: "%d ҫеккунт",
m: "пӗр минут",
mm: "%d минут",
h: "пӗр сехет",
hh: "%d сехет",
d: "пӗр кун",
dd: "%d кун",
M: "пӗр уйӑх",
MM: "%d уйӑх",
y: "пӗр ҫул",
yy: "%d ҫул"
},
dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
ordinal: "%d-мӗш",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("cy", {
months: "Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),
monthsShort: "Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),
weekdays: "Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),
weekdaysShort: "Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),
weekdaysMin: "Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Heddiw am] LT",
nextDay: "[Yfory am] LT",
nextWeek: "dddd [am] LT",
lastDay: "[Ddoe am] LT",
lastWeek: "dddd [diwethaf am] LT",
sameElse: "L"
},
relativeTime: {
future: "mewn %s",
past: "%s yn ôl",
s: "ychydig eiliadau",
ss: "%d eiliad",
m: "munud",
mm: "%d munud",
h: "awr",
hh: "%d awr",
d: "diwrnod",
dd: "%d diwrnod",
M: "mis",
MM: "%d mis",
y: "blwyddyn",
yy: "%d flynedd"
},
dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
ordinal: function (e) {
var t = e, n = "",
i = ["", "af", "il", "ydd", "ydd", "ed", "ed", "ed", "fed", "fed", "fed", "eg", "fed", "eg", "eg", "fed", "eg", "eg", "fed", "eg", "fed"];
if (t > 20) if (t === 40 || t === 50 || t === 60 || t === 80 || t === 100) n = "fed"; else n = "ain"; else if (t > 0) n = i[t];
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("da", {
months: "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),
monthsShort: "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
weekdays: "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
weekdaysShort: "søn_man_tir_ons_tor_fre_lør".split("_"),
weekdaysMin: "sø_ma_ti_on_to_fr_lø".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY HH:mm",
LLLL: "dddd [d.] D. MMMM YYYY [kl.] HH:mm"
},
calendar: {
sameDay: "[i dag kl.] LT",
nextDay: "[i morgen kl.] LT",
nextWeek: "på dddd [kl.] LT",
lastDay: "[i går kl.] LT",
lastWeek: "[i] dddd[s kl.] LT",
sameElse: "L"
},
relativeTime: {
future: "om %s",
past: "%s siden",
s: "få sekunder",
ss: "%d sekunder",
m: "et minut",
mm: "%d minutter",
h: "en time",
hh: "%d timer",
d: "en dag",
dd: "%d dage",
M: "en måned",
MM: "%d måneder",
y: "et år",
yy: "%d år"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
m: ["eine Minute", "einer Minute"],
h: ["eine Stunde", "einer Stunde"],
d: ["ein Tag", "einem Tag"],
dd: [e + " Tage", e + " Tagen"],
w: ["eine Woche", "einer Woche"],
M: ["ein Monat", "einem Monat"],
MM: [e + " Monate", e + " Monaten"],
y: ["ein Jahr", "einem Jahr"],
yy: [e + " Jahre", e + " Jahren"]
};
return t ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("de", {
months: "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
monthsShort: "Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
monthsParseExact: true,
weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
weekdaysShort: "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY HH:mm",
LLLL: "dddd, D. MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[heute um] LT [Uhr]",
sameElse: "L",
nextDay: "[morgen um] LT [Uhr]",
nextWeek: "dddd [um] LT [Uhr]",
lastDay: "[gestern um] LT [Uhr]",
lastWeek: "[letzten] dddd [um] LT [Uhr]"
},
relativeTime: {
future: "in %s",
past: "vor %s",
s: "ein paar Sekunden",
ss: "%d Sekunden",
m: t,
mm: "%d Minuten",
h: t,
hh: "%d Stunden",
d: t,
dd: t,
w: t,
ww: "%d Wochen",
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
m: ["eine Minute", "einer Minute"],
h: ["eine Stunde", "einer Stunde"],
d: ["ein Tag", "einem Tag"],
dd: [e + " Tage", e + " Tagen"],
w: ["eine Woche", "einer Woche"],
M: ["ein Monat", "einem Monat"],
MM: [e + " Monate", e + " Monaten"],
y: ["ein Jahr", "einem Jahr"],
yy: [e + " Jahre", e + " Jahren"]
};
return t ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("de-at", {
months: "Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
monthsShort: "Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
monthsParseExact: true,
weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
weekdaysShort: "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY HH:mm",
LLLL: "dddd, D. MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[heute um] LT [Uhr]",
sameElse: "L",
nextDay: "[morgen um] LT [Uhr]",
nextWeek: "dddd [um] LT [Uhr]",
lastDay: "[gestern um] LT [Uhr]",
lastWeek: "[letzten] dddd [um] LT [Uhr]"
},
relativeTime: {
future: "in %s",
past: "vor %s",
s: "ein paar Sekunden",
ss: "%d Sekunden",
m: t,
mm: "%d Minuten",
h: t,
hh: "%d Stunden",
d: t,
dd: t,
w: t,
ww: "%d Wochen",
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
m: ["eine Minute", "einer Minute"],
h: ["eine Stunde", "einer Stunde"],
d: ["ein Tag", "einem Tag"],
dd: [e + " Tage", e + " Tagen"],
w: ["eine Woche", "einer Woche"],
M: ["ein Monat", "einem Monat"],
MM: [e + " Monate", e + " Monaten"],
y: ["ein Jahr", "einem Jahr"],
yy: [e + " Jahre", e + " Jahren"]
};
return t ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("de-ch", {
months: "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
monthsShort: "Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),
monthsParseExact: true,
weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
weekdaysShort: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY HH:mm",
LLLL: "dddd, D. MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[heute um] LT [Uhr]",
sameElse: "L",
nextDay: "[morgen um] LT [Uhr]",
nextWeek: "dddd [um] LT [Uhr]",
lastDay: "[gestern um] LT [Uhr]",
lastWeek: "[letzten] dddd [um] LT [Uhr]"
},
relativeTime: {
future: "in %s",
past: "vor %s",
s: "ein paar Sekunden",
ss: "%d Sekunden",
m: t,
mm: "%d Minuten",
h: t,
hh: "%d Stunden",
d: t,
dd: t,
w: t,
ww: "%d Wochen",
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = ["ޖެނުއަރީ", "ފެބްރުއަރީ", "މާރިޗު", "އޭޕްރީލު", "މޭ", "ޖޫން", "ޖުލައި", "އޯގަސްޓު", "ސެޕްޓެމްބަރު", "އޮކްޓޯބަރު", "ނޮވެމްބަރު", "ޑިސެމްބަރު"],
n = ["އާދިއްތަ", "ހޯމަ", "އަންގާރަ", "ބުދަ", "ބުރާސްފަތި", "ހުކުރު", "ހޮނިހިރު"], i;
e.defineLocale("dv", {
months: t,
monthsShort: t,
weekdays: n,
weekdaysShort: n,
weekdaysMin: "އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "D/M/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
meridiemParse: /މކ|މފ/,
isPM: function (e) {
return "މފ" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "މކ"; else return "މފ"
},
calendar: {
sameDay: "[މިއަދު] LT",
nextDay: "[މާދަމާ] LT",
nextWeek: "dddd LT",
lastDay: "[އިއްޔެ] LT",
lastWeek: "[ފާއިތުވި] dddd LT",
sameElse: "L"
},
relativeTime: {
future: "ތެރޭގައި %s",
past: "ކުރިން %s",
s: "ސިކުންތުކޮޅެއް",
ss: "d% ސިކުންތު",
m: "މިނިޓެއް",
mm: "މިނިޓު %d",
h: "ގަޑިއިރެއް",
hh: "ގަޑިއިރު %d",
d: "ދުވަހެއް",
dd: "ދުވަސް %d",
M: "މަހެއް",
MM: "މަސް %d",
y: "އަހަރެއް",
yy: "އަހަރު %d"
},
preparse: function (e) {
return e.replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/,/g, "،")
},
week: {dow: 7, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function r(e) {
return typeof Function !== "undefined" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]"
}
var t;
e.defineLocale("el", {
monthsNominativeEl: "Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),
monthsGenitiveEl: "Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),
months: function (e, t) {
if (!e) return this._monthsNominativeEl; else if (typeof t === "string" && /D/.test(t.substring(0, t.indexOf("MMMM")))) return this._monthsGenitiveEl[e.month()]; else return this._monthsNominativeEl[e.month()]
},
monthsShort: "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),
weekdays: "Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),
weekdaysShort: "Κυρ_Δευ_Τρι_Τετ_Πεμ_Παραβ".split("_"),
weekdaysMin: "Κυ_Δε_Τρ_Τε_Πε_Παα".split("_"),
meridiem: function (e, t, n) {
if (e > 11) return n ? "μμ" : "ΜΜ"; else return n ? "πμ" : "ΠΜ"
},
isPM: function (e) {
return (e + "").toLowerCase()[0] === "μ"
},
meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendarEl: {
sameDay: "[Σήμερα {}] LT",
nextDay: "[Αύριο {}] LT",
nextWeek: "dddd [{}] LT",
lastDay: "[Χθες {}] LT",
lastWeek: function () {
switch (this.day()) {
case 6:
return "[το προηγούμενο] dddd [{}] LT";
default:
return "[την προηγούμενη] dddd [{}] LT"
}
},
sameElse: "L"
},
calendar: function (e, t) {
var n = this._calendarEl[e], i = t && t.hours();
if (r(n)) n = n.apply(t);
return n.replace("{}", i % 12 === 1 ? "στη" : "στις")
},
relativeTime: {
future: "σε %s",
past: "%s πριν",
s: "λίγα δευτερόλεπτα",
ss: "%d δευτερόλεπτα",
m: "ένα λεπτό",
mm: "%d λεπτά",
h: "μία ώρα",
hh: "%d ώρες",
d: "μία μέρα",
dd: "%d μέρες",
M: "ένας μήνας",
MM: "%d μήνες",
y: "ένας χρόνος",
yy: "%d χρόνια"
},
dayOfMonthOrdinalParse: /\d{1,2}η/,
ordinal: "%dη",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-au", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 0, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-ca", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "YYYY-MM-DD",
LL: "MMMM D, YYYY",
LLL: "MMMM D, YYYY h:mm A",
LLLL: "dddd, MMMM D, YYYY h:mm A"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-gb", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-ie", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-il", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-in", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-nz", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("en-sg", {
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
},
relativeTime: {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("eo", {
months: "januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),
monthsShort: "jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec".split("_"),
weekdays: "dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),
weekdaysShort: "dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),
weekdaysMin: "di_lu_ma_me_ĵa_ve_sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "[la] D[-an de] MMMM, YYYY",
LLL: "[la] D[-an de] MMMM, YYYY HH:mm",
LLLL: "dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",
llll: "ddd, [la] D[-an de] MMM, YYYY HH:mm"
},
meridiemParse: /[ap]\.t\.m/i,
isPM: function (e) {
return e.charAt(0).toLowerCase() === "p"
},
meridiem: function (e, t, n) {
if (e > 11) return n ? "p.t.m." : "P.T.M."; else return n ? "a.t.m." : "A.T.M."
},
calendar: {
sameDay: "[Hodiaŭ je] LT",
nextDay: "[Morgaŭ je] LT",
nextWeek: "dddd[n je] LT",
lastDay: "[Hieraŭ je] LT",
lastWeek: "[pasintan] dddd[n je] LT",
sameElse: "L"
},
relativeTime: {
future: "post %s",
past: "antaŭ %s",
s: "kelkaj sekundoj",
ss: "%d sekundoj",
m: "unu minuto",
mm: "%d minutoj",
h: "unu horo",
hh: "%d horoj",
d: "unu tago",
dd: "%d tagoj",
M: "unu monato",
MM: "%d monatoj",
y: "unu jaro",
yy: "%d jaroj"
},
dayOfMonthOrdinalParse: /\d{1,2}a/,
ordinal: "%da",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
t = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
a;
e.defineLocale("es", {
months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY H:mm",
LLLL: "dddd, D [de] MMMM [de] YYYY H:mm"
},
calendar: {
sameDay: function () {
return "[hoy a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextDay: function () {
return "[mañana a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextWeek: function () {
return "dddd [a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastDay: function () {
return "[ayer a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastWeek: function () {
return "[el] dddd [pasado a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: "en %s",
past: "hace %s",
s: "unos segundos",
ss: "%d segundos",
m: "un minuto",
mm: "%d minutos",
h: "una hora",
hh: "%d horas",
d: "un día",
dd: "%d días",
w: "una semana",
ww: "%d semanas",
M: "un mes",
MM: "%d meses",
y: "un año",
yy: "%d años"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4},
invalidDate: "Fecha inválida"
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
t = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
a;
e.defineLocale("es-do", {
months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY h:mm A",
LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A"
},
calendar: {
sameDay: function () {
return "[hoy a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextDay: function () {
return "[mañana a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextWeek: function () {
return "dddd [a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastDay: function () {
return "[ayer a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastWeek: function () {
return "[el] dddd [pasado a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: "en %s",
past: "hace %s",
s: "unos segundos",
ss: "%d segundos",
m: "un minuto",
mm: "%d minutos",
h: "una hora",
hh: "%d horas",
d: "un día",
dd: "%d días",
w: "una semana",
ww: "%d semanas",
M: "un mes",
MM: "%d meses",
y: "un año",
yy: "%d años"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
t = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
a;
e.defineLocale("es-mx", {
months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY H:mm",
LLLL: "dddd, D [de] MMMM [de] YYYY H:mm"
},
calendar: {
sameDay: function () {
return "[hoy a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextDay: function () {
return "[mañana a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextWeek: function () {
return "dddd [a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastDay: function () {
return "[ayer a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastWeek: function () {
return "[el] dddd [pasado a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: "en %s",
past: "hace %s",
s: "unos segundos",
ss: "%d segundos",
m: "un minuto",
mm: "%d minutos",
h: "una hora",
hh: "%d horas",
d: "un día",
dd: "%d días",
w: "una semana",
ww: "%d semanas",
M: "un mes",
MM: "%d meses",
y: "un año",
yy: "%d años"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 0, doy: 4},
invalidDate: "Fecha inválida"
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
i = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
t = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
a;
e.defineLocale("es-us", {
months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
weekdaysShort: "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
weekdaysMin: "do_lu_ma_mi_ju_vi_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "MM/DD/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY h:mm A",
LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A"
},
calendar: {
sameDay: function () {
return "[hoy a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextDay: function () {
return "[mañana a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, nextWeek: function () {
return "dddd [a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastDay: function () {
return "[ayer a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, lastWeek: function () {
return "[el] dddd [pasado a la" + (this.hours() !== 1 ? "s" : "") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: "en %s",
past: "hace %s",
s: "unos segundos",
ss: "%d segundos",
m: "un minuto",
mm: "%d minutos",
h: "una hora",
hh: "%d horas",
d: "un día",
dd: "%d días",
w: "una semana",
ww: "%d semanas",
M: "un mes",
MM: "%d meses",
y: "un año",
yy: "%d años"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
s: ["mõne sekundi", "mõni sekund", "paar sekundit"],
ss: [e + "sekundi", e + "sekundit"],
m: ["ühe minuti", "üks minut"],
mm: [e + " minuti", e + " minutit"],
h: ["ühe tunni", "tund aega", "üks tund"],
hh: [e + " tunni", e + " tundi"],
d: ["ühe päeva", "üks päev"],
M: ["kuu aja", "kuu aega", "üks kuu"],
MM: [e + " kuu", e + " kuud"],
y: ["ühe aasta", "aasta", "üks aasta"],
yy: [e + " aasta", e + " aastat"]
};
if (t) return r[n][2] ? r[n][2] : r[n][1];
return i ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("et", {
months: "jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),
monthsShort: "jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),
weekdays: "pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),
weekdaysShort: "P_E_T_K_N_R_L".split("_"),
weekdaysMin: "P_E_T_K_N_R_L".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd, D. MMMM YYYY H:mm"
},
calendar: {
sameDay: "[Täna,] LT",
nextDay: "[Homme,] LT",
nextWeek: "[Järgmine] dddd LT",
lastDay: "[Eile,] LT",
lastWeek: "[Eelmine] dddd LT",
sameElse: "L"
},
relativeTime: {
future: "%s pärast",
past: "%s tagasi",
s: t,
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: t,
dd: "%d päeva",
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("eu", {
months: "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),
monthsShort: "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),
monthsParseExact: true,
weekdays: "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),
weekdaysShort: "ig._al._ar._az._og._ol._lr.".split("_"),
weekdaysMin: "ig_al_ar_az_og_ol_lr".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "YYYY[ko] MMMM[ren] D[a]",
LLL: "YYYY[ko] MMMM[ren] D[a] HH:mm",
LLLL: "dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",
l: "YYYY-M-D",
ll: "YYYY[ko] MMM D[a]",
lll: "YYYY[ko] MMM D[a] HH:mm",
llll: "ddd, YYYY[ko] MMM D[a] HH:mm"
},
calendar: {
sameDay: "[gaur] LT[etan]",
nextDay: "[bihar] LT[etan]",
nextWeek: "dddd LT[etan]",
lastDay: "[atzo] LT[etan]",
lastWeek: "[aurreko] dddd LT[etan]",
sameElse: "L"
},
relativeTime: {
future: "%s barru",
past: "duela %s",
s: "segundo batzuk",
ss: "%d segundo",
m: "minutu bat",
mm: "%d minutu",
h: "ordu bat",
hh: "%d ordu",
d: "egun bat",
dd: "%d egun",
M: "hilabete bat",
MM: "%d hilabete",
y: "urte bat",
yy: "%d urte"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "۱", 2: "۲", 3: "۳", 4: "۴", 5: "۵", 6: "۶", 7: "۷", 8: "۸", 9: "۹", 0: "۰"}, n = {
"۱": "1",
"۲": "2",
"۳": "3",
"۴": "4",
"۵": "5",
"۶": "6",
"۷": "7",
"۸": "8",
"۹": "9",
"۰": "0"
}, i;
e.defineLocale("fa", {
months: "ژانویه_فوریهارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
monthsShort: "ژانویه_فوریهارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
weekdays: "یکشنبه_دوشنبههشنبههارشنبه_پنجشنبه_جمعه_شنبه".split("_"),
weekdaysShort: "یکشنبه_دوشنبههشنبههارشنبه_پنجشنبه_جمعه_شنبه".split("_"),
weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
meridiemParse: /قبل از ظهر|بعد از ظهر/,
isPM: function (e) {
return /بعد از ظهر/.test(e)
},
meridiem: function (e, t, n) {
if (e < 12) return "قبل از ظهر"; else return "بعد از ظهر"
},
calendar: {
sameDay: "[امروز ساعت] LT",
nextDay: "[فردا ساعت] LT",
nextWeek: "dddd [ساعت] LT",
lastDay: "[دیروز ساعت] LT",
lastWeek: "dddd [پیش] [ساعت] LT",
sameElse: "L"
},
relativeTime: {
future: "در %s",
past: "%s پیش",
s: "چند ثانیه",
ss: "%d ثانیه",
m: "یک دقیقه",
mm: "%d دقیقه",
h: "یک ساعت",
hh: "%d ساعت",
d: "یک روز",
dd: "%d روز",
M: "یک ماه",
MM: "%d ماه",
y: "یک سال",
yy: "%d سال"
},
preparse: function (e) {
return e.replace(/[۰-۹]/g, function (e) {
return n[e]
}).replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
}).replace(/,/g, "،")
},
dayOfMonthOrdinalParse: /\d{1,2}م/,
ordinal: "%dم",
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),
i = ["nolla", "yhden", "kahden", "kolmen", "neljän", "viiden", "kuuden", n[7], n[8], n[9]], t;
function r(e, t, n, i) {
var r = "";
switch (n) {
case"s":
return i ? "muutaman sekunnin" : "muutama sekunti";
case"ss":
r = i ? "sekunnin" : "sekuntia";
break;
case"m":
return i ? "minuutin" : "minuutti";
case"mm":
r = i ? "minuutin" : "minuuttia";
break;
case"h":
return i ? "tunnin" : "tunti";
case"hh":
r = i ? "tunnin" : "tuntia";
break;
case"d":
return i ? "päivän" : "päivä";
case"dd":
r = i ? "päivän" : "päivää";
break;
case"M":
return i ? "kuukauden" : "kuukausi";
case"MM":
r = i ? "kuukauden" : "kuukautta";
break;
case"y":
return i ? "vuoden" : "vuosi";
case"yy":
r = i ? "vuoden" : "vuotta";
break
}
r = a(e, i) + " " + r;
return r
}
function a(e, t) {
return e < 10 ? t ? i[e] : n[e] : e
}
e.defineLocale("fi", {
months: "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),
monthsShort: "tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),
weekdays: "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),
weekdaysShort: "su_ma_ti_ke_to_pe_la".split("_"),
weekdaysMin: "su_ma_ti_ke_to_pe_la".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD.MM.YYYY",
LL: "Do MMMM[ta] YYYY",
LLL: "Do MMMM[ta] YYYY, [klo] HH.mm",
LLLL: "dddd, Do MMMM[ta] YYYY, [klo] HH.mm",
l: "D.M.YYYY",
ll: "Do MMM YYYY",
lll: "Do MMM YYYY, [klo] HH.mm",
llll: "ddd, Do MMM YYYY, [klo] HH.mm"
},
calendar: {
sameDay: "[tänään] [klo] LT",
nextDay: "[huomenna] [klo] LT",
nextWeek: "dddd [klo] LT",
lastDay: "[eilen] [klo] LT",
lastWeek: "[viime] dddd[na] [klo] LT",
sameElse: "L"
},
relativeTime: {
future: "%s päästä",
past: "%s sitten",
s: r,
ss: r,
m: r,
mm: r,
h: r,
hh: r,
d: r,
dd: r,
M: r,
MM: r,
y: r,
yy: r
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("fil", {
months: "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
monthsShort: "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
weekdays: "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
weekdaysShort: "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
weekdaysMin: "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "MM/D/YYYY",
LL: "MMMM D, YYYY",
LLL: "MMMM D, YYYY HH:mm",
LLLL: "dddd, MMMM DD, YYYY HH:mm"
},
calendar: {
sameDay: "LT [ngayong araw]",
nextDay: "[Bukas ng] LT",
nextWeek: "LT [sa susunod na] dddd",
lastDay: "LT [kahapon]",
lastWeek: "LT [noong nakaraang] dddd",
sameElse: "L"
},
relativeTime: {
future: "sa loob ng %s",
past: "%s ang nakalipas",
s: "ilang segundo",
ss: "%d segundo",
m: "isang minuto",
mm: "%d minuto",
h: "isang oras",
hh: "%d oras",
d: "isang araw",
dd: "%d araw",
M: "isang buwan",
MM: "%d buwan",
y: "isang taon",
yy: "%d taon"
},
dayOfMonthOrdinalParse: /\d{1,2}/,
ordinal: function (e) {
return e
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("fo", {
months: "januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),
monthsShort: "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),
weekdays: "sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),
weekdaysShort: "sun_mán_týs_mik_hós_frí_ley".split("_"),
weekdaysMin: "su_má_tý_mi_hó_fr_le".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D. MMMM, YYYY HH:mm"
},
calendar: {
sameDay: "[Í dag kl.] LT",
nextDay: "[Í morgin kl.] LT",
nextWeek: "dddd [kl.] LT",
lastDay: "[Í gjár kl.] LT",
lastWeek: "[síðstu] dddd [kl] LT",
sameElse: "L"
},
relativeTime: {
future: "um %s",
past: "%s síðani",
s: "fá sekund",
ss: "%d sekundir",
m: "ein minuttur",
mm: "%d minuttir",
h: "ein tími",
hh: "%d tímar",
d: "ein dagur",
dd: "%d dagar",
M: "ein mánaður",
MM: "%d mánaðir",
y: "eitt ár",
yy: "%d ár"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
n = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
i = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
r = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i],
a;
e.defineLocale("fr", {
months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
monthsRegex: i,
monthsShortRegex: i,
monthsStrictRegex: t,
monthsShortStrictRegex: n,
monthsParse: r,
longMonthsParse: r,
shortMonthsParse: r,
weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Aujourdhui à] LT",
nextDay: "[Demain à] LT",
nextWeek: "dddd [à] LT",
lastDay: "[Hier à] LT",
lastWeek: "dddd [dernier à] LT",
sameElse: "L"
},
relativeTime: {
future: "dans %s",
past: "il y a %s",
s: "quelques secondes",
ss: "%d secondes",
m: "une minute",
mm: "%d minutes",
h: "une heure",
hh: "%d heures",
d: "un jour",
dd: "%d jours",
w: "une semaine",
ww: "%d semaines",
M: "un mois",
MM: "%d mois",
y: "un an",
yy: "%d ans"
},
dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
ordinal: function (e, t) {
switch (t) {
case"D":
return e + (e === 1 ? "er" : "");
default:
case"M":
case"Q":
case"DDD":
case"d":
return e + (e === 1 ? "er" : "e");
case"w":
case"W":
return e + (e === 1 ? "re" : "e")
}
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("fr-ca", {
months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
monthsParseExact: true,
weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Aujourdhui à] LT",
nextDay: "[Demain à] LT",
nextWeek: "dddd [à] LT",
lastDay: "[Hier à] LT",
lastWeek: "dddd [dernier à] LT",
sameElse: "L"
},
relativeTime: {
future: "dans %s",
past: "il y a %s",
s: "quelques secondes",
ss: "%d secondes",
m: "une minute",
mm: "%d minutes",
h: "une heure",
hh: "%d heures",
d: "un jour",
dd: "%d jours",
M: "un mois",
MM: "%d mois",
y: "un an",
yy: "%d ans"
},
dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
ordinal: function (e, t) {
switch (t) {
default:
case"M":
case"Q":
case"D":
case"DDD":
case"d":
return e + (e === 1 ? "er" : "e");
case"w":
case"W":
return e + (e === 1 ? "re" : "e")
}
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("fr-ch", {
months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
monthsParseExact: true,
weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Aujourdhui à] LT",
nextDay: "[Demain à] LT",
nextWeek: "dddd [à] LT",
lastDay: "[Hier à] LT",
lastWeek: "dddd [dernier à] LT",
sameElse: "L"
},
relativeTime: {
future: "dans %s",
past: "il y a %s",
s: "quelques secondes",
ss: "%d secondes",
m: "une minute",
mm: "%d minutes",
h: "une heure",
hh: "%d heures",
d: "un jour",
dd: "%d jours",
M: "un mois",
MM: "%d mois",
y: "un an",
yy: "%d ans"
},
dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
ordinal: function (e, t) {
switch (t) {
default:
case"M":
case"Q":
case"D":
case"DDD":
case"d":
return e + (e === 1 ? "er" : "e");
case"w":
case"W":
return e + (e === 1 ? "re" : "e")
}
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),
i = "jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"), t;
e.defineLocale("fy", {
months: "jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsParseExact: true,
weekdays: "snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),
weekdaysShort: "si._mo._ti._wo._to._fr._so.".split("_"),
weekdaysMin: "Si_Mo_Ti_Wo_To_Fr_So".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD-MM-YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[hjoed om] LT",
nextDay: "[moarn om] LT",
nextWeek: "dddd [om] LT",
lastDay: "[juster om] LT",
lastWeek: "[ôfrûne] dddd [om] LT",
sameElse: "L"
},
relativeTime: {
future: "oer %s",
past: "%s lyn",
s: "in pear sekonden",
ss: "%d sekonden",
m: "ien minút",
mm: "%d minuten",
h: "ien oere",
hh: "%d oeren",
d: "ien dei",
dd: "%d dagen",
M: "ien moanne",
MM: "%d moannen",
y: "ien jier",
yy: "%d jierren"
},
dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
ordinal: function (e) {
return e + (e === 1 || e === 8 || e >= 20 ? "ste" : "de")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t, n, i, r, a, s;
e.defineLocale("ga", {
months: ["Eanáir", "Feabhra", "Márta", "Aibreán", "Bealtaine", "Meitheamh", "Iúil", "Lúnasa", "Meán Fómhair", "Deireadh Fómhair", "Samhain", "Nollaig"],
monthsShort: ["Ean", "Feabh", "Márt", "Aib", "Beal", "Meith", "Iúil", "Lún", "M.F.", "D.F.", "Samh", "Noll"],
monthsParseExact: true,
weekdays: ["Dé Domhnaigh", "Dé Luain", "Dé Máirt", "Dé Céadaoin", "Déardaoin", "Dé hAoine", "Dé Sathairn"],
weekdaysShort: ["Domh", "Luan", "Máirt", "Céad", "Déar", "Aoine", "Sath"],
weekdaysMin: ["Do", "Lu", "Má", "Cé", "Dé", "A", "Sa"],
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Inniu ag] LT",
nextDay: "[Amárach ag] LT",
nextWeek: "dddd [ag] LT",
lastDay: "[Inné ag] LT",
lastWeek: "dddd [seo caite] [ag] LT",
sameElse: "L"
},
relativeTime: {
future: "i %s",
past: "%s ó shin",
s: "cúpla soicind",
ss: "%d soicind",
m: "nóiméad",
mm: "%d nóiméad",
h: "uair an chloig",
hh: "%d uair an chloig",
d: "lá",
dd: "%d lá",
M: "mí",
MM: "%d míonna",
y: "bliain",
yy: "%d bliain"
},
dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
ordinal: function (e) {
var t = e === 1 ? "d" : e % 10 === 2 ? "na" : "mh";
return e + t
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t, n, i, r, a, s;
e.defineLocale("gd", {
months: ["Am Faoilleach", "An Gearran", "Am Màrt", "An Giblean", "An Cèitean", "An t-Ògmhios", "An t-Iuchar", "An Lùnastal", "An t-Sultain", "An Dàmhair", "An t-Samhain", "An Dùbhlachd"],
monthsShort: ["Faoi", "Gear", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùn", "Sult", "Dàmh", "Samh", "Dùbh"],
monthsParseExact: true,
weekdays: ["Didòmhnaich", "Diluain", "Dimàirt", "Diciadain", "Diardaoin", "Dihaoine", "Disathairne"],
weekdaysShort: ["Did", "Dil", "Dim", "Dic", "Dia", "Dih", "Dis"],
weekdaysMin: ["Dò", "Lu", "Mà", "Ci", "Ar", "Ha", "Sa"],
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[An-diugh aig] LT",
nextDay: "[A-màireach aig] LT",
nextWeek: "dddd [aig] LT",
lastDay: "[An-dè aig] LT",
lastWeek: "dddd [seo chaidh] [aig] LT",
sameElse: "L"
},
relativeTime: {
future: "ann an %s",
past: "bho chionn %s",
s: "beagan diogan",
ss: "%d diogan",
m: "mionaid",
mm: "%d mionaidean",
h: "uair",
hh: "%d uairean",
d: "latha",
dd: "%d latha",
M: "mìos",
MM: "%d mìosan",
y: "bliadhna",
yy: "%d bliadhna"
},
dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
ordinal: function (e) {
var t = e === 1 ? "d" : e % 10 === 2 ? "na" : "mh";
return e + t
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("gl", {
months: "xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),
monthsShort: "xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),
weekdaysShort: "dom._lun._mar._mér._xov._ven._sáb.".split("_"),
weekdaysMin: "do_lu_ma_mé_xo_ve_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY H:mm",
LLLL: "dddd, D [de] MMMM [de] YYYY H:mm"
},
calendar: {
sameDay: function () {
return "[hoxe " + (this.hours() !== 1 ? "ás" : "á") + "] LT"
}, nextDay: function () {
return "[mañá " + (this.hours() !== 1 ? "ás" : "á") + "] LT"
}, nextWeek: function () {
return "dddd [" + (this.hours() !== 1 ? "ás" : "a") + "] LT"
}, lastDay: function () {
return "[onte " + (this.hours() !== 1 ? "á" : "a") + "] LT"
}, lastWeek: function () {
return "[o] dddd [pasado " + (this.hours() !== 1 ? "ás" : "a") + "] LT"
}, sameElse: "L"
},
relativeTime: {
future: function (e) {
if (e.indexOf("un") === 0) return "n" + e;
return "en " + e
},
past: "hai %s",
s: "uns segundos",
ss: "%d segundos",
m: "un minuto",
mm: "%d minutos",
h: "unha hora",
hh: "%d horas",
d: "un día",
dd: "%d días",
M: "un mes",
MM: "%d meses",
y: "un ano",
yy: "%d anos"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
s: ["थोडया सॅकंडांनी", "थोडे सॅकंड"],
ss: [e + " सॅकंडांनी", e + " सॅकंड"],
m: ["एका मिणटान", "एक मिनूट"],
mm: [e + " मिणटांनी", e + " मिणटां"],
h: ["एका वरान", "एक वर"],
hh: [e + " वरांनी", e + " वरां"],
d: ["एका दिसान", "एक दीस"],
dd: [e + " दिसांनी", e + " दीस"],
M: ["एका म्हयन्यान", "एक म्हयनो"],
MM: [e + " म्हयन्यानी", e + " म्हयने"],
y: ["एका वर्सान", "एक वर्स"],
yy: [e + " वर्सांनी", e + " वर्सां"]
};
return i ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("gom-deva", {
months: {
standalone: "जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
format: "जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या".split("_"),
isFormat: /MMMM(\s)+D[oD]?/
},
monthsShort: "जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
monthsParseExact: true,
weekdays: "आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार".split("_"),
weekdaysShort: "आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.".split("_"),
weekdaysMin: "आ_सो_मं_बु_ब्रे_सु_शे".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "A h:mm [वाजतां]",
LTS: "A h:mm:ss [वाजतां]",
L: "DD-MM-YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY A h:mm [वाजतां]",
LLLL: "dddd, MMMM Do, YYYY, A h:mm [वाजतां]",
llll: "ddd, D MMM YYYY, A h:mm [वाजतां]"
},
calendar: {
sameDay: "[आयज] LT",
nextDay: "[फाल्यां] LT",
nextWeek: "[फुडलो] dddd[,] LT",
lastDay: "[काल] LT",
lastWeek: "[फाटलो] dddd[,] LT",
sameElse: "L"
},
relativeTime: {
future: "%s",
past: "%s आदीं",
s: t,
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: t,
dd: t,
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
ordinal: function (e, t) {
switch (t) {
case"D":
return e + "वेर";
default:
case"M":
case"Q":
case"DDD":
case"d":
case"w":
case"W":
return e
}
},
week: {dow: 0, doy: 3},
meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "राती") return e < 4 ? e : e + 12; else if (t === "सकाळीं") return e; else if (t === "दनपारां") return e > 12 ? e : e + 12; else if (t === "सांजे") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "राती"; else if (e < 12) return "सकाळीं"; else if (e < 16) return "दनपारां"; else if (e < 20) return "सांजे"; else return "राती"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
s: ["thoddea sekondamni", "thodde sekond"],
ss: [e + " sekondamni", e + " sekond"],
m: ["eka mintan", "ek minut"],
mm: [e + " mintamni", e + " mintam"],
h: ["eka voran", "ek vor"],
hh: [e + " voramni", e + " voram"],
d: ["eka disan", "ek dis"],
dd: [e + " disamni", e + " dis"],
M: ["eka mhoinean", "ek mhoino"],
MM: [e + " mhoineamni", e + " mhoine"],
y: ["eka vorsan", "ek voros"],
yy: [e + " vorsamni", e + " vorsam"]
};
return i ? r[n][0] : r[n][1]
}
var n;
e.defineLocale("gom-latn", {
months: {
standalone: "Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),
format: "Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),
isFormat: /MMMM(\s)+D[oD]?/
},
monthsShort: "Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),
monthsParseExact: true,
weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),
weekdaysShort: "Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),
weekdaysMin: "Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "A h:mm [vazta]",
LTS: "A h:mm:ss [vazta]",
L: "DD-MM-YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY A h:mm [vazta]",
LLLL: "dddd, MMMM Do, YYYY, A h:mm [vazta]",
llll: "ddd, D MMM YYYY, A h:mm [vazta]"
},
calendar: {
sameDay: "[Aiz] LT",
nextDay: "[Faleam] LT",
nextWeek: "[Fuddlo] dddd[,] LT",
lastDay: "[Kal] LT",
lastWeek: "[Fattlo] dddd[,] LT",
sameElse: "L"
},
relativeTime: {
future: "%s",
past: "%s adim",
s: t,
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: t,
dd: t,
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}(er)/,
ordinal: function (e, t) {
switch (t) {
case"D":
return e + "er";
default:
case"M":
case"Q":
case"DDD":
case"d":
case"w":
case"W":
return e
}
},
week: {dow: 0, doy: 3},
meridiemParse: /rati|sokallim|donparam|sanje/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "rati") return e < 4 ? e : e + 12; else if (t === "sokallim") return e; else if (t === "donparam") return e > 12 ? e : e + 12; else if (t === "sanje") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "rati"; else if (e < 12) return "sokallim"; else if (e < 16) return "donparam"; else if (e < 20) return "sanje"; else return "rati"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "૧", 2: "૨", 3: "૩", 4: "૪", 5: "૫", 6: "૬", 7: "૭", 8: "૮", 9: "૯", 0: ""}, n = {
"૧": "1",
"૨": "2",
"૩": "3",
"૪": "4",
"૫": "5",
"૬": "6",
"૭": "7",
"૮": "8",
"૯": "9",
"": "0"
}, i;
e.defineLocale("gu", {
months: "જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),
monthsShort: "જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),
monthsParseExact: true,
weekdays: "રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),
weekdaysShort: "રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),
weekdaysMin: "ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),
longDateFormat: {
LT: "A h:mm વાગ્યે",
LTS: "A h:mm:ss વાગ્યે",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm વાગ્યે",
LLLL: "dddd, D MMMM YYYY, A h:mm વાગ્યે"
},
calendar: {
sameDay: "[આજ] LT",
nextDay: "[કાલે] LT",
nextWeek: "dddd, LT",
lastDay: "[ગઇકાલે] LT",
lastWeek: "[પાછલા] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s મા",
past: "%s પહેલા",
s: "અમુક પળો",
ss: "%d સેકંડ",
m: "એક મિનિટ",
mm: "%d મિનિટ",
h: "એક કલાક",
hh: "%d કલાક",
d: "એક દિવસ",
dd: "%d દિવસ",
M: "એક મહિનો",
MM: "%d મહિનો",
y: "એક વર્ષ",
yy: "%d વર્ષ"
},
preparse: function (e) {
return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "રાત") return e < 4 ? e : e + 12; else if (t === "સવાર") return e; else if (t === "બપોર") return e >= 10 ? e : e + 12; else if (t === "સાંજ") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "રાત"; else if (e < 10) return "સવાર"; else if (e < 17) return "બપોર"; else if (e < 20) return "સાંજ"; else return "રાત"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("he", {
months: "ינואר_פברואר_מרץ_אפריל_מאי_יוני_יוליוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),
monthsShort: "ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יוליוג׳_ספט׳וק׳וב׳_דצמ׳".split("_"),
weekdays: "ראשון_שני_שלישי_רביעי_חמישיישי_שבת".split("_"),
weekdaysShort: "א׳׳׳׳׳_ו׳׳".split("_"),
weekdaysMin: "א_ב_ג_ד_ה_ו_ש".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D [ב]MMMM YYYY",
LLL: "D [ב]MMMM YYYY HH:mm",
LLLL: "dddd, D [ב]MMMM YYYY HH:mm",
l: "D/M/YYYY",
ll: "D MMM YYYY",
lll: "D MMM YYYY HH:mm",
llll: "ddd, D MMM YYYY HH:mm"
},
calendar: {
sameDay: "[היום ב־]LT",
nextDay: "[מחר ב־]LT",
nextWeek: "dddd [בשעה] LT",
lastDay: "[אתמול ב־]LT",
lastWeek: "[ביום] dddd [האחרון בשעה] LT",
sameElse: "L"
},
relativeTime: {
future: "בעוד %s",
past: "לפני %s",
s: "מספר שניות",
ss: "%d שניות",
m: "דקה",
mm: "%d דקות",
h: "שעה",
hh: function (e) {
if (e === 2) return "שעתיים";
return e + " שעות"
},
d: "יום",
dd: function (e) {
if (e === 2) return "יומיים";
return e + " ימים"
},
M: "חודש",
MM: function (e) {
if (e === 2) return "חודשיים";
return e + " חודשים"
},
y: "שנה",
yy: function (e) {
if (e === 2) return "שנתיים"; else if (e % 10 === 0 && e !== 10) return e + " שנה";
return e + " שנים"
}
},
meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
isPM: function (e) {
return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)
},
meridiem: function (e, t, n) {
if (e < 5) return "לפנות בוקר"; else if (e < 10) return "בבוקר"; else if (e < 12) return n ? 'לפנה"צ' : "לפני הצהריים"; else if (e < 18) return n ? 'אחה"צ' : "אחרי הצהריים"; else return "בערב"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: ""}, n = {
"१": "1",
"२": "2",
"३": "3",
"४": "4",
"५": "5",
"६": "6",
"७": "7",
"८": "8",
"९": "9",
"": "0"
},
i = [/^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i],
r = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i],
a;
e.defineLocale("hi", {
months: {
format: "जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),
standalone: "जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर".split("_")
},
monthsShort: "जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),
weekdays: "रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),
weekdaysShort: "रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),
weekdaysMin: "र_सो_मं_बु_गु_शु_श".split("_"),
longDateFormat: {
LT: "A h:mm बजे",
LTS: "A h:mm:ss बजे",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm बजे",
LLLL: "dddd, D MMMM YYYY, A h:mm बजे"
},
monthsParse: i,
longMonthsParse: i,
shortMonthsParse: r,
monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,
monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,
calendar: {
sameDay: "[आज] LT",
nextDay: "[कल] LT",
nextWeek: "dddd, LT",
lastDay: "[कल] LT",
lastWeek: "[पिछले] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s में",
past: "%s पहले",
s: "कुछ ही क्षण",
ss: "%d सेकंड",
m: "एक मिनट",
mm: "%d मिनट",
h: "एक घंटा",
hh: "%d घंटे",
d: "एक दिन",
dd: "%d दिन",
M: "एक महीने",
MM: "%d महीने",
y: "एक वर्ष",
yy: "%d वर्ष"
},
preparse: function (e) {
return e.replace(/[१२३४५६७८९०]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /रात|सुबह|दोपहर|शाम/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "रात") return e < 4 ? e : e + 12; else if (t === "सुबह") return e; else if (t === "दोपहर") return e >= 10 ? e : e + 12; else if (t === "शाम") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "रात"; else if (e < 10) return "सुबह"; else if (e < 17) return "दोपहर"; else if (e < 20) return "शाम"; else return "रात"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n) {
var i = e + " ";
switch (n) {
case"ss":
if (e === 1) i += "sekunda"; else if (e === 2 || e === 3 || e === 4) i += "sekunde"; else i += "sekundi";
return i;
case"m":
return t ? "jedna minuta" : "jedne minute";
case"mm":
if (e === 1) i += "minuta"; else if (e === 2 || e === 3 || e === 4) i += "minute"; else i += "minuta";
return i;
case"h":
return t ? "jedan sat" : "jednog sata";
case"hh":
if (e === 1) i += "sat"; else if (e === 2 || e === 3 || e === 4) i += "sata"; else i += "sati";
return i;
case"dd":
if (e === 1) i += "dan"; else i += "dana";
return i;
case"MM":
if (e === 1) i += "mjesec"; else if (e === 2 || e === 3 || e === 4) i += "mjeseca"; else i += "mjeseci";
return i;
case"yy":
if (e === 1) i += "godina"; else if (e === 2 || e === 3 || e === 4) i += "godine"; else i += "godina";
return i
}
}
var n;
e.defineLocale("hr", {
months: {
format: "siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),
standalone: "siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")
},
monthsShort: "sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),
monthsParseExact: true,
weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "Do MMMM YYYY",
LLL: "Do MMMM YYYY H:mm",
LLLL: "dddd, Do MMMM YYYY H:mm"
},
calendar: {
sameDay: "[danas u] LT", nextDay: "[sutra u] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[u] [nedjelju] [u] LT";
case 3:
return "[u] [srijedu] [u] LT";
case 6:
return "[u] [subotu] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[u] dddd [u] LT"
}
}, lastDay: "[jučer u] LT", lastWeek: function () {
switch (this.day()) {
case 0:
return "[prošlu] [nedjelju] [u] LT";
case 3:
return "[prošlu] [srijedu] [u] LT";
case 6:
return "[prošle] [subote] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[prošli] dddd [u] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "prije %s",
s: "par sekundi",
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: "dan",
dd: t,
M: "mjesec",
MM: t,
y: "godinu",
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = "vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "), n;
function i(e, t, n, i) {
var r = e;
switch (n) {
case"s":
return i || t ? "néhány másodperc" : "néhány másodperce";
case"ss":
return r + (i || t) ? " másodperc" : " másodperce";
case"m":
return "egy" + (i || t ? " perc" : " perce");
case"mm":
return r + (i || t ? " perc" : " perce");
case"h":
return "egy" + (i || t ? " óra" : " órája");
case"hh":
return r + (i || t ? " óra" : " órája");
case"d":
return "egy" + (i || t ? " nap" : " napja");
case"dd":
return r + (i || t ? " nap" : " napja");
case"M":
return "egy" + (i || t ? " hónap" : " hónapja");
case"MM":
return r + (i || t ? " hónap" : " hónapja");
case"y":
return "egy" + (i || t ? " év" : " éve");
case"yy":
return r + (i || t ? " év" : " éve")
}
return ""
}
function r(e) {
return (e ? "" : "[múlt] ") + "[" + t[this.day()] + "] LT[-kor]"
}
e.defineLocale("hu", {
months: "január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),
monthsShort: "jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),
weekdaysShort: "vas_hét_kedd_sze_csüt_pén_szo".split("_"),
weekdaysMin: "v_h_k_sze_cs_p_szo".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "YYYY.MM.DD.",
LL: "YYYY. MMMM D.",
LLL: "YYYY. MMMM D. H:mm",
LLLL: "YYYY. MMMM D., dddd H:mm"
},
meridiemParse: /de|du/i,
isPM: function (e) {
return e.charAt(1).toLowerCase() === "u"
},
meridiem: function (e, t, n) {
if (e < 12) return n === true ? "de" : "DE"; else return n === true ? "du" : "DU"
},
calendar: {
sameDay: "[ma] LT[-kor]", nextDay: "[holnap] LT[-kor]", nextWeek: function () {
return r.call(this, true)
}, lastDay: "[tegnap] LT[-kor]", lastWeek: function () {
return r.call(this, false)
}, sameElse: "L"
},
relativeTime: {
future: "%s múlva",
past: "%s",
s: i,
ss: i,
m: i,
mm: i,
h: i,
hh: i,
d: i,
dd: i,
M: i,
MM: i,
y: i,
yy: i
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("hy-am", {
months: {
format: "հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),
standalone: "հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")
},
monthsShort: "հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),
weekdays: "կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),
weekdaysShort: "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
weekdaysMin: "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY թ.",
LLL: "D MMMM YYYY թ., HH:mm",
LLLL: "dddd, D MMMM YYYY թ., HH:mm"
},
calendar: {
sameDay: "[այսօր] LT", nextDay: "[վաղը] LT", lastDay: "[երեկ] LT", nextWeek: function () {
return "dddd [օրը ժամը] LT"
}, lastWeek: function () {
return "[անցած] dddd [օրը ժամը] LT"
}, sameElse: "L"
},
relativeTime: {
future: "%s հետո",
past: "%s առաջ",
s: "մի քանի վայրկյան",
ss: "%d վայրկյան",
m: "րոպե",
mm: "%d րոպե",
h: "ժամ",
hh: "%d ժամ",
d: "օր",
dd: "%d օր",
M: "ամիս",
MM: "%d ամիս",
y: "տարի",
yy: "%d տարի"
},
meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
isPM: function (e) {
return /^(ցերեկվա|երեկոյան)$/.test(e)
},
meridiem: function (e) {
if (e < 4) return "գիշերվա"; else if (e < 12) return "առավոտվա"; else if (e < 17) return "ցերեկվա"; else return "երեկոյան"
},
dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
ordinal: function (e, t) {
switch (t) {
case"DDD":
case"w":
case"W":
case"DDDo":
if (e === 1) return e + "-ին";
return e + "-րդ";
default:
return e
}
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("id", {
months: "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),
weekdays: "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),
weekdaysShort: "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),
weekdaysMin: "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [pukul] HH.mm",
LLLL: "dddd, D MMMM YYYY [pukul] HH.mm"
},
meridiemParse: /pagi|siang|sore|malam/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "pagi") return e; else if (t === "siang") return e >= 11 ? e : e + 12; else if (t === "sore" || t === "malam") return e + 12
},
meridiem: function (e, t, n) {
if (e < 11) return "pagi"; else if (e < 15) return "siang"; else if (e < 19) return "sore"; else return "malam"
},
calendar: {
sameDay: "[Hari ini pukul] LT",
nextDay: "[Besok pukul] LT",
nextWeek: "dddd [pukul] LT",
lastDay: "[Kemarin pukul] LT",
lastWeek: "dddd [lalu pukul] LT",
sameElse: "L"
},
relativeTime: {
future: "dalam %s",
past: "%s yang lalu",
s: "beberapa detik",
ss: "%d detik",
m: "semenit",
mm: "%d menit",
h: "sejam",
hh: "%d jam",
d: "sehari",
dd: "%d hari",
M: "sebulan",
MM: "%d bulan",
y: "setahun",
yy: "%d tahun"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function a(e) {
if (e % 100 === 11) return true; else if (e % 10 === 1) return false;
return true
}
function t(e, t, n, i) {
var r = e + " ";
switch (n) {
case"s":
return t || i ? "nokkrar sekúndur" : "nokkrum sekúndum";
case"ss":
if (a(e)) return r + (t || i ? "sekúndur" : "sekúndum");
return r + "sekúnda";
case"m":
return t ? "mínúta" : "mínútu";
case"mm":
if (a(e)) return r + (t || i ? "mínútur" : "mínútum"); else if (t) return r + "mínúta";
return r + "mínútu";
case"hh":
if (a(e)) return r + (t || i ? "klukkustundir" : "klukkustundum");
return r + "klukkustund";
case"d":
if (t) return "dagur";
return i ? "dag" : "degi";
case"dd":
if (a(e)) {
if (t) return r + "dagar";
return r + (i ? "daga" : "dögum")
} else if (t) return r + "dagur";
return r + (i ? "dag" : "degi");
case"M":
if (t) return "mánuður";
return i ? "mánuð" : "mánuði";
case"MM":
if (a(e)) {
if (t) return r + "mánuðir";
return r + (i ? "mánuði" : "mánuðum")
} else if (t) return r + "mánuður";
return r + (i ? "mánuð" : "mánuði");
case"y":
return t || i ? "ár" : "ári";
case"yy":
if (a(e)) return r + (t || i ? "ár" : "árum");
return r + (t || i ? "ár" : "ári")
}
}
var n;
e.defineLocale("is", {
months: "janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),
monthsShort: "jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),
weekdays: "sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),
weekdaysShort: "sun_mán_þri_mið_fim_fös_lau".split("_"),
weekdaysMin: "Su_Má_Þr_Mi_Fi_Fö_La".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY [kl.] H:mm",
LLLL: "dddd, D. MMMM YYYY [kl.] H:mm"
},
calendar: {
sameDay: "[í dag kl.] LT",
nextDay: "[á morgun kl.] LT",
nextWeek: "dddd [kl.] LT",
lastDay: "[í gær kl.] LT",
lastWeek: "[síðasta] dddd [kl.] LT",
sameElse: "L"
},
relativeTime: {
future: "eftir %s",
past: "fyrir %s síðan",
s: t,
ss: t,
m: t,
mm: t,
h: "klukkustund",
hh: t,
d: t,
dd: t,
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("it", {
months: "gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),
monthsShort: "gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),
weekdays: "domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),
weekdaysShort: "dom_lun_mar_mer_gio_ven_sab".split("_"),
weekdaysMin: "do_lu_ma_me_gi_ve_sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: function () {
return "[Oggi a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT"
}, nextDay: function () {
return "[Domani a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT"
}, nextWeek: function () {
return "dddd [a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT"
}, lastDay: function () {
return "[Ieri a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT"
}, lastWeek: function () {
switch (this.day()) {
case 0:
return "[La scorsa] dddd [a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT";
default:
return "[Lo scorso] dddd [a" + (this.hours() > 1 ? "lle " : this.hours() === 0 ? " " : "ll'") + "]LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "tra %s",
past: "%s fa",
s: "alcuni secondi",
ss: "%d secondi",
m: "un minuto",
mm: "%d minuti",
h: "un'ora",
hh: "%d ore",
d: "un giorno",
dd: "%d giorni",
w: "una settimana",
ww: "%d settimane",
M: "un mese",
MM: "%d mesi",
y: "un anno",
yy: "%d anni"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("it-ch", {
months: "gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),
monthsShort: "gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),
weekdays: "domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),
weekdaysShort: "dom_lun_mar_mer_gio_ven_sab".split("_"),
weekdaysMin: "do_lu_ma_me_gi_ve_sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Oggi alle] LT",
nextDay: "[Domani alle] LT",
nextWeek: "dddd [alle] LT",
lastDay: "[Ieri alle] LT",
lastWeek: function () {
switch (this.day()) {
case 0:
return "[la scorsa] dddd [alle] LT";
default:
return "[lo scorso] dddd [alle] LT"
}
},
sameElse: "L"
},
relativeTime: {
future: function (e) {
return (/^[0-9].+$/.test(e) ? "tra" : "in") + " " + e
},
past: "%s fa",
s: "alcuni secondi",
ss: "%d secondi",
m: "un minuto",
mm: "%d minuti",
h: "un'ora",
hh: "%d ore",
d: "un giorno",
dd: "%d giorni",
M: "un mese",
MM: "%d mesi",
y: "un anno",
yy: "%d anni"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ja", {
eras: [{since: "2019-05-01", offset: 1, name: "令和", narrow: "㋿", abbr: "R"}, {
since: "1989-01-08",
until: "2019-04-30",
offset: 1,
name: "平成",
narrow: "㍻",
abbr: "H"
}, {
since: "1926-12-25",
until: "1989-01-07",
offset: 1,
name: "昭和",
narrow: "㍼",
abbr: "S"
}, {
since: "1912-07-30",
until: "1926-12-24",
offset: 1,
name: "大正",
narrow: "㍽",
abbr: "T"
}, {
since: "1873-01-01",
until: "1912-07-29",
offset: 6,
name: "明治",
narrow: "㍾",
abbr: "M"
}, {
since: "0001-01-01",
until: "1873-12-31",
offset: 1,
name: "西暦",
narrow: "AD",
abbr: "AD"
}, {since: "0000-12-31", until: -Infinity, offset: 1, name: "紀元前", narrow: "BC", abbr: "BC"}],
eraYearOrdinalRegex: /(元|\d+)年/,
eraYearOrdinalParse: function (e, t) {
return t[1] === "元" ? 1 : parseInt(t[1] || e, 10)
},
months: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
weekdays: "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),
weekdaysShort: "日_月_火_水_木_金_土".split("_"),
weekdaysMin: "日_月_火_水_木_金_土".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日 HH:mm",
LLLL: "YYYY年M月D日 dddd HH:mm",
l: "YYYY/MM/DD",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日(ddd) HH:mm"
},
meridiemParse: /午前|午後/i,
isPM: function (e) {
return e === "午後"
},
meridiem: function (e, t, n) {
if (e < 12) return "午前"; else return "午後"
},
calendar: {
sameDay: "[今日] LT", nextDay: "[明日] LT", nextWeek: function (e) {
if (e.week() !== this.week()) return "[来週]dddd LT"; else return "dddd LT"
}, lastDay: "[昨日] LT", lastWeek: function (e) {
if (this.week() !== e.week()) return "[先週]dddd LT"; else return "dddd LT"
}, sameElse: "L"
},
dayOfMonthOrdinalParse: /\d{1,2}日/,
ordinal: function (e, t) {
switch (t) {
case"y":
return e === 1 ? "元年" : e + "年";
case"d":
case"D":
case"DDD":
return e + "日";
default:
return e
}
},
relativeTime: {
future: "%s後",
past: "%s前",
s: "数秒",
ss: "%d秒",
m: "1分",
mm: "%d分",
h: "1時間",
hh: "%d時間",
d: "1日",
dd: "%d日",
M: "1ヶ月",
MM: "%dヶ月",
y: "1年",
yy: "%d年"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("jv", {
months: "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),
monthsShort: "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),
weekdays: "Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),
weekdaysShort: "Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),
weekdaysMin: "Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [pukul] HH.mm",
LLLL: "dddd, D MMMM YYYY [pukul] HH.mm"
},
meridiemParse: /enjing|siyang|sonten|ndalu/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "enjing") return e; else if (t === "siyang") return e >= 11 ? e : e + 12; else if (t === "sonten" || t === "ndalu") return e + 12
},
meridiem: function (e, t, n) {
if (e < 11) return "enjing"; else if (e < 15) return "siyang"; else if (e < 19) return "sonten"; else return "ndalu"
},
calendar: {
sameDay: "[Dinten puniko pukul] LT",
nextDay: "[Mbenjang pukul] LT",
nextWeek: "dddd [pukul] LT",
lastDay: "[Kala wingi pukul] LT",
lastWeek: "dddd [kepengker pukul] LT",
sameElse: "L"
},
relativeTime: {
future: "wonten ing %s",
past: "%s ingkang kepengker",
s: "sawetawis detik",
ss: "%d detik",
m: "setunggal menit",
mm: "%d menit",
h: "setunggal jam",
hh: "%d jam",
d: "sedinten",
dd: "%d dinten",
M: "sewulan",
MM: "%d wulan",
y: "setaun",
yy: "%d taun"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ka", {
months: "იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),
monthsShort: "იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),
weekdays: {
standalone: "კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),
format: "კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),
isFormat: /(წინა|შემდეგ)/
},
weekdaysShort: "კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),
weekdaysMin: "კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[დღეს] LT[-ზე]",
nextDay: "[ხვალ] LT[-ზე]",
lastDay: "[გუშინ] LT[-ზე]",
nextWeek: "[შემდეგ] dddd LT[-ზე]",
lastWeek: "[წინა] dddd LT-ზე",
sameElse: "L"
},
relativeTime: {
future: function (e) {
return e.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (e, t, n) {
return n === "ი" ? t + "ში" : t + n + "ში"
})
},
past: function (e) {
if (/(წამი|წუთი|საათი|დღე|თვე)/.test(e)) return e.replace(/(ი|ე)$/, "ის წინ");
if (/წელი/.test(e)) return e.replace(/წელი$/, "წლის წინ");
return e
},
s: "რამდენიმე წამი",
ss: "%d წამი",
m: "წუთი",
mm: "%d წუთი",
h: "საათი",
hh: "%d საათი",
d: "დღე",
dd: "%d დღე",
M: "თვე",
MM: "%d თვე",
y: "წელი",
yy: "%d წელი"
},
dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
ordinal: function (e) {
if (e === 0) return e;
if (e === 1) return e + "-ლი";
if (e < 20 || e <= 100 && e % 20 === 0 || e % 100 === 0) return "მე-" + e;
return e + "-ე"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var i = {
0: "-ші",
1: "-ші",
2: "-ші",
3: "-ші",
4: "-ші",
5: "-ші",
6: "-шы",
7: "-ші",
8: "-ші",
9: "-шы",
10: "-шы",
20: "-шы",
30: "-шы",
40: "-шы",
50: "-ші",
60: "-шы",
70: "-ші",
80: "-ші",
90: "-шы",
100: "-ші"
}, t;
e.defineLocale("kk", {
months: "қаңтар_ақпан_наурыз_сәуірамыраусым_шілдеамыз_қыркүйек_қазан_қарашаелтоқсан".split("_"),
monthsShort: "қаң_ақп_нау_сәуам_мауіл_там_қыраз_қарел".split("_"),
weekdays: "жексенбіүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),
weekdaysShort: "жек_дүй_сей_сәр_бей_жұм_сен".split("_"),
weekdaysMin: "жк_дй_сй_ср_бй_жм_сн".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Бүгін сағат] LT",
nextDay: "[Ертең сағат] LT",
nextWeek: "dddd [сағат] LT",
lastDay: "[Кеше сағат] LT",
lastWeek: "[Өткен аптаның] dddd [сағат] LT",
sameElse: "L"
},
relativeTime: {
future: "%s ішінде",
past: "%s бұрын",
s: "бірнеше секунд",
ss: "%d секунд",
m: "бір минут",
mm: "%d минут",
h: "бір сағат",
hh: "%d сағат",
d: "бір күн",
dd: "%d күн",
M: "бір ай",
MM: "%d ай",
y: "бір жыл",
yy: "%d жыл"
},
dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
ordinal: function (e) {
var t = e % 10, n = e >= 100 ? 100 : null;
return e + (i[e] || i[t] || i[n])
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "១", 2: "២", 3: "៣", 4: "៤", 5: "៥", 6: "៦", 7: "៧", 8: "៨", 9: "៩", 0: "០"}, n = {
"១": "1",
"២": "2",
"៣": "3",
"៤": "4",
"៥": "5",
"៦": "6",
"៧": "7",
"៨": "8",
"៩": "9",
"០": "0"
}, i;
e.defineLocale("km", {
months: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
monthsShort: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
weekdays: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
weekdaysShort: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
weekdaysMin: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
meridiemParse: /ព្រឹក|ល្ងាច/,
isPM: function (e) {
return e === "ល្ងាច"
},
meridiem: function (e, t, n) {
if (e < 12) return "ព្រឹក"; else return "ល្ងាច"
},
calendar: {
sameDay: "[ថ្ងៃនេះ ម៉ោង] LT",
nextDay: "[ស្អែក ម៉ោង] LT",
nextWeek: "dddd [ម៉ោង] LT",
lastDay: "[ម្សិលមិញ ម៉ោង] LT",
lastWeek: "dddd [សប្តាហ៍មុន] [ម៉ោង] LT",
sameElse: "L"
},
relativeTime: {
future: "%sទៀត",
past: "%sមុន",
s: "ប៉ុន្មានវិនាទី",
ss: "%d វិនាទី",
m: "មួយនាទី",
mm: "%d នាទី",
h: "មួយម៉ោង",
hh: "%d ម៉ោង",
d: "មួយថ្ងៃ",
dd: "%d ថ្ងៃ",
M: "មួយខែ",
MM: "%d ខែ",
y: "មួយឆ្នាំ",
yy: "%d ឆ្នាំ"
},
dayOfMonthOrdinalParse: /ទី\d{1,2}/,
ordinal: "ទី%d",
preparse: function (e) {
return e.replace(/[១២៣៤៥៦៧៨៩០]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "೧", 2: "೨", 3: "೩", 4: "೪", 5: "೫", 6: "೬", 7: "೭", 8: "೮", 9: "೯", 0: ""}, n = {
"೧": "1",
"೨": "2",
"೩": "3",
"೪": "4",
"೫": "5",
"೬": "6",
"೭": "7",
"೮": "8",
"೯": "9",
"": "0"
}, i;
e.defineLocale("kn", {
months: "ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಬರ್_ಡಿಸೆಬರ್".split("_"),
monthsShort: "ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆ_ಅಕ್ಟೋ_ನವೆ_ಡಿಸೆ".split("_"),
monthsParseExact: true,
weekdays: "ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),
weekdaysShort: "ಭಾನು_ಸೋಮ_ಮಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),
weekdaysMin: "ಭಾ_ಸೋ_ಮ_ಬು_ಗು_ಶು_ಶ".split("_"),
longDateFormat: {
LT: "A h:mm",
LTS: "A h:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm",
LLLL: "dddd, D MMMM YYYY, A h:mm"
},
calendar: {
sameDay: "[ಇಂದು] LT",
nextDay: "[ನಾಳೆ] LT",
nextWeek: "dddd, LT",
lastDay: "[ನಿನ್ನೆ] LT",
lastWeek: "[ಕೊನೆಯ] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s ನಂತರ",
past: "%s ಹಿಂದೆ",
s: "ಕೆಲವು ಕ್ಷಣಗಳು",
ss: "%d ಸೆಕೆಂಡುಗಳು",
m: "ಒಂದು ನಿಮಿಷ",
mm: "%d ನಿಮಿಷ",
h: "ಒಂದು ಗಂಟೆ",
hh: "%d ಗಂಟೆ",
d: "ಒಂದು ದಿನ",
dd: "%d ದಿನ",
M: "ಒಂದು ತಿಂಗಳು",
MM: "%d ತಿಂಗಳು",
y: "ಒಂದು ವರ್ಷ",
yy: "%d ವರ್ಷ"
},
preparse: function (e) {
return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "ರಾತ್ರಿ") return e < 4 ? e : e + 12; else if (t === "ಬೆಳಿಗ್ಗೆ") return e; else if (t === "ಮಧ್ಯಾಹ್ನ") return e >= 10 ? e : e + 12; else if (t === "ಸಂಜೆ") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "ರಾತ್ರಿ"; else if (e < 10) return "ಬೆಳಿಗ್ಗೆ"; else if (e < 17) return "ಮಧ್ಯಾಹ್ನ"; else if (e < 20) return "ಸಂಜೆ"; else return "ರಾತ್ರಿ"
},
dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
ordinal: function (e) {
return e + "ನೇ"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ko", {
months: "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),
monthsShort: "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),
weekdays: "일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),
weekdaysShort: "일_월_화_수_목_금_토".split("_"),
weekdaysMin: "일_월_화_수_목_금_토".split("_"),
longDateFormat: {
LT: "A h:mm",
LTS: "A h:mm:ss",
L: "YYYY.MM.DD.",
LL: "YYYY년 MMMM D일",
LLL: "YYYY년 MMMM D일 A h:mm",
LLLL: "YYYY년 MMMM D일 dddd A h:mm",
l: "YYYY.MM.DD.",
ll: "YYYY년 MMMM D일",
lll: "YYYY년 MMMM D일 A h:mm",
llll: "YYYY년 MMMM D일 dddd A h:mm"
},
calendar: {
sameDay: "오늘 LT",
nextDay: "내일 LT",
nextWeek: "dddd LT",
lastDay: "어제 LT",
lastWeek: "지난주 dddd LT",
sameElse: "L"
},
relativeTime: {
future: "%s 후",
past: "%s 전",
s: "몇 초",
ss: "%d초",
m: "1분",
mm: "%d분",
h: "한 시간",
hh: "%d시간",
d: "하루",
dd: "%d일",
M: "한 달",
MM: "%d달",
y: "일 년",
yy: "%d년"
},
dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "일";
case"M":
return e + "월";
case"w":
case"W":
return e + "주";
default:
return e
}
},
meridiemParse: /오전|오후/,
isPM: function (e) {
return e === "오후"
},
meridiem: function (e, t, n) {
return e < 12 ? "오전" : "오후"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠"}, n = {
"١": "1",
"٢": "2",
"٣": "3",
"٤": "4",
"٥": "5",
"٦": "6",
"٧": "7",
"٨": "8",
"٩": "9",
"٠": "0"
},
i = ["کانونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمموز", "ئاب", "ئەیلوول", "تشرینی یەكەم", "تشرینی دووەم", "كانونی یەکەم"],
r;
e.defineLocale("ku", {
months: i,
monthsShort: i,
weekdays: "یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه".split("_"),
weekdaysShort: "یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه".split("_"),
weekdaysMin: "ی_د_س_چ_پ_ه_ش".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
meridiemParse: /ئێواره‌|به‌یانی/,
isPM: function (e) {
return /ئێواره‌/.test(e)
},
meridiem: function (e, t, n) {
if (e < 12) return "به‌یانی"; else return "ئێواره‌"
},
calendar: {
sameDay: "[ئه‌مرۆ كاتژمێر] LT",
nextDay: "[به‌یانی كاتژمێر] LT",
nextWeek: "dddd [كاتژمێر] LT",
lastDay: "[دوێنێ كاتژمێر] LT",
lastWeek: "dddd [كاتژمێر] LT",
sameElse: "L"
},
relativeTime: {
future: "له‌ %s",
past: "%s",
s: "چه‌ند چركه‌یه‌ك",
ss: "چركه‌ %d",
m: "یه‌ك خوله‌ك",
mm: "%d خوله‌ك",
h: "یه‌ك كاتژمێر",
hh: "%d كاتژمێر",
d: "یه‌ك ڕۆژ",
dd: "%d ڕۆژ",
M: "یه‌ك مانگ",
MM: "%d مانگ",
y: "یه‌ك ساڵ",
yy: "%d ساڵ"
},
preparse: function (e) {
return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) {
return n[e]
}).replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
}).replace(/,/g, "،")
},
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var i = {
0: "-чү",
1: "-чи",
2: "-чи",
3: "-чү",
4: "-чү",
5: "-чи",
6: "-чы",
7: "-чи",
8: "-чи",
9: "-чу",
10: "-чу",
20: "-чы",
30: "-чу",
40: "-чы",
50: "-чү",
60: "-чы",
70: "-чи",
80: "-чи",
90: "-чу",
100: "-чү"
}, t;
e.defineLocale("ky", {
months: "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),
monthsShort: "янв_фев_март_апрай_июнь_июль_авг_сен_окт_ноя_дек".split("_"),
weekdays: "Жекшемби_Дүйшөмбүейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),
weekdaysShort: "Жек_Дүй_Шей_Шарей_Жум_Ише".split("_"),
weekdaysMin: "Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Бүгүн саат] LT",
nextDay: "[Эртең саат] LT",
nextWeek: "dddd [саат] LT",
lastDay: "[Кечээ саат] LT",
lastWeek: "[Өткөн аптанын] dddd [күнү] [саат] LT",
sameElse: "L"
},
relativeTime: {
future: "%s ичинде",
past: "%s мурун",
s: "бирнече секунд",
ss: "%d секунд",
m: "бир мүнөт",
mm: "%d мүнөт",
h: "бир саат",
hh: "%d саат",
d: "бир күн",
dd: "%d күн",
M: "бир ай",
MM: "%d ай",
y: "бир жыл",
yy: "%d жыл"
},
dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
ordinal: function (e) {
var t = e % 10, n = e >= 100 ? 100 : null;
return e + (i[e] || i[t] || i[n])
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = {
m: ["eng Minutt", "enger Minutt"],
h: ["eng Stonn", "enger Stonn"],
d: ["een Dag", "engem Dag"],
M: ["ee Mount", "engem Mount"],
y: ["ee Joer", "engem Joer"]
};
return t ? r[n][0] : r[n][1]
}
function n(e) {
var t = e.substr(0, e.indexOf(" "));
if (r(t)) return "a " + e;
return "an " + e
}
function i(e) {
var t = e.substr(0, e.indexOf(" "));
if (r(t)) return "viru " + e;
return "virun " + e
}
function r(e) {
e = parseInt(e, 10);
if (isNaN(e)) return false;
if (e < 0) return true; else if (e < 10) {
if (4 <= e && e <= 7) return true;
return false
} else if (e < 100) {
var t = e % 10, n = e / 10;
if (t === 0) return r(n);
return r(t)
} else if (e < 1e4) {
while (e >= 10) e = e / 10;
return r(e)
} else {
e = e / 1e3;
return r(e)
}
}
var a;
e.defineLocale("lb", {
months: "Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
monthsShort: "Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),
monthsParseExact: true,
weekdays: "Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),
weekdaysShort: "So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),
weekdaysMin: "So_Mé_Dë_Më_Do_Fr_Sa".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm [Auer]",
LTS: "H:mm:ss [Auer]",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm [Auer]",
LLLL: "dddd, D. MMMM YYYY H:mm [Auer]"
},
calendar: {
sameDay: "[Haut um] LT",
sameElse: "L",
nextDay: "[Muer um] LT",
nextWeek: "dddd [um] LT",
lastDay: "[Gëschter um] LT",
lastWeek: function () {
switch (this.day()) {
case 2:
case 4:
return "[Leschten] dddd [um] LT";
default:
return "[Leschte] dddd [um] LT"
}
}
},
relativeTime: {
future: n,
past: i,
s: "e puer Sekonnen",
ss: "%d Sekonnen",
m: t,
mm: "%d Minutten",
h: t,
hh: "%d Stonnen",
d: t,
dd: "%d Deeg",
M: t,
MM: "%d Méint",
y: t,
yy: "%d Joer"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("lo", {
months: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
monthsShort: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
weekdays: "ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
weekdaysShort: "ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
weekdaysMin: "ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "ວັນdddd D MMMM YYYY HH:mm"
},
meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
isPM: function (e) {
return e === "ຕອນແລງ"
},
meridiem: function (e, t, n) {
if (e < 12) return "ຕອນເຊົ້າ"; else return "ຕອນແລງ"
},
calendar: {
sameDay: "[ມື້ນີ້ເວລາ] LT",
nextDay: "[ມື້ອື່ນເວລາ] LT",
nextWeek: "[ວັນ]dddd[ໜ້າເວລາ] LT",
lastDay: "[ມື້ວານນີ້ເວລາ] LT",
lastWeek: "[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",
sameElse: "L"
},
relativeTime: {
future: "ອີກ %s",
past: "%sຜ່ານມາ",
s: "ບໍ່ເທົ່າໃດວິນາທີ",
ss: "%d ວິນາທີ",
m: "1 ນາທີ",
mm: "%d ນາທີ",
h: "1 ຊົ່ວໂມງ",
hh: "%d ຊົ່ວໂມງ",
d: "1 ມື້",
dd: "%d ມື້",
M: "1 ເດືອນ",
MM: "%d ເດືອນ",
y: "1 ປີ",
yy: "%d ປີ"
},
dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
ordinal: function (e) {
return "ທີ່" + e
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {
ss: "sekundė_sekundžių_sekundes",
m: "minutė_minutės_minutę",
mm: "minutės_minučių_minutes",
h: "valanda_valandos_valandą",
hh: "valandos_valandų_valandas",
d: "diena_dienos_dieną",
dd: "dienos_dienų_dienas",
M: "mėnuo_mėnesio_mėnesį",
MM: "mėnesiai_mėnesių_mėnesius",
y: "metai_metų_metus",
yy: "metai_metų_metus"
}, n;
function i(e, t, n, i) {
if (t) return "kelios sekundės"; else return i ? "kelių sekundžių" : "kelias sekundes"
}
function a(e, t, n, i) {
return t ? o(n)[0] : i ? o(n)[1] : o(n)[2]
}
function s(e) {
return e % 10 === 0 || e > 10 && e < 20
}
function o(e) {
return t[e].split("_")
}
function r(e, t, n, i) {
var r = e + " ";
if (e === 1) return r + a(e, t, n[0], i); else if (t) return r + (s(e) ? o(n)[1] : o(n)[0]); else if (i) return r + o(n)[1]; else return r + (s(e) ? o(n)[1] : o(n)[2])
}
e.defineLocale("lt", {
months: {
format: "sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),
standalone: "sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),
isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
},
monthsShort: "sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),
weekdays: {
format: "sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),
standalone: "sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),
isFormat: /dddd HH:mm/
},
weekdaysShort: "Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),
weekdaysMin: "S_P_A_T_K_Pn_Š".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "YYYY [m.] MMMM D [d.]",
LLL: "YYYY [m.] MMMM D [d.], HH:mm [val.]",
LLLL: "YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",
l: "YYYY-MM-DD",
ll: "YYYY [m.] MMMM D [d.]",
lll: "YYYY [m.] MMMM D [d.], HH:mm [val.]",
llll: "YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"
},
calendar: {
sameDay: "[Šiandien] LT",
nextDay: "[Rytoj] LT",
nextWeek: "dddd LT",
lastDay: "[Vakar] LT",
lastWeek: "[Praėjusį] dddd LT",
sameElse: "L"
},
relativeTime: {
future: "po %s",
past: "prieš %s",
s: i,
ss: r,
m: a,
mm: r,
h: a,
hh: r,
d: a,
dd: r,
M: a,
MM: r,
y: a,
yy: r
},
dayOfMonthOrdinalParse: /\d{1,2}-oji/,
ordinal: function (e) {
return e + "-oji"
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var i = {
ss: "sekundes_sekundēm_sekunde_sekundes".split("_"),
m: "minūtes_minūtēm_minūte_minūtes".split("_"),
mm: "minūtes_minūtēm_minūte_minūtes".split("_"),
h: "stundas_stundām_stunda_stundas".split("_"),
hh: "stundas_stundām_stunda_stundas".split("_"),
d: "dienas_dienām_diena_dienas".split("_"),
dd: "dienas_dienām_diena_dienas".split("_"),
M: "mēneša_mēnešiem_mēnesis_mēneši".split("_"),
MM: "mēneša_mēnešiem_mēnesis_mēneši".split("_"),
y: "gada_gadiem_gads_gadi".split("_"),
yy: "gada_gadiem_gads_gadi".split("_")
}, t;
function r(e, t, n) {
if (n) return t % 10 === 1 && t % 100 !== 11 ? e[2] : e[3]; else return t % 10 === 1 && t % 100 !== 11 ? e[0] : e[1]
}
function n(e, t, n) {
return e + " " + r(i[n], e, t)
}
function a(e, t, n) {
return r(i[n], e, t)
}
function s(e, t) {
return t ? "dažas sekundes" : "dažām sekundēm"
}
e.defineLocale("lv", {
months: "janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),
monthsShort: "jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),
weekdays: "svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),
weekdaysShort: "Sv_P_O_T_C_Pk_S".split("_"),
weekdaysMin: "Sv_P_O_T_C_Pk_S".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY.",
LL: "YYYY. [gada] D. MMMM",
LLL: "YYYY. [gada] D. MMMM, HH:mm",
LLLL: "YYYY. [gada] D. MMMM, dddd, HH:mm"
},
calendar: {
sameDay: "[Šodien pulksten] LT",
nextDay: "[Rīt pulksten] LT",
nextWeek: "dddd [pulksten] LT",
lastDay: "[Vakar pulksten] LT",
lastWeek: "[Pagājušā] dddd [pulksten] LT",
sameElse: "L"
},
relativeTime: {
future: "pēc %s",
past: "pirms %s",
s: s,
ss: n,
m: a,
mm: n,
h: a,
hh: n,
d: a,
dd: n,
M: a,
MM: n,
y: a,
yy: n
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var r = {
words: {
ss: ["sekund", "sekunda", "sekundi"],
m: ["jedan minut", "jednog minuta"],
mm: ["minut", "minuta", "minuta"],
h: ["jedan sat", "jednog sata"],
hh: ["sat", "sata", "sati"],
dd: ["dan", "dana", "dana"],
MM: ["mjesec", "mjeseca", "mjeseci"],
yy: ["godina", "godine", "godina"]
}, correctGrammaticalCase: function (e, t) {
return e === 1 ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]
}, translate: function (e, t, n) {
var i = r.words[n];
if (n.length === 1) return t ? i[0] : i[1]; else return e + " " + r.correctGrammaticalCase(e, i)
}
}, t;
e.defineLocale("me", {
months: "januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),
monthsShort: "jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),
weekdaysShort: "ned._pon._uto._sri._čet._pet._sub.".split("_"),
weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd, D. MMMM YYYY H:mm"
},
calendar: {
sameDay: "[danas u] LT", nextDay: "[sjutra u] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[u] [nedjelju] [u] LT";
case 3:
return "[u] [srijedu] [u] LT";
case 6:
return "[u] [subotu] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[u] dddd [u] LT"
}
}, lastDay: "[juče u] LT", lastWeek: function () {
var e = ["[prošle] [nedjelje] [u] LT", "[prošlog] [ponedjeljka] [u] LT", "[prošlog] [utorka] [u] LT", "[prošle] [srijede] [u] LT", "[prošlog] [četvrtka] [u] LT", "[prošlog] [petka] [u] LT", "[prošle] [subote] [u] LT"];
return e[this.day()]
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "prije %s",
s: "nekoliko sekundi",
ss: r.translate,
m: r.translate,
mm: r.translate,
h: r.translate,
hh: r.translate,
d: "dan",
dd: r.translate,
M: "mjesec",
MM: r.translate,
y: "godinu",
yy: r.translate
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("mi", {
months: "Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),
monthsShort: "Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),
monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
weekdays: "Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),
weekdaysShort: "Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),
weekdaysMin: "Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [i] HH:mm",
LLLL: "dddd, D MMMM YYYY [i] HH:mm"
},
calendar: {
sameDay: "[i teie mahana, i] LT",
nextDay: "[apopo i] LT",
nextWeek: "dddd [i] LT",
lastDay: "[inanahi i] LT",
lastWeek: "dddd [whakamutunga i] LT",
sameElse: "L"
},
relativeTime: {
future: "i roto i %s",
past: "%s i mua",
s: "te hēkona ruarua",
ss: "%d hēkona",
m: "he meneti",
mm: "%d meneti",
h: "te haora",
hh: "%d haora",
d: "he ra",
dd: "%d ra",
M: "he marama",
MM: "%d marama",
y: "he tau",
yy: "%d tau"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("mk", {
months: "јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),
monthsShort: "јан_фев_мар_апрај_јун_јул_авг_сеп_окт_ноеек".split("_"),
weekdays: "недела_понеделник_вторник_средаетврток_петок_сабота".split("_"),
weekdaysShort: "нед_пон_вто_среет_пет_саб".split("_"),
weekdaysMin: "нe_пo_вт_сре_пе_сa".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "D.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY H:mm",
LLLL: "dddd, D MMMM YYYY H:mm"
},
calendar: {
sameDay: "[Денес во] LT",
nextDay: "[Утре во] LT",
nextWeek: "[Во] dddd [во] LT",
lastDay: "[Вчера во] LT",
lastWeek: function () {
switch (this.day()) {
case 0:
case 3:
case 6:
return "[Изминатата] dddd [во] LT";
case 1:
case 2:
case 4:
case 5:
return "[Изминатиот] dddd [во] LT"
}
},
sameElse: "L"
},
relativeTime: {
future: "за %s",
past: "пред %s",
s: "неколку секунди",
ss: "%d секунди",
m: "една минута",
mm: "%d минути",
h: "еден час",
hh: "%d часа",
d: "еден ден",
dd: "%d дена",
M: "еден месец",
MM: "%d месеци",
y: "една година",
yy: "%d години"
},
dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
ordinal: function (e) {
var t = e % 10, n = e % 100;
if (e === 0) return e + "-ев"; else if (n === 0) return e + "-ен"; else if (n > 10 && n < 20) return e + "-ти"; else if (t === 1) return e + "-ви"; else if (t === 2) return e + "-ри"; else if (t === 7 || t === 8) return e + "-ми"; else return e + "-ти"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ml", {
months: "ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റബർ_ഒക്ടോബർ_നവബർ_ഡിസബർ".split("_"),
monthsShort: "ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവ._ഡിസ.".split("_"),
monthsParseExact: true,
weekdays: "ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),
weekdaysShort: "ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴ_വെള്ളി_ശനി".split("_"),
weekdaysMin: "ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),
longDateFormat: {
LT: "A h:mm -നു",
LTS: "A h:mm:ss -നു",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm -നു",
LLLL: "dddd, D MMMM YYYY, A h:mm -നു"
},
calendar: {
sameDay: "[ഇന്ന്] LT",
nextDay: "[നാളെ] LT",
nextWeek: "dddd, LT",
lastDay: "[ഇന്നലെ] LT",
lastWeek: "[കഴിഞ്ഞ] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s കഴിഞ്ഞ്",
past: "%s മുൻപ്",
s: "അൽപ നിമിഷങ്ങൾ",
ss: "%d സെക്കൻഡ്",
m: "ഒരു മിനിറ്റ്",
mm: "%d മിനിറ്റ്",
h: "ഒരു മണിക്കൂർ",
hh: "%d മണിക്കൂർ",
d: "ഒരു ദിവസം",
dd: "%d ദിവസം",
M: "ഒരു മാസം",
MM: "%d മാസം",
y: "ഒരു വർഷം",
yy: "%d വർഷം"
},
meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "രാത്രി" && e >= 4 || t === "ഉച്ച കഴിഞ്ഞ്" || t === "വൈകുന്നേരം") return e + 12; else return e
},
meridiem: function (e, t, n) {
if (e < 4) return "രാത്രി"; else if (e < 12) return "രാവിലെ"; else if (e < 17) return "ഉച്ച കഴിഞ്ഞ്"; else if (e < 20) return "വൈകുന്നേരം"; else return "രാത്രി"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
switch (n) {
case"s":
return t ? "хэдхэн секунд" : "хэдхэн секундын";
case"ss":
return e + (t ? " секунд" : " секундын");
case"m":
case"mm":
return e + (t ? " минут" : " минутын");
case"h":
case"hh":
return e + (t ? " цаг" : " цагийн");
case"d":
case"dd":
return e + (t ? " өдөр" : " өдрийн");
case"M":
case"MM":
return e + (t ? " сар" : " сарын");
case"y":
case"yy":
return e + (t ? " жил" : " жилийн");
default:
return e
}
}
var n;
e.defineLocale("mn", {
months: "Нэгдүгээр сар_Хоёрдугаар саруравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар саролдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),
monthsShort: "1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),
monthsParseExact: true,
weekdays: "Ням_Даваа_Мягмархагваүрэв_Баасан_Бямба".split("_"),
weekdaysShort: "Ням_Дав_Мягхаүраа_Бям".split("_"),
weekdaysMin: "Ня_Да_Мя_Лхүа_Бя".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "YYYY оны MMMMын D",
LLL: "YYYY оны MMMMын D HH:mm",
LLLL: "dddd, YYYY оны MMMMын D HH:mm"
},
meridiemParse: /ҮӨ|ҮХ/i,
isPM: function (e) {
return e === "ҮХ"
},
meridiem: function (e, t, n) {
if (e < 12) return "ҮӨ"; else return "ҮХ"
},
calendar: {
sameDay: "[Өнөөдөр] LT",
nextDay: "[Маргааш] LT",
nextWeek: "[Ирэх] dddd LT",
lastDay: "[Өчигдөр] LT",
lastWeek: "[Өнгөрсөн] dddd LT",
sameElse: "L"
},
relativeTime: {
future: "%s дараа",
past: "%s өмнө",
s: t,
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: t,
dd: t,
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + " өдөр";
default:
return e
}
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: ""}, n = {
"१": "1",
"२": "2",
"३": "3",
"४": "4",
"५": "5",
"६": "6",
"७": "7",
"८": "8",
"९": "9",
"": "0"
}, i;
function r(e, t, n, i) {
var r = "";
if (t) switch (n) {
case"s":
r = "काही सेकंद";
break;
case"ss":
r = "%d सेकंद";
break;
case"m":
r = "एक मिनिट";
break;
case"mm":
r = "%d मिनिटे";
break;
case"h":
r = "एक तास";
break;
case"hh":
r = "%d तास";
break;
case"d":
r = "एक दिवस";
break;
case"dd":
r = "%d दिवस";
break;
case"M":
r = "एक महिना";
break;
case"MM":
r = "%d महिने";
break;
case"y":
r = "एक वर्ष";
break;
case"yy":
r = "%d वर्षे";
break
} else switch (n) {
case"s":
r = "काही सेकंदां";
break;
case"ss":
r = "%d सेकंदां";
break;
case"m":
r = "एका मिनिटा";
break;
case"mm":
r = "%d मिनिटां";
break;
case"h":
r = "एका तासा";
break;
case"hh":
r = "%d तासां";
break;
case"d":
r = "एका दिवसा";
break;
case"dd":
r = "%d दिवसां";
break;
case"M":
r = "एका महिन्या";
break;
case"MM":
r = "%d महिन्यां";
break;
case"y":
r = "एका वर्षा";
break;
case"yy":
r = "%d वर्षां";
break
}
return r.replace(/%d/i, e)
}
e.defineLocale("mr", {
months: "जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
monthsShort: "जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
monthsParseExact: true,
weekdays: "रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),
weekdaysShort: "रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),
weekdaysMin: "र_सो_मं_बु_गु_शु_श".split("_"),
longDateFormat: {
LT: "A h:mm वाजता",
LTS: "A h:mm:ss वाजता",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm वाजता",
LLLL: "dddd, D MMMM YYYY, A h:mm वाजता"
},
calendar: {
sameDay: "[आज] LT",
nextDay: "[उद्या] LT",
nextWeek: "dddd, LT",
lastDay: "[काल] LT",
lastWeek: "[मागील] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%sमध्ये",
past: "%sपूर्वी",
s: r,
ss: r,
m: r,
mm: r,
h: r,
hh: r,
d: r,
dd: r,
M: r,
MM: r,
y: r,
yy: r
},
preparse: function (e) {
return e.replace(/[१२३४५६७८९०]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "पहाटे" || t === "सकाळी") return e; else if (t === "दुपारी" || t === "सायंकाळी" || t === "रात्री") return e >= 12 ? e : e + 12
},
meridiem: function (e, t, n) {
if (e >= 0 && e < 6) return "पहाटे"; else if (e < 12) return "सकाळी"; else if (e < 17) return "दुपारी"; else if (e < 20) return "सायंकाळी"; else return "रात्री"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ms", {
months: "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),
monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),
weekdays: "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),
weekdaysShort: "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),
weekdaysMin: "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [pukul] HH.mm",
LLLL: "dddd, D MMMM YYYY [pukul] HH.mm"
},
meridiemParse: /pagi|tengahari|petang|malam/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "pagi") return e; else if (t === "tengahari") return e >= 11 ? e : e + 12; else if (t === "petang" || t === "malam") return e + 12
},
meridiem: function (e, t, n) {
if (e < 11) return "pagi"; else if (e < 15) return "tengahari"; else if (e < 19) return "petang"; else return "malam"
},
calendar: {
sameDay: "[Hari ini pukul] LT",
nextDay: "[Esok pukul] LT",
nextWeek: "dddd [pukul] LT",
lastDay: "[Kelmarin pukul] LT",
lastWeek: "dddd [lepas pukul] LT",
sameElse: "L"
},
relativeTime: {
future: "dalam %s",
past: "%s yang lepas",
s: "beberapa saat",
ss: "%d saat",
m: "seminit",
mm: "%d minit",
h: "sejam",
hh: "%d jam",
d: "sehari",
dd: "%d hari",
M: "sebulan",
MM: "%d bulan",
y: "setahun",
yy: "%d tahun"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ms-my", {
months: "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),
monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),
weekdays: "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),
weekdaysShort: "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),
weekdaysMin: "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [pukul] HH.mm",
LLLL: "dddd, D MMMM YYYY [pukul] HH.mm"
},
meridiemParse: /pagi|tengahari|petang|malam/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "pagi") return e; else if (t === "tengahari") return e >= 11 ? e : e + 12; else if (t === "petang" || t === "malam") return e + 12
},
meridiem: function (e, t, n) {
if (e < 11) return "pagi"; else if (e < 15) return "tengahari"; else if (e < 19) return "petang"; else return "malam"
},
calendar: {
sameDay: "[Hari ini pukul] LT",
nextDay: "[Esok pukul] LT",
nextWeek: "dddd [pukul] LT",
lastDay: "[Kelmarin pukul] LT",
lastWeek: "dddd [lepas pukul] LT",
sameElse: "L"
},
relativeTime: {
future: "dalam %s",
past: "%s yang lepas",
s: "beberapa saat",
ss: "%d saat",
m: "seminit",
mm: "%d minit",
h: "sejam",
hh: "%d jam",
d: "sehari",
dd: "%d hari",
M: "sebulan",
MM: "%d bulan",
y: "setahun",
yy: "%d tahun"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("mt", {
months: "Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),
monthsShort: "Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),
weekdays: "Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),
weekdaysShort: "Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),
weekdaysMin: "Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Illum fil-]LT",
nextDay: "[Għada fil-]LT",
nextWeek: "dddd [fil-]LT",
lastDay: "[Il-bieraħ fil-]LT",
lastWeek: "dddd [li għadda] [fil-]LT",
sameElse: "L"
},
relativeTime: {
future: "f %s",
past: "%s ilu",
s: "ftit sekondi",
ss: "%d sekondi",
m: "minuta",
mm: "%d minuti",
h: "siegħa",
hh: "%d siegħat",
d: "ġurnata",
dd: "%d ġranet",
M: "xahar",
MM: "%d xhur",
y: "sena",
yy: "%d sni"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "၁", 2: "၂", 3: "၃", 4: "၄", 5: "၅", 6: "၆", 7: "၇", 8: "၈", 9: "၉", 0: ""}, n = {
"၁": "1",
"၂": "2",
"၃": "3",
"၄": "4",
"၅": "5",
"၆": "6",
"၇": "7",
"၈": "8",
"၉": "9",
"": "0"
}, i;
e.defineLocale("my", {
months: "ဇန်နါရီ_ဖေဖော်ါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုင်ဘာ_ဒီဇင်ဘာ".split("_"),
monthsShort: "ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),
weekdays: "တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),
weekdaysShort: "နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
weekdaysMin: "နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[ယနေ.] LT [မှာ]",
nextDay: "[မနက်ဖြန်] LT [မှာ]",
nextWeek: "dddd LT [မှာ]",
lastDay: "[မနေ.က] LT [မှာ]",
lastWeek: "[ပြီးခဲ့သော] dddd LT [မှာ]",
sameElse: "L"
},
relativeTime: {
future: "လာမည့် %s မှာ",
past: "လွန်ခဲ့သော %s က",
s: "စက္ကန်.အနည်းငယ်",
ss: "%d စက္ကန့်",
m: "တစ်မိနစ်",
mm: "%d မိနစ်",
h: "တစ်နာရီ",
hh: "%d နာရီ",
d: "တစ်ရက်",
dd: "%d ရက်",
M: "တစ်လ",
MM: "%d လ",
y: "တစ်နှစ်",
yy: "%d နှစ်"
},
preparse: function (e) {
return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("nb", {
months: "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
monthsShort: "jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),
monthsParseExact: true,
weekdays: "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
weekdaysShort: "sø._ma._ti._on._to._fr._lø.".split("_"),
weekdaysMin: "sø_ma_ti_on_to_fr_lø".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY [kl.] HH:mm",
LLLL: "dddd D. MMMM YYYY [kl.] HH:mm"
},
calendar: {
sameDay: "[i dag kl.] LT",
nextDay: "[i morgen kl.] LT",
nextWeek: "dddd [kl.] LT",
lastDay: "[i går kl.] LT",
lastWeek: "[forrige] dddd [kl.] LT",
sameElse: "L"
},
relativeTime: {
future: "om %s",
past: "%s siden",
s: "noen sekunder",
ss: "%d sekunder",
m: "ett minutt",
mm: "%d minutter",
h: "en time",
hh: "%d timer",
d: "en dag",
dd: "%d dager",
w: "en uke",
ww: "%d uker",
M: "en måned",
MM: "%d måneder",
y: "ett år",
yy: "%d år"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: ""}, n = {
"१": "1",
"२": "2",
"३": "3",
"४": "4",
"५": "5",
"६": "6",
"७": "7",
"८": "8",
"९": "9",
"": "0"
}, i;
e.defineLocale("ne", {
months: "जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),
monthsShort: "जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),
monthsParseExact: true,
weekdays: "आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),
weekdaysShort: "आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),
weekdaysMin: "आ._सो._मं._बु._बि._शु._श.".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "Aको h:mm बजे",
LTS: "Aको h:mm:ss बजे",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, Aको h:mm बजे",
LLLL: "dddd, D MMMM YYYY, Aको h:mm बजे"
},
preparse: function (e) {
return e.replace(/[१२३४५६७८९०]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "राति") return e < 4 ? e : e + 12; else if (t === "बिहान") return e; else if (t === "दिउँसो") return e >= 10 ? e : e + 12; else if (t === "साँझ") return e + 12
},
meridiem: function (e, t, n) {
if (e < 3) return "राति"; else if (e < 12) return "बिहान"; else if (e < 16) return "दिउँसो"; else if (e < 20) return "साँझ"; else return "राति"
},
calendar: {
sameDay: "[आज] LT",
nextDay: "[भोलि] LT",
nextWeek: "[आउँदो] dddd[,] LT",
lastDay: "[हिजो] LT",
lastWeek: "[गएको] dddd[,] LT",
sameElse: "L"
},
relativeTime: {
future: "%sमा",
past: "%s अगाडि",
s: "केही क्षण",
ss: "%d सेकेण्ड",
m: "एक मिनेट",
mm: "%d मिनेट",
h: "एक घण्टा",
hh: "%d घण्टा",
d: "एक दिन",
dd: "%d दिन",
M: "एक महिना",
MM: "%d महिना",
y: "एक बर्ष",
yy: "%d बर्ष"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
i = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
t = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
a;
e.defineLocale("nl", {
months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),
weekdaysShort: "zo._ma._di._wo._do._vr._za.".split("_"),
weekdaysMin: "zo_ma_di_wo_do_vr_za".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD-MM-YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[vandaag om] LT",
nextDay: "[morgen om] LT",
nextWeek: "dddd [om] LT",
lastDay: "[gisteren om] LT",
lastWeek: "[afgelopen] dddd [om] LT",
sameElse: "L"
},
relativeTime: {
future: "over %s",
past: "%s geleden",
s: "een paar seconden",
ss: "%d seconden",
m: "één minuut",
mm: "%d minuten",
h: "één uur",
hh: "%d uur",
d: "één dag",
dd: "%d dagen",
w: "één week",
ww: "%d weken",
M: "één maand",
MM: "%d maanden",
y: "één jaar",
yy: "%d jaar"
},
dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
ordinal: function (e) {
return e + (e === 1 || e === 8 || e >= 20 ? "ste" : "de")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
i = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
t = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
a;
e.defineLocale("nl-be", {
months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
monthsShort: function (e, t) {
if (!e) return n; else if (/-MMM-/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsRegex: r,
monthsShortRegex: r,
monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),
weekdaysShort: "zo._ma._di._wo._do._vr._za.".split("_"),
weekdaysMin: "zo_ma_di_wo_do_vr_za".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[vandaag om] LT",
nextDay: "[morgen om] LT",
nextWeek: "dddd [om] LT",
lastDay: "[gisteren om] LT",
lastWeek: "[afgelopen] dddd [om] LT",
sameElse: "L"
},
relativeTime: {
future: "over %s",
past: "%s geleden",
s: "een paar seconden",
ss: "%d seconden",
m: "één minuut",
mm: "%d minuten",
h: "één uur",
hh: "%d uur",
d: "één dag",
dd: "%d dagen",
M: "één maand",
MM: "%d maanden",
y: "één jaar",
yy: "%d jaar"
},
dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
ordinal: function (e) {
return e + (e === 1 || e === 8 || e >= 20 ? "ste" : "de")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("nn", {
months: "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
monthsShort: "jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),
monthsParseExact: true,
weekdays: "sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),
weekdaysShort: "su._må._ty._on._to._fr._lau.".split("_"),
weekdaysMin: "su_må_ty_on_to_fr_la".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY [kl.] H:mm",
LLLL: "dddd D. MMMM YYYY [kl.] HH:mm"
},
calendar: {
sameDay: "[I dag klokka] LT",
nextDay: "[I morgon klokka] LT",
nextWeek: "dddd [klokka] LT",
lastDay: "[I går klokka] LT",
lastWeek: "[Føregåande] dddd [klokka] LT",
sameElse: "L"
},
relativeTime: {
future: "om %s",
past: "%s sidan",
s: "nokre sekund",
ss: "%d sekund",
m: "eit minutt",
mm: "%d minutt",
h: "ein time",
hh: "%d timar",
d: "ein dag",
dd: "%d dagar",
w: "ei veke",
ww: "%d veker",
M: "ein månad",
MM: "%d månader",
y: "eit år",
yy: "%d år"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("oc-lnc", {
months: {
standalone: "genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre".split("_"),
format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split("_"),
isFormat: /D[oD]?(\s)+MMMM/
},
monthsShort: "gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte".split("_"),
weekdaysShort: "dg._dl._dm._dc._dj._dv._ds.".split("_"),
weekdaysMin: "dg_dl_dm_dc_dj_dv_ds".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM [de] YYYY",
ll: "D MMM YYYY",
LLL: "D MMMM [de] YYYY [a] H:mm",
lll: "D MMM YYYY, H:mm",
LLLL: "dddd D MMMM [de] YYYY [a] H:mm",
llll: "ddd D MMM YYYY, H:mm"
},
calendar: {
sameDay: "[uèi a] LT",
nextDay: "[deman a] LT",
nextWeek: "dddd [a] LT",
lastDay: "[ièr a] LT",
lastWeek: "dddd [passat a] LT",
sameElse: "L"
},
relativeTime: {
future: "d'aquí %s",
past: "fa %s",
s: "unas segondas",
ss: "%d segondas",
m: "una minuta",
mm: "%d minutas",
h: "una ora",
hh: "%d oras",
d: "un jorn",
dd: "%d jorns",
M: "un mes",
MM: "%d meses",
y: "un an",
yy: "%d ans"
},
dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
ordinal: function (e, t) {
var n = e === 1 ? "r" : e === 2 ? "n" : e === 3 ? "r" : e === 4 ? "t" : "è";
if (t === "w" || t === "W") n = "a";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "", 2: "੨", 3: "੩", 4: "", 5: "੫", 6: "੬", 7: "੭", 8: "੮", 9: "੯", 0: ""}, n = {
"": "1",
"੨": "2",
"੩": "3",
"": "4",
"੫": "5",
"੬": "6",
"੭": "7",
"੮": "8",
"੯": "9",
"": "0"
}, i;
e.defineLocale("pa-in", {
months: "ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),
monthsShort: "ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),
weekdays: "ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),
weekdaysShort: "ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),
weekdaysMin: "ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),
longDateFormat: {
LT: "A h:mm ਵਜੇ",
LTS: "A h:mm:ss ਵਜੇ",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm ਵਜੇ",
LLLL: "dddd, D MMMM YYYY, A h:mm ਵਜੇ"
},
calendar: {
sameDay: "[ਅਜ] LT",
nextDay: "[ਕਲ] LT",
nextWeek: "[ਅਗਲਾ] dddd, LT",
lastDay: "[ਕਲ] LT",
lastWeek: "[ਪਿਛਲੇ] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s ਵਿੱਚ",
past: "%s ਪਿਛਲੇ",
s: "ਕੁਝ ਸਕਿੰਟ",
ss: "%d ਸਕਿੰਟ",
m: "ਇਕ ਮਿੰਟ",
mm: "%d ਮਿੰਟ",
h: "ਇੱਕ ਘੰਟਾ",
hh: "%d ਘੰਟੇ",
d: "ਇੱਕ ਦਿਨ",
dd: "%d ਦਿਨ",
M: "ਇੱਕ ਮਹੀਨਾ",
MM: "%d ਮਹੀਨੇ",
y: "ਇੱਕ ਸਾਲ",
yy: "%d ਸਾਲ"
},
preparse: function (e) {
return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "ਰਾਤ") return e < 4 ? e : e + 12; else if (t === "ਸਵੇਰ") return e; else if (t === "ਦੁਪਹਿਰ") return e >= 10 ? e : e + 12; else if (t === "ਸ਼ਾਮ") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "ਰਾਤ"; else if (e < 10) return "ਸਵੇਰ"; else if (e < 17) return "ਦੁਪਹਿਰ"; else if (e < 20) return "ਸ਼ਾਮ"; else return "ਰਾਤ"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var n = "styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),
i = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),
t = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i],
r;
function a(e) {
return e % 10 < 5 && e % 10 > 1 && ~~(e / 10) % 10 !== 1
}
function s(e, t, n) {
var i = e + " ";
switch (n) {
case"ss":
return i + (a(e) ? "sekundy" : "sekund");
case"m":
return t ? "minuta" : "minutę";
case"mm":
return i + (a(e) ? "minuty" : "minut");
case"h":
return t ? "godzina" : "godzinę";
case"hh":
return i + (a(e) ? "godziny" : "godzin");
case"ww":
return i + (a(e) ? "tygodnie" : "tygodni");
case"MM":
return i + (a(e) ? "miesiące" : "miesięcy");
case"yy":
return i + (a(e) ? "lata" : "lat")
}
}
e.defineLocale("pl", {
months: function (e, t) {
if (!e) return n; else if (/D MMMM/.test(t)) return i[e.month()]; else return n[e.month()]
},
monthsShort: "sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),
monthsParse: t,
longMonthsParse: t,
shortMonthsParse: t,
weekdays: "niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),
weekdaysShort: "ndz_pon_wt_śr_czw_pt_sob".split("_"),
weekdaysMin: "Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Dziś o] LT", nextDay: "[Jutro o] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[W niedzielę o] LT";
case 2:
return "[We wtorek o] LT";
case 3:
return "[W środę o] LT";
case 6:
return "[W sobotę o] LT";
default:
return "[W] dddd [o] LT"
}
}, lastDay: "[Wczoraj o] LT", lastWeek: function () {
switch (this.day()) {
case 0:
return "[W zeszłą niedzielę o] LT";
case 3:
return "[W zeszłą środę o] LT";
case 6:
return "[W zeszłą sobotę o] LT";
default:
return "[W zeszły] dddd [o] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "%s temu",
s: "kilka sekund",
ss: s,
m: s,
mm: s,
h: s,
hh: s,
d: "1 dzień",
dd: "%d dni",
w: "tydzień",
ww: s,
M: "miesiąc",
MM: s,
y: "rok",
yy: s
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("pt", {
months: "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
monthsShort: "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
weekdays: "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
weekdaysShort: "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
weekdaysMin: "Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY HH:mm",
LLLL: "dddd, D [de] MMMM [de] YYYY HH:mm"
},
calendar: {
sameDay: "[Hoje às] LT",
nextDay: "[Amanhã às] LT",
nextWeek: "dddd [às] LT",
lastDay: "[Ontem às] LT",
lastWeek: function () {
return this.day() === 0 || this.day() === 6 ? "[Último] dddd [às] LT" : "[Última] dddd [às] LT"
},
sameElse: "L"
},
relativeTime: {
future: "em %s",
past: "há %s",
s: "segundos",
ss: "%d segundos",
m: "um minuto",
mm: "%d minutos",
h: "uma hora",
hh: "%d horas",
d: "um dia",
dd: "%d dias",
w: "uma semana",
ww: "%d semanas",
M: "um mês",
MM: "%d meses",
y: "um ano",
yy: "%d anos"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("pt-br", {
months: "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
monthsShort: "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
weekdays: "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),
weekdaysShort: "dom_seg_ter_qua_qui_sex_sáb".split("_"),
weekdaysMin: "do_2ª_3ª_4ª_5ª_6ª_sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D [de] MMMM [de] YYYY",
LLL: "D [de] MMMM [de] YYYY [às] HH:mm",
LLLL: "dddd, D [de] MMMM [de] YYYY [às] HH:mm"
},
calendar: {
sameDay: "[Hoje às] LT",
nextDay: "[Amanhã às] LT",
nextWeek: "dddd [às] LT",
lastDay: "[Ontem às] LT",
lastWeek: function () {
return this.day() === 0 || this.day() === 6 ? "[Último] dddd [às] LT" : "[Última] dddd [às] LT"
},
sameElse: "L"
},
relativeTime: {
future: "em %s",
past: "há %s",
s: "poucos segundos",
ss: "%d segundos",
m: "um minuto",
mm: "%d minutos",
h: "uma hora",
hh: "%d horas",
d: "um dia",
dd: "%d dias",
M: "um mês",
MM: "%d meses",
y: "um ano",
yy: "%d anos"
},
dayOfMonthOrdinalParse: /\d{1,2}º/,
ordinal: "%dº",
invalidDate: "Data inválida"
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n) {
var i = {ss: "secunde", mm: "minute", hh: "ore", dd: "zile", ww: "săptămâni", MM: "luni", yy: "ani"},
r = " ";
if (e % 100 >= 20 || e >= 100 && e % 100 === 0) r = " de ";
return e + r + i[n]
}
var n;
e.defineLocale("ro", {
months: "ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),
monthsShort: "ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),
weekdaysShort: "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),
weekdaysMin: "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY H:mm",
LLLL: "dddd, D MMMM YYYY H:mm"
},
calendar: {
sameDay: "[azi la] LT",
nextDay: "[mâine la] LT",
nextWeek: "dddd [la] LT",
lastDay: "[ieri la] LT",
lastWeek: "[fosta] dddd [la] LT",
sameElse: "L"
},
relativeTime: {
future: "peste %s",
past: "%s în urmă",
s: "câteva secunde",
ss: t,
m: "un minut",
mm: t,
h: "o oră",
hh: t,
d: "o zi",
dd: t,
w: "o săptămână",
ww: t,
M: "o lună",
MM: t,
y: "un an",
yy: t
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function r(e, t) {
var n = e.split("_");
return t % 10 === 1 && t % 100 !== 11 ? n[0] : t % 10 >= 2 && t % 10 <= 4 && (t % 100 < 10 || t % 100 >= 20) ? n[1] : n[2]
}
function t(e, t, n) {
var i = {
ss: t ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
mm: t ? "минута_минуты_минут" : "минуту_минуты_минут",
hh: "часасаасов",
dd: "день_дня_дней",
ww: "неделя_недели_недель",
MM: "месяц_месяцаесяцев",
yy: "год_годает"
};
if (n === "m") return t ? "минута" : "минуту"; else return e + " " + r(i[n], +e)
}
var n = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i],
i;
e.defineLocale("ru", {
months: {
format: "января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),
standalone: "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")
},
monthsShort: {
format: "янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),
standalone: "янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")
},
weekdays: {
standalone: "воскресенье_понедельник_вторник_средаетверг_пятница_суббота".split("_"),
format: "воскресенье_понедельник_вторник_средуетверг_пятницу_субботу".split("_"),
isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/
},
weekdaysShort: "вс_пн_вт_ср_чт_пт_сб".split("_"),
weekdaysMin: "вс_пн_вт_ср_чт_пт_сб".split("_"),
monthsParse: n,
longMonthsParse: n,
shortMonthsParse: n,
monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY г.",
LLL: "D MMMM YYYY г., H:mm",
LLLL: "dddd, D MMMM YYYY г., H:mm"
},
calendar: {
sameDay: "[Сегодня, в] LT",
nextDay: "[Завтра, в] LT",
lastDay: "[Вчера, в] LT",
nextWeek: function (e) {
if (e.week() !== this.week()) switch (this.day()) {
case 0:
return "[В следующее] dddd, [в] LT";
case 1:
case 2:
case 4:
return "[В следующий] dddd, [в] LT";
case 3:
case 5:
case 6:
return "[В следующую] dddd, [в] LT"
} else if (this.day() === 2) return "[Во] dddd, [в] LT"; else return "[В] dddd, [в] LT"
},
lastWeek: function (e) {
if (e.week() !== this.week()) switch (this.day()) {
case 0:
return "[В прошлое] dddd, [в] LT";
case 1:
case 2:
case 4:
return "[В прошлый] dddd, [в] LT";
case 3:
case 5:
case 6:
return "[В прошлую] dddd, [в] LT"
} else if (this.day() === 2) return "[Во] dddd, [в] LT"; else return "[В] dddd, [в] LT"
},
sameElse: "L"
},
relativeTime: {
future: "через %s",
past: "%s назад",
s: "несколько секунд",
ss: t,
m: t,
mm: t,
h: "час",
hh: t,
d: "день",
dd: t,
w: "неделя",
ww: t,
M: "месяц",
MM: t,
y: "год",
yy: t
},
meridiemParse: /ночи|утра|дня|вечера/i,
isPM: function (e) {
return /^(дня|вечера)$/.test(e)
},
meridiem: function (e, t, n) {
if (e < 4) return "ночи"; else if (e < 12) return "утра"; else if (e < 17) return "дня"; else return "вечера"
},
dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
ordinal: function (e, t) {
switch (t) {
case"M":
case"d":
case"DDD":
return e + "-й";
case"D":
return e + "-го";
case"w":
case"W":
return e + "-я";
default:
return e
}
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = ["جنوري", "فيبروري", "مارچ", "اپريل", "مئي", "جون", "جولاءِ", "آگسٽ", "سيپٽمبر", "آڪٽوبر", "نومبر", "ڊسمبر"],
n = ["آچر", "سومر", "اڱارو", "اربع", "خميس", "جمع", "ڇنڇر"], i;
e.defineLocale("sd", {
months: t,
monthsShort: t,
weekdays: n,
weekdaysShort: n,
weekdaysMin: n,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd، D MMMM YYYY HH:mm"
},
meridiemParse: /صبح|شام/,
isPM: function (e) {
return "شام" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "صبح";
return "شام"
},
calendar: {
sameDay: "[اڄ] LT",
nextDay: "[سڀاڻي] LT",
nextWeek: "dddd [اڳين هفتي تي] LT",
lastDay: "[ڪالهه] LT",
lastWeek: "[گزريل هفتي] dddd [تي] LT",
sameElse: "L"
},
relativeTime: {
future: "%s پوء",
past: "%s اڳ",
s: "چند سيڪنڊ",
ss: "%d سيڪنڊ",
m: "هڪ منٽ",
mm: "%d منٽ",
h: "هڪ ڪلاڪ",
hh: "%d ڪلاڪ",
d: "هڪ ڏينهن",
dd: "%d ڏينهن",
M: "هڪ مهينو",
MM: "%d مهينا",
y: "هڪ سال",
yy: "%d سال"
},
preparse: function (e) {
return e.replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/,/g, "،")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("se", {
months: "ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),
monthsShort: "ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),
weekdays: "sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),
weekdaysShort: "sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),
weekdaysMin: "s_v_m_g_d_b_L".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "MMMM D. [b.] YYYY",
LLL: "MMMM D. [b.] YYYY [ti.] HH:mm",
LLLL: "dddd, MMMM D. [b.] YYYY [ti.] HH:mm"
},
calendar: {
sameDay: "[otne ti] LT",
nextDay: "[ihttin ti] LT",
nextWeek: "dddd [ti] LT",
lastDay: "[ikte ti] LT",
lastWeek: "[ovddit] dddd [ti] LT",
sameElse: "L"
},
relativeTime: {
future: "%s geažes",
past: "maŋit %s",
s: "moadde sekunddat",
ss: "%d sekunddat",
m: "okta minuhta",
mm: "%d minuhtat",
h: "okta diimmu",
hh: "%d diimmut",
d: "okta beaivi",
dd: "%d beaivvit",
M: "okta mánnu",
MM: "%d mánut",
y: "okta jahki",
yy: "%d jagit"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("si", {
months: "ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),
monthsShort: "ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),
weekdays: "ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),
weekdaysShort: "ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන".split("_"),
weekdaysMin: "ඉ_ස_අ_බ_බ්ර_සි_සෙ".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "a h:mm",
LTS: "a h:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY MMMM D",
LLL: "YYYY MMMM D, a h:mm",
LLLL: "YYYY MMMM D [වැනි] dddd, a h:mm:ss"
},
calendar: {
sameDay: "[අද] LT[ට]",
nextDay: "[හෙට] LT[ට]",
nextWeek: "dddd LT[ට]",
lastDay: "[ඊයේ] LT[ට]",
lastWeek: "[පසුගිය] dddd LT[ට]",
sameElse: "L"
},
relativeTime: {
future: "%sකින්",
past: "%sකට පෙර",
s: "තත්පර කිහිපය",
ss: "තත්පර %d",
m: "මිනිත්තුව",
mm: "මිනිත්තු %d",
h: "පැය",
hh: "පැය %d",
d: "දිනය",
dd: "දින %d",
M: "මාසය",
MM: "මාස %d",
y: "වසර",
yy: "වසර %d"
},
dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
ordinal: function (e) {
return e + " වැනි"
},
meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
isPM: function (e) {
return e === "ප.ව." || e === "පස් වරු"
},
meridiem: function (e, t, n) {
if (e > 11) return n ? "ප.ව." : "පස් වරු"; else return n ? "පෙ.ව." : "පෙර වරු"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = "január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),
n = "jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"), i;
function a(e) {
return e > 1 && e < 5
}
function r(e, t, n, i) {
var r = e + " ";
switch (n) {
case"s":
return t || i ? "pár sekúnd" : "pár sekundami";
case"ss":
if (t || i) return r + (a(e) ? "sekundy" : "sekúnd"); else return r + "sekundami";
case"m":
return t ? "minúta" : i ? "minútu" : "minútou";
case"mm":
if (t || i) return r + (a(e) ? "minúty" : "minút"); else return r + "minútami";
case"h":
return t ? "hodina" : i ? "hodinu" : "hodinou";
case"hh":
if (t || i) return r + (a(e) ? "hodiny" : "hodín"); else return r + "hodinami";
case"d":
return t || i ? "deň" : "dňom";
case"dd":
if (t || i) return r + (a(e) ? "dni" : "dní"); else return r + "dňami";
case"M":
return t || i ? "mesiac" : "mesiacom";
case"MM":
if (t || i) return r + (a(e) ? "mesiace" : "mesiacov"); else return r + "mesiacmi";
case"y":
return t || i ? "rok" : "rokom";
case"yy":
if (t || i) return r + (a(e) ? "roky" : "rokov"); else return r + "rokmi"
}
}
e.defineLocale("sk", {
months: t,
monthsShort: n,
weekdays: "nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),
weekdaysShort: "ne_po_ut_st_št_pi_so".split("_"),
weekdaysMin: "ne_po_ut_st_št_pi_so".split("_"),
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD.MM.YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd D. MMMM YYYY H:mm"
},
calendar: {
sameDay: "[dnes o] LT", nextDay: "[zajtra o] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[v nedeľu o] LT";
case 1:
case 2:
return "[v] dddd [o] LT";
case 3:
return "[v stredu o] LT";
case 4:
return "[vo štvrtok o] LT";
case 5:
return "[v piatok o] LT";
case 6:
return "[v sobotu o] LT"
}
}, lastDay: "[včera o] LT", lastWeek: function () {
switch (this.day()) {
case 0:
return "[minulú nedeľu o] LT";
case 1:
case 2:
return "[minulý] dddd [o] LT";
case 3:
return "[minulú stredu o] LT";
case 4:
case 5:
return "[minulý] dddd [o] LT";
case 6:
return "[minulú sobotu o] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "pred %s",
s: r,
ss: r,
m: r,
mm: r,
h: r,
hh: r,
d: r,
dd: r,
M: r,
MM: r,
y: r,
yy: r
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function t(e, t, n, i) {
var r = e + " ";
switch (n) {
case"s":
return t || i ? "nekaj sekund" : "nekaj sekundami";
case"ss":
if (e === 1) r += t ? "sekundo" : "sekundi"; else if (e === 2) r += t || i ? "sekundi" : "sekundah"; else if (e < 5) r += t || i ? "sekunde" : "sekundah"; else r += "sekund";
return r;
case"m":
return t ? "ena minuta" : "eno minuto";
case"mm":
if (e === 1) r += t ? "minuta" : "minuto"; else if (e === 2) r += t || i ? "minuti" : "minutama"; else if (e < 5) r += t || i ? "minute" : "minutami"; else r += t || i ? "minut" : "minutami";
return r;
case"h":
return t ? "ena ura" : "eno uro";
case"hh":
if (e === 1) r += t ? "ura" : "uro"; else if (e === 2) r += t || i ? "uri" : "urama"; else if (e < 5) r += t || i ? "ure" : "urami"; else r += t || i ? "ur" : "urami";
return r;
case"d":
return t || i ? "en dan" : "enim dnem";
case"dd":
if (e === 1) r += t || i ? "dan" : "dnem"; else if (e === 2) r += t || i ? "dni" : "dnevoma"; else r += t || i ? "dni" : "dnevi";
return r;
case"M":
return t || i ? "en mesec" : "enim mesecem";
case"MM":
if (e === 1) r += t || i ? "mesec" : "mesecem"; else if (e === 2) r += t || i ? "meseca" : "mesecema"; else if (e < 5) r += t || i ? "mesece" : "meseci"; else r += t || i ? "mesecev" : "meseci";
return r;
case"y":
return t || i ? "eno leto" : "enim letom";
case"yy":
if (e === 1) r += t || i ? "leto" : "letom"; else if (e === 2) r += t || i ? "leti" : "letoma"; else if (e < 5) r += t || i ? "leta" : "leti"; else r += t || i ? "let" : "leti";
return r
}
}
var n;
e.defineLocale("sl", {
months: "januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),
monthsShort: "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),
weekdaysShort: "ned._pon._tor._sre._čet._pet._sob.".split("_"),
weekdaysMin: "ne_po_to_sr_če_pe_so".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD. MM. YYYY",
LL: "D. MMMM YYYY",
LLL: "D. MMMM YYYY H:mm",
LLLL: "dddd, D. MMMM YYYY H:mm"
},
calendar: {
sameDay: "[danes ob] LT", nextDay: "[jutri ob] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[v] [nedeljo] [ob] LT";
case 3:
return "[v] [sredo] [ob] LT";
case 6:
return "[v] [soboto] [ob] LT";
case 1:
case 2:
case 4:
case 5:
return "[v] dddd [ob] LT"
}
}, lastDay: "[včeraj ob] LT", lastWeek: function () {
switch (this.day()) {
case 0:
return "[prejšnjo] [nedeljo] [ob] LT";
case 3:
return "[prejšnjo] [sredo] [ob] LT";
case 6:
return "[prejšnjo] [soboto] [ob] LT";
case 1:
case 2:
case 4:
case 5:
return "[prejšnji] dddd [ob] LT"
}
}, sameElse: "L"
},
relativeTime: {
future: "čez %s",
past: "pred %s",
s: t,
ss: t,
m: t,
mm: t,
h: t,
hh: t,
d: t,
dd: t,
M: t,
MM: t,
y: t,
yy: t
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("sq", {
months: "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),
monthsShort: "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),
weekdays: "E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),
weekdaysShort: "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),
weekdaysMin: "D_H_Ma_Më_E_P_Sh".split("_"),
weekdaysParseExact: true,
meridiemParse: /PD|MD/,
isPM: function (e) {
return e.charAt(0) === "M"
},
meridiem: function (e, t, n) {
return e < 12 ? "PD" : "MD"
},
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Sot në] LT",
nextDay: "[Nesër në] LT",
nextWeek: "dddd [në] LT",
lastDay: "[Dje në] LT",
lastWeek: "dddd [e kaluar në] LT",
sameElse: "L"
},
relativeTime: {
future: "në %s",
past: "%s më parë",
s: "disa sekonda",
ss: "%d sekonda",
m: "një minutë",
mm: "%d minuta",
h: "një orë",
hh: "%d orë",
d: "një ditë",
dd: "%d ditë",
M: "një muaj",
MM: "%d muaj",
y: "një vit",
yy: "%d vite"
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var s = {
words: {
ss: ["sekunda", "sekunde", "sekundi"],
m: ["jedan minut", "jednog minuta"],
mm: ["minut", "minuta", "minuta"],
h: ["jedan sat", "jednog sata"],
hh: ["sat", "sata", "sati"],
d: ["jedan dan", "jednog dana"],
dd: ["dan", "dana", "dana"],
M: ["jedan mesec", "jednog meseca"],
MM: ["mesec", "meseca", "meseci"],
y: ["jednu godinu", "jedne godine"],
yy: ["godinu", "godine", "godina"]
}, correctGrammaticalCase: function (e, t) {
if (e % 10 >= 1 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20)) return e % 10 === 1 ? t[0] : t[1];
return t[2]
}, translate: function (e, t, n, i) {
var r = s.words[n], a;
if (n.length === 1) {
if (n === "y" && t) return "jedna godina";
return i || t ? r[0] : r[1]
}
a = s.correctGrammaticalCase(e, r);
if (n === "yy" && t && a === "godinu") return e + " godina";
return e + " " + a
}
}, t;
e.defineLocale("sr", {
months: "januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),
monthsShort: "jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),
monthsParseExact: true,
weekdays: "nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),
weekdaysShort: "ned._pon._uto._sre._čet._pet._sub.".split("_"),
weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "D. M. YYYY.",
LL: "D. MMMM YYYY.",
LLL: "D. MMMM YYYY. H:mm",
LLLL: "dddd, D. MMMM YYYY. H:mm"
},
calendar: {
sameDay: "[danas u] LT", nextDay: "[sutra u] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[u] [nedelju] [u] LT";
case 3:
return "[u] [sredu] [u] LT";
case 6:
return "[u] [subotu] [u] LT";
case 1:
case 2:
case 4:
case 5:
return "[u] dddd [u] LT"
}
}, lastDay: "[juče u] LT", lastWeek: function () {
var e = ["[prošle] [nedelje] [u] LT", "[prošlog] [ponedeljka] [u] LT", "[prošlog] [utorka] [u] LT", "[prošle] [srede] [u] LT", "[prošlog] [četvrtka] [u] LT", "[prošlog] [petka] [u] LT", "[prošle] [subote] [u] LT"];
return e[this.day()]
}, sameElse: "L"
},
relativeTime: {
future: "za %s",
past: "pre %s",
s: "nekoliko sekundi",
ss: s.translate,
m: s.translate,
mm: s.translate,
h: s.translate,
hh: s.translate,
d: s.translate,
dd: s.translate,
M: s.translate,
MM: s.translate,
y: s.translate,
yy: s.translate
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var s = {
words: {
ss: ["секунда", "секунде", "секунди"],
m: ["један минут", "једног минута"],
mm: ["минут", "минута", "минута"],
h: ["један сат", "једног сата"],
hh: ["сат", "сата", "сати"],
d: ["један дан", "једног дана"],
dd: ["дан", "дана", "дана"],
M: ["један месец", "једног месеца"],
MM: ["месец", "месеца", "месеци"],
y: ["једну годину", "једне године"],
yy: ["годину", "године", "година"]
}, correctGrammaticalCase: function (e, t) {
if (e % 10 >= 1 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20)) return e % 10 === 1 ? t[0] : t[1];
return t[2]
}, translate: function (e, t, n, i) {
var r = s.words[n], a;
if (n.length === 1) {
if (n === "y" && t) return "једна година";
return i || t ? r[0] : r[1]
}
a = s.correctGrammaticalCase(e, r);
if (n === "yy" && t && a === "годину") return e + " година";
return e + " " + a
}
}, t;
e.defineLocale("sr-cyrl", {
months: "јануаребруарарт_април_мај_јун_јул_август_септембар_октобаровембарецембар".split("_"),
monthsShort: "јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),
monthsParseExact: true,
weekdays: "недеља_понедељак_уторак_средаетвртак_петак_субота".split("_"),
weekdaysShort: "нед._пон._уто._сре._чет._пет._суб.".split("_"),
weekdaysMin: "не_по_ут_сре_пе_су".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "D. M. YYYY.",
LL: "D. MMMM YYYY.",
LLL: "D. MMMM YYYY. H:mm",
LLLL: "dddd, D. MMMM YYYY. H:mm"
},
calendar: {
sameDay: "[данас у] LT", nextDay: "[сутра у] LT", nextWeek: function () {
switch (this.day()) {
case 0:
return "[у] [недељу] [у] LT";
case 3:
return "[у] [среду] [у] LT";
case 6:
return "[у] [суботу] [у] LT";
case 1:
case 2:
case 4:
case 5:
return "[у] dddd [у] LT"
}
}, lastDay: "[јуче у] LT", lastWeek: function () {
var e = ["[прошле] [недеље] [у] LT", "[прошлог] [понедељка] [у] LT", "[прошлог] [уторка] [у] LT", "[прошле] [среде] [у] LT", "[прошлог] [четвртка] [у] LT", "[прошлог] [петка] [у] LT", "[прошле] [суботе] [у] LT"];
return e[this.day()]
}, sameElse: "L"
},
relativeTime: {
future: "за %s",
past: "пре %s",
s: "неколико секунди",
ss: s.translate,
m: s.translate,
mm: s.translate,
h: s.translate,
hh: s.translate,
d: s.translate,
dd: s.translate,
M: s.translate,
MM: s.translate,
y: s.translate,
yy: s.translate
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ss", {
months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),
monthsShort: "Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),
weekdays: "Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),
weekdaysShort: "Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),
weekdaysMin: "Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendar: {
sameDay: "[Namuhla nga] LT",
nextDay: "[Kusasa nga] LT",
nextWeek: "dddd [nga] LT",
lastDay: "[Itolo nga] LT",
lastWeek: "dddd [leliphelile] [nga] LT",
sameElse: "L"
},
relativeTime: {
future: "nga %s",
past: "wenteka nga %s",
s: "emizuzwana lomcane",
ss: "%d mzuzwana",
m: "umzuzu",
mm: "%d emizuzu",
h: "lihora",
hh: "%d emahora",
d: "lilanga",
dd: "%d emalanga",
M: "inyanga",
MM: "%d tinyanga",
y: "umnyaka",
yy: "%d iminyaka"
},
meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
meridiem: function (e, t, n) {
if (e < 11) return "ekuseni"; else if (e < 15) return "emini"; else if (e < 19) return "entsambama"; else return "ebusuku"
},
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "ekuseni") return e; else if (t === "emini") return e >= 11 ? e : e + 12; else if (t === "entsambama" || t === "ebusuku") {
if (e === 0) return 0;
return e + 12
}
},
dayOfMonthOrdinalParse: /\d{1,2}/,
ordinal: "%d",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("sv", {
months: "januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),
monthsShort: "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
weekdays: "söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),
weekdaysShort: "sön_mån_tis_ons_tor_fre_lör".split("_"),
weekdaysMin: "sö_må_ti_on_to_fr_lö".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY [kl.] HH:mm",
LLLL: "dddd D MMMM YYYY [kl.] HH:mm",
lll: "D MMM YYYY HH:mm",
llll: "ddd D MMM YYYY HH:mm"
},
calendar: {
sameDay: "[Idag] LT",
nextDay: "[Imorgon] LT",
lastDay: "[Igår] LT",
nextWeek: "[På] dddd LT",
lastWeek: "[I] dddd[s] LT",
sameElse: "L"
},
relativeTime: {
future: "om %s",
past: "för %s sedan",
s: "några sekunder",
ss: "%d sekunder",
m: "en minut",
mm: "%d minuter",
h: "en timme",
hh: "%d timmar",
d: "en dag",
dd: "%d dagar",
M: "en månad",
MM: "%d månader",
y: "ett år",
yy: "%d år"
},
dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? ":e" : t === 1 ? ":a" : t === 2 ? ":a" : t === 3 ? ":e" : ":e";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("sw", {
months: "Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),
monthsShort: "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),
weekdays: "Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),
weekdaysShort: "Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),
weekdaysMin: "J2_J3_J4_J5_Al_Ij_J1".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "hh:mm A",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[leo saa] LT",
nextDay: "[kesho saa] LT",
nextWeek: "[wiki ijayo] dddd [saat] LT",
lastDay: "[jana] LT",
lastWeek: "[wiki iliyopita] dddd [saat] LT",
sameElse: "L"
},
relativeTime: {
future: "%s baadaye",
past: "tokea %s",
s: "hivi punde",
ss: "sekunde %d",
m: "dakika moja",
mm: "dakika %d",
h: "saa limoja",
hh: "masaa %d",
d: "siku moja",
dd: "siku %d",
M: "mwezi mmoja",
MM: "miezi %d",
y: "mwaka mmoja",
yy: "miaka %d"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = {1: "௧", 2: "௨", 3: "௩", 4: "௪", 5: "௫", 6: "௬", 7: "௭", 8: "௮", 9: "௯", 0: ""}, n = {
"௧": "1",
"௨": "2",
"௩": "3",
"௪": "4",
"௫": "5",
"௬": "6",
"௭": "7",
"௮": "8",
"௯": "9",
"": "0"
}, i;
e.defineLocale("ta", {
months: "ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),
monthsShort: "ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),
weekdays: "ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),
weekdaysShort: "ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),
weekdaysMin: "ஞா_தி_செ_பு_வி_வெ_ச".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, HH:mm",
LLLL: "dddd, D MMMM YYYY, HH:mm"
},
calendar: {
sameDay: "[இன்று] LT",
nextDay: "[நாளை] LT",
nextWeek: "dddd, LT",
lastDay: "[நேற்று] LT",
lastWeek: "[கடந்த வாரம்] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s இல்",
past: "%s முன்",
s: "ஒரு சில விநாடிகள்",
ss: "%d விநாடிகள்",
m: "ஒரு நிமிடம்",
mm: "%d நிமிடங்கள்",
h: "ஒரு மணி நேரம்",
hh: "%d மணி நேரம்",
d: "ஒரு நாள்",
dd: "%d நாட்கள்",
M: "ஒரு மாதம்",
MM: "%d மாதங்கள்",
y: "ஒரு வருடம்",
yy: "%d ஆண்டுகள்"
},
dayOfMonthOrdinalParse: /\d{1,2}வது/,
ordinal: function (e) {
return e + "வது"
},
preparse: function (e) {
return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (e) {
return n[e]
})
},
postformat: function (e) {
return e.replace(/\d/g, function (e) {
return t[e]
})
},
meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
meridiem: function (e, t, n) {
if (e < 2) return " யாமம்"; else if (e < 6) return " வைகறை"; else if (e < 10) return " காலை"; else if (e < 14) return " நண்பகல்"; else if (e < 18) return " எற்பாடு"; else if (e < 22) return " மாலை"; else return " யாமம்"
},
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "யாமம்") return e < 2 ? e : e + 12; else if (t === "வைகறை" || t === "காலை") return e; else if (t === "நண்பகல்") return e >= 10 ? e : e + 12; else return e + 12
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("te", {
months: "జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెబర్_అక్టోబర్_నవబర్_డిసెబర్".split("_"),
monthsShort: "జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),
monthsParseExact: true,
weekdays: "ఆదివార_సోమవార_మగళవార_బుధవార_గురువార_శుక్రవార_శనివార".split("_"),
weekdaysShort: "ఆది_సోమ_మగళ_బుధ_గురు_శుక్ర_శని".split("_"),
weekdaysMin: "ఆ_సో_మ_బు_గు_శు_శ".split("_"),
longDateFormat: {
LT: "A h:mm",
LTS: "A h:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY, A h:mm",
LLLL: "dddd, D MMMM YYYY, A h:mm"
},
calendar: {
sameDay: "[నేడు] LT",
nextDay: "[రేపు] LT",
nextWeek: "dddd, LT",
lastDay: "[నిన్న] LT",
lastWeek: "[గత] dddd, LT",
sameElse: "L"
},
relativeTime: {
future: "%s లో",
past: "%s క్రితం",
s: "కొన్ని క్షణాలు",
ss: "%d సెకన్లు",
m: "ఒక నిమిషం",
mm: "%d నిమిషాలు",
h: "ఒక గంట",
hh: "%d గంటలు",
d: "ఒక రోజు",
dd: "%d రోజులు",
M: "ఒక నెల",
MM: "%d నెలలు",
y: "ఒక సంవత్సరం",
yy: "%d సంవత్సరాలు"
},
dayOfMonthOrdinalParse: /\d{1,2}వ/,
ordinal: "%dవ",
meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "రాత్రి") return e < 4 ? e : e + 12; else if (t === "ఉదయం") return e; else if (t === "మధ్యాహ్నం") return e >= 10 ? e : e + 12; else if (t === "సాయంత్రం") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "రాత్రి"; else if (e < 10) return "ఉదయం"; else if (e < 17) return "మధ్యాహ్నం"; else if (e < 20) return "సాయంత్రం"; else return "రాత్రి"
},
week: {dow: 0, doy: 6}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("tet", {
months: "Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),
monthsShort: "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
weekdays: "Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),
weekdaysShort: "Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),
weekdaysMin: "Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Ohin iha] LT",
nextDay: "[Aban iha] LT",
nextWeek: "dddd [iha] LT",
lastDay: "[Horiseik iha] LT",
lastWeek: "dddd [semana kotuk] [iha] LT",
sameElse: "L"
},
relativeTime: {
future: "iha %s",
past: "%s liuba",
s: "segundu balun",
ss: "segundu %d",
m: "minutu ida",
mm: "minutu %d",
h: "oras ida",
hh: "oras %d",
d: "loron ida",
dd: "loron %d",
M: "fulan ida",
MM: "fulan %d",
y: "tinan ida",
yy: "tinan %d"
},
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var i = {
0: "-ум",
1: "-ум",
2: "-юм",
3: "-юм",
4: "-ум",
5: "-ум",
6: "-ум",
7: "-ум",
8: "-ум",
9: "-ум",
10: "-ум",
12: "-ум",
13: "-ум",
20: "-ум",
30: "-юм",
40: "-ум",
50: "-ум",
60: "-ум",
70: "-ум",
80: "-ум",
90: "-ум",
100: "-ум"
}, t;
e.defineLocale("tg", {
months: {
format: "январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри".split("_"),
standalone: "январеврал_март_апрел_май_июн_июл_август_сентябр_октяброябрекабр".split("_")
},
monthsShort: "янв_фев_мар_апрай_июн_июл_авг_сен_окт_ноя_дек".split("_"),
weekdays: "якшанбеушанбе_сешанбеоршанбе_панҷшанбеумъаанбе".split("_"),
weekdaysShort: "яшб_дшб_сшб_чшб_пшбум_шнб".split("_"),
weekdaysMin: "яш_дш_сш_чш_пш_ҷм_шб".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Имрӯз соати] LT",
nextDay: "[Фардо соати] LT",
lastDay: "[Дирӯз соати] LT",
nextWeek: "dddd[и] [ҳафтаи оянда соати] LT",
lastWeek: "dddd[и] [ҳафтаи гузашта соати] LT",
sameElse: "L"
},
relativeTime: {
future: "баъди %s",
past: "%s пеш",
s: "якчанд сония",
m: "як дақиқа",
mm: "%d дақиқа",
h: "як соат",
hh: "%d соат",
d: "як рӯз",
dd: "%d рӯз",
M: "як моҳ",
MM: "%d моҳ",
y: "як сол",
yy: "%d сол"
},
meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "шаб") return e < 4 ? e : e + 12; else if (t === "субҳ") return e; else if (t === "рӯз") return e >= 11 ? e : e + 12; else if (t === "бегоҳ") return e + 12
},
meridiem: function (e, t, n) {
if (e < 4) return "шаб"; else if (e < 11) return "субҳ"; else if (e < 16) return "рӯз"; else if (e < 19) return "бегоҳ"; else return "шаб"
},
dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
ordinal: function (e) {
var t = e % 10, n = e >= 100 ? 100 : null;
return e + (i[e] || i[t] || i[n])
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("th", {
months: "มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),
monthsShort: "ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),
monthsParseExact: true,
weekdays: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),
weekdaysShort: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),
weekdaysMin: "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "H:mm",
LTS: "H:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY เวลา H:mm",
LLLL: "วันddddที่ D MMMM YYYY เวลา H:mm"
},
meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
isPM: function (e) {
return e === "หลังเที่ยง"
},
meridiem: function (e, t, n) {
if (e < 12) return "ก่อนเที่ยง"; else return "หลังเที่ยง"
},
calendar: {
sameDay: "[วันนี้ เวลา] LT",
nextDay: "[พรุ่งนี้ เวลา] LT",
nextWeek: "dddd[หน้า เวลา] LT",
lastDay: "[เมื่อวานนี้ เวลา] LT",
lastWeek: "[วัน]dddd[ที่แล้ว เวลา] LT",
sameElse: "L"
},
relativeTime: {
future: "อีก %s",
past: "%sที่แล้ว",
s: "ไม่กี่วินาที",
ss: "%d วินาที",
m: "1 นาที",
mm: "%d นาที",
h: "1 ชั่วโมง",
hh: "%d ชั่วโมง",
d: "1 วัน",
dd: "%d วัน",
w: "1 สัปดาห์",
ww: "%d สัปดาห์",
M: "1 เดือน",
MM: "%d เดือน",
y: "1 ปี",
yy: "%d ปี"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var a = {
1: "'inji",
5: "'inji",
8: "'inji",
70: "'inji",
80: "'inji",
2: "'nji",
7: "'nji",
20: "'nji",
50: "'nji",
3: "'ünji",
4: "'ünji",
100: "'ünji",
6: "'njy",
9: "'unjy",
10: "'unjy",
30: "'unjy",
60: "'ynjy",
90: "'ynjy"
}, t;
e.defineLocale("tk", {
months: "Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr".split("_"),
monthsShort: "Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek".split("_"),
weekdays: "Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe".split("_"),
weekdaysShort: "Ýek_Duş_Siş_Çar_Pen_Ann_Şen".split("_"),
weekdaysMin: "Ýk_Dş_Sş_Çr_Pn_An_Şn".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[bugün sagat] LT",
nextDay: "[ertir sagat] LT",
nextWeek: "[indiki] dddd [sagat] LT",
lastDay: "[düýn] LT",
lastWeek: "[geçen] dddd [sagat] LT",
sameElse: "L"
},
relativeTime: {
future: "%s soň",
past: "%s öň",
s: "birnäçe sekunt",
m: "bir minut",
mm: "%d minut",
h: "bir sagat",
hh: "%d sagat",
d: "bir gün",
dd: "%d gün",
M: "bir aý",
MM: "%d aý",
y: "bir ýyl",
yy: "%d ýyl"
},
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"Do":
case"DD":
return e;
default:
if (e === 0) return e + "'unjy";
var n = e % 10, i = e % 100 - n, r = e >= 100 ? 100 : null;
return e + (a[n] || a[i] || a[r])
}
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("tl-ph", {
months: "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
monthsShort: "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
weekdays: "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
weekdaysShort: "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
weekdaysMin: "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "MM/D/YYYY",
LL: "MMMM D, YYYY",
LLL: "MMMM D, YYYY HH:mm",
LLLL: "dddd, MMMM DD, YYYY HH:mm"
},
calendar: {
sameDay: "LT [ngayong araw]",
nextDay: "[Bukas ng] LT",
nextWeek: "LT [sa susunod na] dddd",
lastDay: "LT [kahapon]",
lastWeek: "LT [noong nakaraang] dddd",
sameElse: "L"
},
relativeTime: {
future: "sa loob ng %s",
past: "%s ang nakalipas",
s: "ilang segundo",
ss: "%d segundo",
m: "isang minuto",
mm: "%d minuto",
h: "isang oras",
hh: "%d oras",
d: "isang araw",
dd: "%d araw",
M: "isang buwan",
MM: "%d buwan",
y: "isang taon",
yy: "%d taon"
},
dayOfMonthOrdinalParse: /\d{1,2}/,
ordinal: function (e) {
return e
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var a = "pagh_wa_cha_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"), t;
function n(e) {
var t = e;
t = e.indexOf("jaj") !== -1 ? t.slice(0, -3) + "leS" : e.indexOf("jar") !== -1 ? t.slice(0, -3) + "waQ" : e.indexOf("DIS") !== -1 ? t.slice(0, -3) + "nem" : t + " pIq";
return t
}
function i(e) {
var t = e;
t = e.indexOf("jaj") !== -1 ? t.slice(0, -3) + "Hu" : e.indexOf("jar") !== -1 ? t.slice(0, -3) + "wen" : e.indexOf("DIS") !== -1 ? t.slice(0, -3) + "ben" : t + " ret";
return t
}
function r(e, t, n, i) {
var r = s(e);
switch (n) {
case"ss":
return r + " lup";
case"mm":
return r + " tup";
case"hh":
return r + " rep";
case"dd":
return r + " jaj";
case"MM":
return r + " jar";
case"yy":
return r + " DIS"
}
}
function s(e) {
var t = Math.floor(e % 1e3 / 100), n = Math.floor(e % 100 / 10), i = e % 10, r = "";
if (t > 0) r += a[t] + "vatlh";
if (n > 0) r += (r !== "" ? " " : "") + a[n] + "maH";
if (i > 0) r += (r !== "" ? " " : "") + a[i];
return r === "" ? "pagh" : r
}
e.defineLocale("tlh", {
months: "tera jar wa_tera jar cha_tera jar wej_tera jar loS_tera jar vagh_tera jar jav_tera jar Soch_tera jar chorgh_tera jar Hut_tera jar wamaH_tera jar wamaH wa_tera jar wamaH cha".split("_"),
monthsShort: "jar wa_jar cha_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wamaH_jar wamaH wa_jar wamaH cha".split("_"),
monthsParseExact: true,
weekdays: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
weekdaysShort: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
weekdaysMin: "lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[DaHjaj] LT",
nextDay: "[waleS] LT",
nextWeek: "LLL",
lastDay: "[waHu] LT",
lastWeek: "LLL",
sameElse: "L"
},
relativeTime: {
future: n,
past: i,
s: "puS lup",
ss: r,
m: "wa tup",
mm: r,
h: "wa rep",
hh: r,
d: "wa jaj",
dd: r,
M: "wa jar",
MM: r,
y: "wa DIS",
yy: r
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var a = {
1: "'inci",
5: "'inci",
8: "'inci",
70: "'inci",
80: "'inci",
2: "'nci",
7: "'nci",
20: "'nci",
50: "'nci",
3: "'üncü",
4: "'üncü",
100: "'üncü",
6: "'ncı",
9: "'uncu",
10: "'uncu",
30: "'uncu",
60: "'ıncı",
90: "'ıncı"
}, t;
e.defineLocale("tr", {
months: "Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),
monthsShort: "Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),
weekdays: "Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),
weekdaysShort: "Paz_Pzt_Sal_Çar_Per_Cum_Cmt".split("_"),
weekdaysMin: "Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),
meridiem: function (e, t, n) {
if (e < 12) return n ? "öö" : "ÖÖ"; else return n ? "ös" : "ÖS"
},
meridiemParse: /öö|ÖÖ|ös|ÖS/,
isPM: function (e) {
return e === "ös" || e === "ÖS"
},
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[bugün saat] LT",
nextDay: "[yarın saat] LT",
nextWeek: "[gelecek] dddd [saat] LT",
lastDay: "[dün] LT",
lastWeek: "[geçen] dddd [saat] LT",
sameElse: "L"
},
relativeTime: {
future: "%s sonra",
past: "%s önce",
s: "birkaç saniye",
ss: "%d saniye",
m: "bir dakika",
mm: "%d dakika",
h: "bir saat",
hh: "%d saat",
d: "bir gün",
dd: "%d gün",
w: "bir hafta",
ww: "%d hafta",
M: "bir ay",
MM: "%d ay",
y: "bir yıl",
yy: "%d yıl"
},
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"Do":
case"DD":
return e;
default:
if (e === 0) return e + "'ıncı";
var n = e % 10, i = e % 100 - n, r = e >= 100 ? 100 : null;
return e + (a[n] || a[i] || a[r])
}
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
function n(e, t, n, i) {
var r = {
s: ["viensas secunds", "'iensas secunds"],
ss: [e + " secunds", "" + e + " secunds"],
m: ["'n míut", "'iens míut"],
mm: [e + " míuts", "" + e + " míuts"],
h: ["'n þora", "'iensa þora"],
hh: [e + " þoras", "" + e + " þoras"],
d: ["'n ziua", "'iensa ziua"],
dd: [e + " ziuas", "" + e + " ziuas"],
M: ["'n mes", "'iens mes"],
MM: [e + " mesen", "" + e + " mesen"],
y: ["'n ar", "'iens ar"],
yy: [e + " ars", "" + e + " ars"]
};
return i ? r[n][0] : t ? r[n][0] : r[n][1]
}
e.defineLocale("tzl", {
months: "Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),
monthsShort: "Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),
weekdays: "Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),
weekdaysShort: "Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),
weekdaysMin: "Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),
longDateFormat: {
LT: "HH.mm",
LTS: "HH.mm.ss",
L: "DD.MM.YYYY",
LL: "D. MMMM [dallas] YYYY",
LLL: "D. MMMM [dallas] YYYY HH.mm",
LLLL: "dddd, [li] D. MMMM [dallas] YYYY HH.mm"
},
meridiemParse: /d\'o|d\'a/i,
isPM: function (e) {
return "d'o" === e.toLowerCase()
},
meridiem: function (e, t, n) {
if (e > 11) return n ? "d'o" : "D'O"; else return n ? "d'a" : "D'A"
},
calendar: {
sameDay: "[oxhi à] LT",
nextDay: "[demà à] LT",
nextWeek: "dddd [à] LT",
lastDay: "[ieiri à] LT",
lastWeek: "[sür el] dddd [lasteu à] LT",
sameElse: "L"
},
relativeTime: {
future: "osprei %s",
past: "ja%s",
s: n,
ss: n,
m: n,
mm: n,
h: n,
hh: n,
d: n,
dd: n,
M: n,
MM: n,
y: n,
yy: n
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
ordinal: "%d.",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("tzm", {
months: "ⵉⴰⵢ_ⴱⴰⵢ_ⵎⴰⵚ_ⵉⴱ_ⵎⴰⵢⵢⵓ_ⵢⵓⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⴱⵉ_ⴽⵟⵓⴱ_ⵓⵡⴰⴱⵉ_ⴷⵓⵊⴱⵉ".split("_"),
monthsShort: "ⵉⴰⵢ_ⴱⴰⵢ_ⵎⴰⵚ_ⵉⴱ_ⵎⴰⵢⵢⵓ_ⵢⵓⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⴱⵉ_ⴽⵟⵓⴱ_ⵓⵡⴰⴱⵉ_ⴷⵓⵊⴱⵉ".split("_"),
weekdays: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⴰⵙ_ⴰⵙⵉⴰⵙ_ⴰⴽⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⵢⴰⵙ".split("_"),
weekdaysShort: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⴰⵙ_ⴰⵙⵉⴰⵙ_ⴰⴽⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⵢⴰⵙ".split("_"),
weekdaysMin: "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⴰⵙ_ⴰⵙⵉⴰⵙ_ⴰⴽⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⵢⴰⵙ".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[ⴰⵙⴷⵅ ⴴ] LT",
nextDay: "[ⴰⵙⴽⴰ ⴴ] LT",
nextWeek: "dddd [ⴴ] LT",
lastDay: "[ⴰⵚⴰⵏⵜ ⴴ] LT",
lastWeek: "dddd [ⴴ] LT",
sameElse: "L"
},
relativeTime: {
future: "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",
past: "ⵢⴰⵏ %s",
s: "ⵉⵎⵉⴽ",
ss: "%d ⵉⵎⵉⴽ",
m: "ⵎⵉⵏⵓⴺ",
mm: "%d ⵎⵉⵏⵓⴺ",
h: "ⵙⴰⵄⴰ",
hh: "%d ⵜⴰⵙⵙⴰⵄⵉⵏ",
d: "ⴰⵙⵙ",
dd: "%d oⵙⵙⴰ",
M: "ⴰⵢoⵓ",
MM: "%d ⵉⵢⵢⵉⵔⵏ",
y: "ⴰⵙⴳⴰⵙ",
yy: "%d ⵉⵙⴳⴰⵙⵏ"
},
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("tzm-latn", {
months: "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
monthsShort: "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
weekdays: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
weekdaysShort: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
weekdaysMin: "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[asdkh g] LT",
nextDay: "[aska g] LT",
nextWeek: "dddd [g] LT",
lastDay: "[assant g] LT",
lastWeek: "dddd [g] LT",
sameElse: "L"
},
relativeTime: {
future: "dadkh s yan %s",
past: "yan %s",
s: "imik",
ss: "%d imik",
m: "minuḍ",
mm: "%d minuḍ",
h: "saɛa",
hh: "%d tassaɛin",
d: "ass",
dd: "%d ossan",
M: "ayowr",
MM: "%d iyyirn",
y: "asgas",
yy: "%d isgasn"
},
week: {dow: 6, doy: 12}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("ug-cn", {
months: "يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),
monthsShort: "يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),
weekdays: "يەكشەنبە_دۈشەنبەەيشەنبەارشەنبەەيشەنبە_جۈمەەنبە".split("_"),
weekdaysShort: "يە_دۈ_سەاە_جۈ_شە".split("_"),
weekdaysMin: "يە_دۈ_سەاە_جۈ_شە".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY-MM-DD",
LL: "YYYY-يىلىM-ئاينىڭD-كۈنى",
LLL: "YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",
LLLL: "dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"
},
meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "يېرىم كېچە" || t === "سەھەر" || t === "چۈشتىن بۇرۇن") return e; else if (t === "چۈشتىن كېيىن" || t === "كەچ") return e + 12; else return e >= 11 ? e : e + 12
},
meridiem: function (e, t, n) {
var i = e * 100 + t;
if (i < 600) return "يېرىم كېچە"; else if (i < 900) return "سەھەر"; else if (i < 1130) return "چۈشتىن بۇرۇن"; else if (i < 1230) return "چۈش"; else if (i < 1800) return "چۈشتىن كېيىن"; else return "كەچ"
},
calendar: {
sameDay: "[بۈگۈن سائەت] LT",
nextDay: "[ئەتە سائەت] LT",
nextWeek: "[كېلەركى] dddd [سائەت] LT",
lastDay: "[تۆنۈگۈن] LT",
lastWeek: "[ئالدىنقى] dddd [سائەت] LT",
sameElse: "L"
},
relativeTime: {
future: "%s كېيىن",
past: "%s بۇرۇن",
s: "نەچچە سېكونت",
ss: "%d سېكونت",
m: "بىر مىنۇت",
mm: "%d مىنۇت",
h: "بىر سائەت",
hh: "%d سائەت",
d: "بىر كۈن",
dd: "%d كۈن",
M: "بىر ئاي",
MM: "%d ئاي",
y: "بىر يىل",
yy: "%d يىل"
},
dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "-كۈنى";
case"w":
case"W":
return e + "-ھەپتە";
default:
return e
}
},
preparse: function (e) {
return e.replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/,/g, "،")
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
function r(e, t) {
var n = e.split("_");
return t % 10 === 1 && t % 100 !== 11 ? n[0] : t % 10 >= 2 && t % 10 <= 4 && (t % 100 < 10 || t % 100 >= 20) ? n[1] : n[2]
}
function t(e, t, n) {
var i = {
ss: t ? "секунда_секунди_секунд" : "секунду_секунди_секунд",
mm: t ? "хвилина_хвилини_хвилин" : "хвилину_хвилини_хвилин",
hh: t ? "година_години_годин" : "годину_години_годин",
dd: "день_дні_днів",
MM: "місяць_місяціісяців",
yy: "рік_роки_років"
};
if (n === "m") return t ? "хвилина" : "хвилину"; else if (n === "h") return t ? "година" : "годину"; else return e + " " + r(i[n], +e)
}
function n(e, t) {
var n = {
nominative: "неділя_понеділок_вівторок_середаетвер_пятниця_субота".split("_"),
accusative: "неділю_понеділок_вівторок_середуетвер_пятницю_суботу".split("_"),
genitive: "неділі_понеділкаівторка_середи_четверга_пятниці_суботи".split("_")
}, i;
if (e === true) return n["nominative"].slice(1, 7).concat(n["nominative"].slice(0, 1));
if (!e) return n["nominative"];
i = /(\[[ВвУу]\]) ?dddd/.test(t) ? "accusative" : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(t) ? "genitive" : "nominative";
return n[i][e.day()]
}
function i(e) {
return function () {
return e + "о" + (this.hours() === 11 ? "б" : "") + "] LT"
}
}
var a;
e.defineLocale("uk", {
months: {
format: "січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),
standalone: "січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")
},
monthsShort: "січ_лют_бер_квіт_трав_черв_лип_серп_веровт_лист_груд".split("_"),
weekdays: n,
weekdaysShort: "нд_пн_вт_ср_чт_пт_сб".split("_"),
weekdaysMin: "нд_пн_вт_ср_чт_пт_сб".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD.MM.YYYY",
LL: "D MMMM YYYY р.",
LLL: "D MMMM YYYY р., HH:mm",
LLLL: "dddd, D MMMM YYYY р., HH:mm"
},
calendar: {
sameDay: i("[Сьогодні "),
nextDay: i("[Завтра "),
lastDay: i("[Вчора "),
nextWeek: i("[У] dddd ["),
lastWeek: function () {
switch (this.day()) {
case 0:
case 3:
case 5:
case 6:
return i("[Минулої] dddd [").call(this);
case 1:
case 2:
case 4:
return i("[Минулого] dddd [").call(this)
}
},
sameElse: "L"
},
relativeTime: {
future: "за %s",
past: "%s тому",
s: "декілька секунд",
ss: t,
m: t,
mm: t,
h: "годину",
hh: t,
d: "день",
dd: t,
M: "місяць",
MM: t,
y: "рік",
yy: t
},
meridiemParse: /ночі|ранку|дня|вечора/,
isPM: function (e) {
return /^(дня|вечора)$/.test(e)
},
meridiem: function (e, t, n) {
if (e < 4) return "ночі"; else if (e < 12) return "ранку"; else if (e < 17) return "дня"; else return "вечора"
},
dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
ordinal: function (e, t) {
switch (t) {
case"M":
case"d":
case"DDD":
case"w":
case"W":
return e + "-й";
case"D":
return e + "-го";
default:
return e
}
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t = ["جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"],
n = ["اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"], i;
e.defineLocale("ur", {
months: t,
monthsShort: t,
weekdays: n,
weekdaysShort: n,
weekdaysMin: n,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd، D MMMM YYYY HH:mm"
},
meridiemParse: /صبح|شام/,
isPM: function (e) {
return "شام" === e
},
meridiem: function (e, t, n) {
if (e < 12) return "صبح";
return "شام"
},
calendar: {
sameDay: "[آج بوقت] LT",
nextDay: "[کل بوقت] LT",
nextWeek: "dddd [بوقت] LT",
lastDay: "[گذشتہ روز بوقت] LT",
lastWeek: "[گذشتہ] dddd [بوقت] LT",
sameElse: "L"
},
relativeTime: {
future: "%s بعد",
past: "%s قبل",
s: "چند سیکنڈ",
ss: "%d سیکنڈ",
m: "ایک منٹ",
mm: "%d منٹ",
h: "ایک گھنٹہ",
hh: "%d گھنٹے",
d: "ایک دن",
dd: "%d دن",
M: "ایک ماہ",
MM: "%d ماہ",
y: "ایک سال",
yy: "%d سال"
},
preparse: function (e) {
return e.replace(/،/g, ",")
},
postformat: function (e) {
return e.replace(/,/g, "،")
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("uz", {
months: "январеврал_март_апрел_май_июн_июл_август_сентябр_октяброябрекабр".split("_"),
monthsShort: "янв_фев_мар_апрай_июн_июл_авг_сен_окт_ноя_дек".split("_"),
weekdays: "Якшанбаушанба_Сешанбаоршанбаайшанбаумаанба".split("_"),
weekdaysShort: "Якш_Душ_Сеш_Чорай_Жум_Шан".split("_"),
weekdaysMin: "Як_Ду_Сеоауа".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "D MMMM YYYY, dddd HH:mm"
},
calendar: {
sameDay: "[Бугун соат] LT [да]",
nextDay: "[Эртага] LT [да]",
nextWeek: "dddd [куни соат] LT [да]",
lastDay: "[Кеча соат] LT [да]",
lastWeek: "[Утган] dddd [куни соат] LT [да]",
sameElse: "L"
},
relativeTime: {
future: "Якин %s ичида",
past: "Бир неча %s олдин",
s: "фурсат",
ss: "%d фурсат",
m: "бир дакика",
mm: "%d дакика",
h: "бир соат",
hh: "%d соат",
d: "бир кун",
dd: "%d кун",
M: "бир ой",
MM: "%d ой",
y: "бир йил",
yy: "%d йил"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("uz-latn", {
months: "Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),
monthsShort: "Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),
weekdays: "Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),
weekdaysShort: "Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),
weekdaysMin: "Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "D MMMM YYYY, dddd HH:mm"
},
calendar: {
sameDay: "[Bugun soat] LT [da]",
nextDay: "[Ertaga] LT [da]",
nextWeek: "dddd [kuni soat] LT [da]",
lastDay: "[Kecha soat] LT [da]",
lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
sameElse: "L"
},
relativeTime: {
future: "Yaqin %s ichida",
past: "Bir necha %s oldin",
s: "soniya",
ss: "%d soniya",
m: "bir daqiqa",
mm: "%d daqiqa",
h: "bir soat",
hh: "%d soat",
d: "bir kun",
dd: "%d kun",
M: "bir oy",
MM: "%d oy",
y: "bir yil",
yy: "%d yil"
},
week: {dow: 1, doy: 7}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("vi", {
months: "tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),
monthsShort: "Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),
monthsParseExact: true,
weekdays: "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),
weekdaysShort: "CN_T2_T3_T4_T5_T6_T7".split("_"),
weekdaysMin: "CN_T2_T3_T4_T5_T6_T7".split("_"),
weekdaysParseExact: true,
meridiemParse: /sa|ch/i,
isPM: function (e) {
return /^ch$/i.test(e)
},
meridiem: function (e, t, n) {
if (e < 12) return n ? "sa" : "SA"; else return n ? "ch" : "CH"
},
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D MMMM [năm] YYYY",
LLL: "D MMMM [năm] YYYY HH:mm",
LLLL: "dddd, D MMMM [năm] YYYY HH:mm",
l: "DD/M/YYYY",
ll: "D MMM YYYY",
lll: "D MMM YYYY HH:mm",
llll: "ddd, D MMM YYYY HH:mm"
},
calendar: {
sameDay: "[Hôm nay lúc] LT",
nextDay: "[Ngày mai lúc] LT",
nextWeek: "dddd [tuần tới lúc] LT",
lastDay: "[Hôm qua lúc] LT",
lastWeek: "dddd [tuần trước lúc] LT",
sameElse: "L"
},
relativeTime: {
future: "%s tới",
past: "%s trước",
s: "vài giây",
ss: "%d giây",
m: "một phút",
mm: "%d phút",
h: "một giờ",
hh: "%d giờ",
d: "một ngày",
dd: "%d ngày",
w: "một tuần",
ww: "%d tuần",
M: "một tháng",
MM: "%d tháng",
y: "một năm",
yy: "%d năm"
},
dayOfMonthOrdinalParse: /\d{1,2}/,
ordinal: function (e) {
return e
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("x-pseudo", {
months: "J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),
monthsShort: "J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),
monthsParseExact: true,
weekdays: "S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),
weekdaysShort: "S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),
weekdaysMin: "S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),
weekdaysParseExact: true,
longDateFormat: {
LT: "HH:mm",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY HH:mm",
LLLL: "dddd, D MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[T~ódá~ý át] LT",
nextDay: "[T~ómó~rró~w át] LT",
nextWeek: "dddd [át] LT",
lastDay: "[Ý~ést~érdá~ý át] LT",
lastWeek: "[L~ást] dddd [át] LT",
sameElse: "L"
},
relativeTime: {
future: "í~ñ %s",
past: "%s á~gó",
s: "á ~féw ~sécó~ñds",
ss: "%d s~écóñ~ds",
m: "á ~míñ~úté",
mm: "%d m~íñú~tés",
h: "á~ñ hó~úr",
hh: "%d h~óúrs",
d: "á ~dáý",
dd: "%d d~áýs",
M: "á ~móñ~th",
MM: "%d m~óñt~hs",
y: "á ~ýéár",
yy: "%d ý~éárs"
},
dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
ordinal: function (e) {
var t = e % 10,
n = ~~(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("yo", {
months: "Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),
monthsShort: "Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),
weekdays: "Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),
weekdaysShort: "Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),
weekdaysMin: "Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),
longDateFormat: {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "DD/MM/YYYY",
LL: "D MMMM YYYY",
LLL: "D MMMM YYYY h:mm A",
LLLL: "dddd, D MMMM YYYY h:mm A"
},
calendar: {
sameDay: "[Ònì ni] LT",
nextDay: "[Ọ̀la ni] LT",
nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
lastDay: "[Àna ni] LT",
lastWeek: "dddd [Ọsẹ̀ tólọ́] [ni] LT",
sameElse: "L"
},
relativeTime: {
future: "ní %s",
past: "%s kọjá",
s: "ìsẹjú aayá die",
ss: "aayá %d",
m: "ìsẹjú kan",
mm: "ìsẹjú %d",
h: "wákati kan",
hh: "wákati %d",
d: "ọjọ́ kan",
dd: "ọjọ́ %d",
M: "osù kan",
MM: "osù %d",
y: "ọdún kan",
yy: "ọdún %d"
},
dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
ordinal: "ọjọ́ %d",
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("zh-cn", {
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
weekdaysMin: "日_一_二_三_四_五_六".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日Ah点mm分",
LLLL: "YYYY年M月D日ddddAh点mm分",
l: "YYYY/M/D",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日dddd HH:mm"
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "凌晨" || t === "早上" || t === "上午") return e; else if (t === "下午" || t === "晚上") return e + 12; else return e >= 11 ? e : e + 12
},
meridiem: function (e, t, n) {
var i = e * 100 + t;
if (i < 600) return "凌晨"; else if (i < 900) return "早上"; else if (i < 1130) return "上午"; else if (i < 1230) return "中午"; else if (i < 1800) return "下午"; else return "晚上"
},
calendar: {
sameDay: "[今天]LT", nextDay: "[明天]LT", nextWeek: function (e) {
if (e.week() !== this.week()) return "[下]dddLT"; else return "[本]dddLT"
}, lastDay: "[昨天]LT", lastWeek: function (e) {
if (this.week() !== e.week()) return "[上]dddLT"; else return "[本]dddLT"
}, sameElse: "L"
},
dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "日";
case"M":
return e + "月";
case"w":
case"W":
return e + "周";
default:
return e
}
},
relativeTime: {
future: "%s后",
past: "%s前",
s: "几秒",
ss: "%d 秒",
m: "1 分钟",
mm: "%d 分钟",
h: "1 小时",
hh: "%d 小时",
d: "1 天",
dd: "%d 天",
w: "1 周",
ww: "%d 周",
M: "1 个月",
MM: "%d 个月",
y: "1 年",
yy: "%d 年"
},
week: {dow: 1, doy: 4}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("zh-hk", {
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
weekdaysMin: "日_一_二_三_四_五_六".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日 HH:mm",
LLLL: "YYYY年M月D日dddd HH:mm",
l: "YYYY/M/D",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日dddd HH:mm"
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "凌晨" || t === "早上" || t === "上午") return e; else if (t === "中午") return e >= 11 ? e : e + 12; else if (t === "下午" || t === "晚上") return e + 12
},
meridiem: function (e, t, n) {
var i = e * 100 + t;
if (i < 600) return "凌晨"; else if (i < 900) return "早上"; else if (i < 1200) return "上午"; else if (i === 1200) return "中午"; else if (i < 1800) return "下午"; else return "晚上"
},
calendar: {
sameDay: "[今天]LT",
nextDay: "[明天]LT",
nextWeek: "[下]ddddLT",
lastDay: "[昨天]LT",
lastWeek: "[上]ddddLT",
sameElse: "L"
},
dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "日";
case"M":
return e + "月";
case"w":
case"W":
return e + "週";
default:
return e
}
},
relativeTime: {
future: "%s後",
past: "%s前",
s: "幾秒",
ss: "%d 秒",
m: "1 分鐘",
mm: "%d 分鐘",
h: "1 小時",
hh: "%d 小時",
d: "1 天",
dd: "%d 天",
M: "1 個月",
MM: "%d 個月",
y: "1 年",
yy: "%d 年"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("zh-mo", {
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
weekdaysMin: "日_一_二_三_四_五_六".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日 HH:mm",
LLLL: "YYYY年M月D日dddd HH:mm",
l: "D/M/YYYY",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日dddd HH:mm"
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "凌晨" || t === "早上" || t === "上午") return e; else if (t === "中午") return e >= 11 ? e : e + 12; else if (t === "下午" || t === "晚上") return e + 12
},
meridiem: function (e, t, n) {
var i = e * 100 + t;
if (i < 600) return "凌晨"; else if (i < 900) return "早上"; else if (i < 1130) return "上午"; else if (i < 1230) return "中午"; else if (i < 1800) return "下午"; else return "晚上"
},
calendar: {
sameDay: "[今天] LT",
nextDay: "[明天] LT",
nextWeek: "[下]dddd LT",
lastDay: "[昨天] LT",
lastWeek: "[上]dddd LT",
sameElse: "L"
},
dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "日";
case"M":
return e + "月";
case"w":
case"W":
return e + "週";
default:
return e
}
},
relativeTime: {
future: "%s內",
past: "%s前",
s: "幾秒",
ss: "%d 秒",
m: "1 分鐘",
mm: "%d 分鐘",
h: "1 小時",
hh: "%d 小時",
d: "1 天",
dd: "%d 天",
M: "1 個月",
MM: "%d 個月",
y: "1 年",
yy: "%d 年"
}
})
}(n(0))
}, function (e, t, n) {
!function (e) {
"use strict";
//! moment.js locale configuration
var t;
e.defineLocale("zh-tw", {
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
weekdaysMin: "日_一_二_三_四_五_六".split("_"),
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日 HH:mm",
LLLL: "YYYY年M月D日dddd HH:mm",
l: "YYYY/M/D",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日dddd HH:mm"
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (e, t) {
if (e === 12) e = 0;
if (t === "凌晨" || t === "早上" || t === "上午") return e; else if (t === "中午") return e >= 11 ? e : e + 12; else if (t === "下午" || t === "晚上") return e + 12
},
meridiem: function (e, t, n) {
var i = e * 100 + t;
if (i < 600) return "凌晨"; else if (i < 900) return "早上"; else if (i < 1130) return "上午"; else if (i < 1230) return "中午"; else if (i < 1800) return "下午"; else return "晚上"
},
calendar: {
sameDay: "[今天] LT",
nextDay: "[明天] LT",
nextWeek: "[下]dddd LT",
lastDay: "[昨天] LT",
lastWeek: "[上]dddd LT",
sameElse: "L"
},
dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
ordinal: function (e, t) {
switch (t) {
case"d":
case"D":
case"DDD":
return e + "日";
case"M":
return e + "月";
case"w":
case"W":
return e + "週";
default:
return e
}
},
relativeTime: {
future: "%s後",
past: "%s前",
s: "幾秒",
ss: "%d 秒",
m: "1 分鐘",
mm: "%d 分鐘",
h: "1 小時",
hh: "%d 小時",
d: "1 天",
dd: "%d 天",
M: "1 個月",
MM: "%d 個月",
y: "1 年",
yy: "%d 年"
}
})
}(n(0))
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = s(n(20)), r = s(n(38)), a = s(n(1));
function s(e) {
return e && e.__esModule ? e : {default: e}
}
(0, s(n(2)).default)(u, null, [{
key: "install", value: function () {
Object.setPrototypeOf = r.default || function (e, t) {
return e.__proto__ = t, e
}, Object.assign = i.default || function (e) {
if (null == e) throw new TypeError("Cannot convert undefined or null to object");
for (var t = Object(e), n = 1; n < arguments.length; n++) {
var i = arguments[n];
if (null != i) for (var r in i) i.hasOwnProperty(r) && (t[r] = i[r])
}
return t
}, "function" != typeof self.Promise && n(298).polyfill()
}
}]);
var o = u;
function u() {
(0, a.default)(this, u)
}
o.install(), t.default = o
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = m(n(1)), r = m(n(2)), a = m(n(4)), s = m(n(62)), o = n(15), u = m(n(307)), d = m(n(311)),
l = (m(n(312)), m(n(313))), h = m(n(314)), c = m(n(315)), _ = m(n(316)), f = n(5);
function m(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(p, [{
key: "destroy", value: function () {
this._loader.isWorking() && this._loader.abort(), this._loader.destroy(), this._loader = null, this._loaderClass = null, this._dataSource = null, this._stashBuffer = null, this._stashUsed = this._stashSize = this._bufferSize = this._stashByteStart = 0, this._currentRange = null, this._speedSampler = null, this._isEarlyEofReconnecting = !1, this._onDataArrival = null, this._onSeeked = null, this._onError = null, this._onComplete = null, this._onRedirect = null, this._onRecoveredEarlyEof = null, this._extraData = null
}
}, {
key: "isWorking", value: function () {
return this._loader && this._loader.isWorking() && !this._paused
}
}, {
key: "isPaused", value: function () {
return this._paused
}
}, {
key: "_selectSeekHandler", value: function () {
var e = this._config;
if ("range" === e.seekType) this._seekHandler = new c.default(this._config.rangeLoadZeroStart); else if ("param" === e.seekType) {
var t = e.seekParamStart || "bstart", n = e.seekParamEnd || "bend";
this._seekHandler = new _.default(t, n)
} else {
if ("custom" !== e.seekType) throw new f.InvalidArgumentException("Invalid seekType in config: " + e.seekType);
if ("function" != typeof e.customSeekHandler) throw new f.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");
this._seekHandler = new e.customSeekHandler
}
}
}, {
key: "_selectLoader", value: function () {
if (null != this._config.customLoader) this._loaderClass = this._config.customLoader; else if (this._isWebSocketURL) this._loaderClass = h.default; else if (u.default.isSupported()) this._loaderClass = u.default; else if (d.default.isSupported()) this._loaderClass = d.default; else {
if (!l.default.isSupported()) throw new f.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");
this._loaderClass = l.default
}
}
}, {
key: "_createLoader", value: function () {
this._loader = new this._loaderClass(this._seekHandler, this._config), !1 === this._loader.needStashBuffer && (this._enableStash = !1), this._loader.onContentLengthKnown = this._onContentLengthKnown.bind(this), this._loader.onURLRedirect = this._onURLRedirect.bind(this), this._loader.onDataArrival = this._onLoaderChunkArrival.bind(this), this._loader.onComplete = this._onLoaderComplete.bind(this), this._loader.onError = this._onLoaderError.bind(this)
}
}, {
key: "open", value: function (e) {
this._currentRange = {
from: 0,
to: -1
}, e && (this._currentRange.from = e), this._speedSampler.reset(), e || (this._fullRequestFlag = !0)
}
}, {
key: "abort", value: function () {
this._loader.abort(), this._paused && (this._paused = !1, this._resumeFrom = 0)
}
}, {
key: "pause", value: function () {
this.isWorking() && (this._loader.abort(), 0 !== this._stashUsed ? (this._resumeFrom = this._stashByteStart, this._currentRange.to = this._stashByteStart - 1) : this._resumeFrom = this._currentRange.to + 1, this._stashUsed = 0, this._stashByteStart = 0, this._paused = !0)
}
}, {
key: "resume", value: function () {
var e;
this._paused && (this._paused = !1, e = this._resumeFrom, this._resumeFrom = 0, this._internalSeek(e, !0))
}
}, {
key: "seek", value: function (e) {
this._paused = !1, this._stashUsed = 0, this._stashByteStart = 0, this._internalSeek(e, !0)
}
}, {
key: "_internalSeek", value: function (e, t) {
this._loader.isWorking() && this._loader.abort(), this._flushStashBuffer(t), this._loader.destroy(), this._loader = null;
t = {from: e, to: -1};
this._currentRange = {
from: t.from,
to: -1
}, this._speedSampler.reset(), this._stashSize = this._stashInitialSize, this._createLoader(), this._loader.open(this._dataSource, t), this._onSeeked && this._onSeeked()
}
}, {
key: "updateUrl", value: function (e) {
if (!e || "string" != typeof e || 0 === e.length) throw new f.InvalidArgumentException("Url must be a non-empty string!");
this._dataSource.url = e
}
}, {
key: "_expandBuffer", value: function (e) {
for (var t, n, i = this._stashSize; i + 1048576 < e;) i *= 2;
(i += 1048576) !== this._bufferSize && (t = new ArrayBuffer(i), 0 < this._stashUsed && (n = new Uint8Array(this._stashBuffer, 0, this._stashUsed), new Uint8Array(t, 0, i).set(n, 0)), this._stashBuffer = t, this._bufferSize = i)
}
}, {
key: "_normalizeSpeed", value: function (e) {
var t, n = this._speedNormalizeList, i = n.length - 1, r = 0, a = i;
if (e < n[0]) return n[0];
for (; r <= a;) {
if ((t = r + Math.floor((a - r) / 2)) === i || e >= n[t] && e < n[t + 1]) return n[t];
n[t] < e ? r = t + 1 : a = t - 1
}
}
}, {
key: "_adjustStashSize", value: function (e) {
var t = 0,
e = 1024 * (t = 8192 < (t = this._config.isLive || e < 512 ? e : 512 <= e && e <= 1024 ? Math.floor(1.5 * e) : 2 * e) ? 8192 : t) + 1048576;
this._bufferSize < e && this._expandBuffer(e), this._stashSize = 1024 * t
}
}, {
key: "_dispatchChunks", value: function (e, t) {
return this._currentRange.to = t + e.byteLength - 1, this._onDataArrival(e, t)
}
}, {
key: "_onURLRedirect", value: function (e) {
this._redirectedURL = e, this._onRedirect && this._onRedirect(e)
}
}, {
key: "_onContentLengthKnown", value: function (e) {
e && this._fullRequestFlag && (this._totalLength = e, this._fullRequestFlag = !1)
}
}, {
key: "_onLoaderChunkArrival", value: function (e, t, n) {
if (!this._onDataArrival) throw new f.IllegalStateException("IOController: No existing consumer (onDataArrival) callback!");
var i, r, a;
this._paused || (this._isEarlyEofReconnecting && (this._isEarlyEofReconnecting = !1, this._onRecoveredEarlyEof && this._onRecoveredEarlyEof()), this._speedSampler.addBytes(e.byteLength), 0 !== (i = this._speedSampler.lastSecondKBps) && (i = this._normalizeSpeed(i), this._speedNormalized !== i && (this._speedNormalized = i, this._adjustStashSize(i))), this._enableStash ? (0 === this._stashUsed && 0 === this._stashByteStart && (this._stashByteStart = t), this._stashUsed + e.byteLength <= this._stashSize ? (new Uint8Array(this._stashBuffer, 0, this._stashSize).set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength) : (i = new Uint8Array(this._stashBuffer, 0, this._bufferSize), 0 < this._stashUsed ? (r = this._stashBuffer.slice(0, this._stashUsed), (a = this._dispatchChunks(r, this._stashByteStart)) < r.byteLength ? 0 < a && (r = new Uint8Array(r, a), i.set(r, 0), this._stashUsed = r.byteLength, this._stashByteStart += a) : (this._stashUsed = 0, this._stashByteStart += a), this._stashUsed + e.byteLength > this._bufferSize && (this._expandBuffer(this._stashUsed + e.byteLength), i = new Uint8Array(this._stashBuffer, 0, this._bufferSize)), i.set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength) : (r = this._dispatchChunks(e, t)) < e.byteLength && ((a = e.byteLength - r) > this._bufferSize && (this._expandBuffer(a), i = new Uint8Array(this._stashBuffer, 0, this._bufferSize)), i.set(new Uint8Array(e, r), 0), this._stashUsed += a, this._stashByteStart = t + r))) : 0 === this._stashUsed ? (i = this._dispatchChunks(e, t)) < e.byteLength && ((a = e.byteLength - i) > this._bufferSize && this._expandBuffer(a), new Uint8Array(this._stashBuffer, 0, this._bufferSize).set(new Uint8Array(e, i), 0), this._stashUsed += a, this._stashByteStart = t + i) : (this._stashUsed + e.byteLength > this._bufferSize && this._expandBuffer(this._stashUsed + e.byteLength), (r = new Uint8Array(this._stashBuffer, 0, this._bufferSize)).set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength, (a = this._dispatchChunks(this._stashBuffer.slice(0, this._stashUsed), this._stashByteStart)) < this._stashUsed && 0 < a && (t = new Uint8Array(this._stashBuffer, a), r.set(t, 0)), this._stashUsed -= a, this._stashByteStart += a))
}
}, {
key: "_flushStashBuffer", value: function (e) {
if (0 < this._stashUsed) {
var t = this._stashBuffer.slice(0, this._stashUsed),
n = this._dispatchChunks(t, this._stashByteStart), i = t.byteLength - n;
if (n < t.byteLength) {
if (!e) return 0 < n && (e = new Uint8Array(this._stashBuffer, 0, this._bufferSize), t = new Uint8Array(t, n), e.set(t, 0), this._stashUsed = t.byteLength, this._stashByteStart += n), 0;
a.default.w(this.TAG, i + " bytes unconsumed data remain when flush buffer, dropped")
}
return this._stashUsed = 0, this._stashByteStart = 0, i
}
return 0
}
}, {
key: "_onLoaderComplete", value: function (e, t) {
this._flushStashBuffer(!0), this._onComplete && this._onComplete(this._extraData)
}
}, {
key: "_onLoaderError", value: function (e, t) {
switch (a.default.e(this.TAG, "Loader error, code = " + t.code + ", msg = " + t.msg), this._flushStashBuffer(!1), this._isEarlyEofReconnecting && (this._isEarlyEofReconnecting = !1, e = o.LoaderErrors.UNRECOVERABLE_EARLY_EOF), e) {
case o.LoaderErrors.EARLY_EOF:
var n;
if (!this._config.isLive) if (this._totalLength) return void ((n = this._currentRange.to + 1) < this._totalLength && (a.default.w(this.TAG, "Connection lost, trying reconnect..."), this._isEarlyEofReconnecting = !0, this._internalSeek(n, !1)));
e = o.LoaderErrors.UNRECOVERABLE_EARLY_EOF;
break;
case o.LoaderErrors.UNRECOVERABLE_EARLY_EOF:
case o.LoaderErrors.CONNECTING_TIMEOUT:
case o.LoaderErrors.HTTP_STATUS_CODE_INVALID:
case o.LoaderErrors.EXCEPTION:
}
if (!this._onError) throw new f.RuntimeException("IOException: " + t.msg);
this._onError(e, t)
}
}, {
key: "status", get: function () {
return this._loader.status
}
}, {
key: "extraData", get: function () {
return this._extraData
}, set: function (e) {
this._extraData = e
}
}, {
key: "onDataArrival", get: function () {
return this._onDataArrival
}, set: function (e) {
this._onDataArrival = e
}
}, {
key: "onSeeked", get: function () {
return this._onSeeked
}, set: function (e) {
this._onSeeked = e
}
}, {
key: "onError", get: function () {
return this._onError
}, set: function (e) {
this._onError = e
}
}, {
key: "onComplete", get: function () {
return this._onComplete
}, set: function (e) {
this._onComplete = e
}
}, {
key: "onRedirect", get: function () {
return this._onRedirect
}, set: function (e) {
this._onRedirect = e
}
}, {
key: "onRecoveredEarlyEof", get: function () {
return this._onRecoveredEarlyEof
}, set: function (e) {
this._onRecoveredEarlyEof = e
}
}, {
key: "currentURL", get: function () {
return this._dataSource.url
}
}, {
key: "hasRedirect", get: function () {
return null != this._redirectedURL || null != this._dataSource.redirectedURL
}
}, {
key: "currentRedirectedURL", get: function () {
return this._redirectedURL || this._dataSource.redirectedURL
}
}, {
key: "currentSpeed", get: function () {
return this._loaderClass === l.default ? this._loader.currentSpeed : this._speedSampler.lastSecondKBps
}
}, {
key: "loaderType", get: function () {
return this._loader.type
}
}]);
n = p;
function p(e, t, n) {
(0, i.default)(this, p), this.TAG = "IOController", this._config = t, this._extraData = n, this._stashInitialSize = 65536, null != t.stashInitialSize && 0 < t.stashInitialSize && (this._stashInitialSize = t.stashInitialSize), this._stashUsed = 0, this._stashSize = this._stashInitialSize, (this._bufferSize = 3145728) < t.stashInitialSize && (this._bufferSize = t.stashInitialSize), this._stashBuffer = new ArrayBuffer(this._bufferSize), this._stashByteStart = 0, !(this._enableStash = !0) === t.enableStashBuffer && (this._enableStash = !1), this._loader = null, this._loaderClass = null, this._seekHandler = null, this._dataSource = e, this._isWebSocketURL = /wss?:\/\/(.+?)/.test(e.url), this._refTotalLength = e.filesize || null, this._totalLength = this._refTotalLength, this._fullRequestFlag = !1, this._currentRange = null, this._redirectedURL = null, this._speedNormalized = 0, this._speedSampler = new s.default, this._speedNormalizeList = [64, 128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096], this._isEarlyEofReconnecting = !1, this._paused = !1, this._resumeFrom = 0, this._onDataArrival = null, this._onSeeked = null, this._onError = null, this._onComplete = null, this._onRedirect = null, this._onRecoveredEarlyEof = null, this._selectSeekHandler(), this._selectLoader(), this._createLoader()
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = y(n(38)), r = y(n(20)), a = y(n(11)), s = y(n(1)), o = y(n(2)), u = y(n(10)), d = y(n(4)), l = y(n(33)),
h = y(n(65)), c = y(n(319)), _ = y(n(328)), f = y(n(66)), m = y(n(228)), p = y(n(40));
n(15);
function y(e) {
return e && e.__esModule ? e : {default: e}
}
(0, o.default)(v, [{
key: "destroy", value: function () {
this._mediaInfo = null, this._mediaDataSource = null, this._statisticsReporter && this._disableStatisticsReporter(), this._ioctl && (this._ioctl.destroy(), this._ioctl = null), this._demuxer && (this._demuxer.destroy(), this._demuxer = null), this._remuxer && (this._remuxer.destroy(), this._remuxer = null), this._emitter.removeAllListeners(), this._emitter = null
}
}, {
key: "on", value: function (e, t) {
this._emitter.addListener(e, t)
}
}, {
key: "off", value: function (e, t) {
this._emitter.removeListener(e, t)
}
}, {
key: "start", value: function () {
this._loadSegment(0), this._enableStatisticsReporter()
}
}, {
key: "_loadSegment", value: function (e, t) {
this._currentSegmentIndex = e;
var n = this._mediaDataSource.segments[e], n = this._ioctl = new m.default(n, this._config, e);
n.onError = this._onIOException.bind(this), n.onSeeked = this._onIOSeeked.bind(this), n.onComplete = this._onIOComplete.bind(this), n.onRedirect = this._onIORedirect.bind(this), n.onRecoveredEarlyEof = this._onIORecoveredEarlyEof.bind(this), t ? this._demuxer.bindDataSource(this._ioctl) : n.onDataArrival = this._onInitChunkArrival.bind(this), n.open(t)
}
}, {
key: "stop", value: function () {
this._internalAbort(), this._disableStatisticsReporter()
}
}, {
key: "_internalAbort", value: function () {
this._ioctl && (this._ioctl.destroy(), this._ioctl = null)
}
}, {
key: "pause", value: function () {
this._ioctl && this._ioctl.isWorking() && (this._ioctl.pause(), this._disableStatisticsReporter())
}
}, {
key: "resume", value: function () {
this._ioctl && this._ioctl.isPaused() && (this._ioctl.resume(), this._enableStatisticsReporter())
}
}, {
key: "seek", value: function (e) {
var t, n;
null != this._mediaInfo && this._mediaInfo.isSeekable() && ((t = this._searchSegmentIndexContains(e)) === this._currentSegmentIndex ? null == (n = this._mediaInfo.segments[t]) ? this._pendingSeekTime = e : (n = n.getNearestKeyframe(e), this._remuxer.seek(n.milliseconds), this._ioctl.seek(n.fileposition), this._pendingResolveSeekPoint = n.milliseconds) : null == (n = this._mediaInfo.segments[t]) ? (this._pendingSeekTime = e, this._internalAbort(), this._remuxer.seek(), this._remuxer.insertDiscontinuity(), this._loadSegment(t)) : (n = n.getNearestKeyframe(e), this._internalAbort(), this._remuxer.seek(e), this._remuxer.insertDiscontinuity(), this._demuxer.resetMediaInfo(), this._demuxer.timestampBase = this._mediaDataSource.segments[t].timestampBase, this._loadSegment(t, n.fileposition), this._pendingResolveSeekPoint = n.milliseconds, this._reportSegmentMediaInfo(t)), this._enableStatisticsReporter())
}
}, {
key: "_searchSegmentIndexContains", value: function (e) {
for (var t = this._mediaDataSource.segments, n = t.length - 1, i = 0; i < t.length; i++) if (e < t[i].timestampBase) {
n = i - 1;
break
}
return n
}
}, {
key: "_onInitChunkArrival", value: function (e, t) {
var n, i = this, r = null;
return 0 < t ? (this._demuxer.bindDataSource(this._ioctl), this._demuxer.timestampBase = this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase, this._demuxer.parseChunks(e, t)) : (r = c.default.probe(e)).match ? (this._demuxer = new c.default(r, this._config), this._remuxer || (this._remuxer = new _.default(this._config)), null == (n = this._mediaDataSource).duration || isNaN(n.duration) || (this._demuxer.overridedDuration = n.duration), "boolean" == typeof n.hasAudio && (this._demuxer.overridedHasAudio = n.hasAudio), "boolean" == typeof n.hasVideo && (this._demuxer.overridedHasVideo = n.hasVideo), this._demuxer.timestampBase = n.segments[this._currentSegmentIndex].timestampBase, this._demuxer.onError = this._onDemuxException.bind(this), this._demuxer.onMediaInfo = this._onMediaInfo.bind(this), this._demuxer.onMetaDataArrived = this._onMetaDataArrived.bind(this), this._demuxer.onScriptDataArrived = this._onScriptDataArrived.bind(this), this._demuxer.onVideoResolutionChanged = this._onVideoResolutionChanged.bind(this), this._demuxer.onParsedData = this._onParsedData.bind(this), this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)), this._remuxer.onInitSegment = this._onRemuxerInitSegmentArrival.bind(this), this._remuxer.onMediaSegment = this._onRemuxerMediaSegmentArrival.bind(this), this._demuxer.parseChunks(e, t)) : (r = null, d.default.e(this.TAG, "Non-FLV, Unsupported media type!"), a.default.resolve().then(function () {
i._internalAbort()
}), this._emitter.emit(p.default.DEMUX_ERROR, f.default.FORMAT_UNSUPPORTED, "Non-FLV, Unsupported media type"), 0)
}
}, {
key: "_onMediaInfo", value: function (e) {
var t = this,
e = (null == this._mediaInfo && (this._mediaInfo = (0, r.default)({}, e), this._mediaInfo.keyframesIndex = null, this._mediaInfo.segments = [], this._mediaInfo.segmentCount = this._mediaDataSource.segments.length, (0, i.default)(this._mediaInfo, h.default.prototype)), (0, r.default)({}, e));
(0, i.default)(e, h.default.prototype), this._mediaInfo.segments[this._currentSegmentIndex] = e, this._reportSegmentMediaInfo(this._currentSegmentIndex), null != this._pendingSeekTime && a.default.resolve().then(function () {
var e = t._pendingSeekTime;
t._pendingSeekTime = null, t.seek(e)
})
}
}, {
key: "_onMetaDataArrived", value: function (e) {
this._emitter.emit(p.default.METADATA_ARRIVED, e)
}
}, {
key: "_onScriptDataArrived", value: function (e) {
this._emitter.emit(p.default.SCRIPTDATA_ARRIVED, e)
}
}, {
key: "_onIOSeeked", value: function () {
this._remuxer.insertDiscontinuity()
}
}, {
key: "_onIOComplete", value: function (e) {
e += 1;
e < this._mediaDataSource.segments.length ? (this._internalAbort(), this._remuxer.flushStashedSamples(), this._loadSegment(e)) : (this._remuxer.flushStashedSamples(), this._emitter.emit(p.default.LOADING_COMPLETE), this._disableStatisticsReporter())
}
}, {
key: "_onIORedirect", value: function (e) {
var t = this._ioctl.extraData;
this._mediaDataSource.segments[t].redirectedURL = e
}
}, {
key: "_onIORecoveredEarlyEof", value: function () {
this._emitter.emit(p.default.RECOVERED_EARLY_EOF)
}
}, {
key: "_onIOException", value: function (e, t) {
d.default.e(this.TAG, "IOException: type = " + e + ", code = " + t.code + ", msg = " + t.msg), this._emitter.emit(p.default.IO_ERROR, e, t), this._disableStatisticsReporter()
}
}, {
key: "_onDemuxException", value: function (e, t) {
d.default.e(this.TAG, "DemuxException: type = " + e + ", info = " + t), this._emitter.emit(p.default.DEMUX_ERROR, e, t)
}
}, {
key: "_onRemuxerInitSegmentArrival", value: function (e, t) {
this._emitter.emit(p.default.INIT_SEGMENT, e, t)
}
}, {
key: "_onRemuxerMediaSegmentArrival", value: function (e, t) {
null == this._pendingSeekTime && (this._emitter.emit(p.default.MEDIA_SEGMENT, e, t), null != this._pendingResolveSeekPoint && "video" === e && (e = t.info.syncPoints, t = this._pendingResolveSeekPoint, this._pendingResolveSeekPoint = null, l.default.safari && 0 < e.length && e[0].originalDts === t && (t = e[0].pts), this._emitter.emit(p.default.RECOMMEND_SEEKPOINT, t)))
}
}, {
key: "_enableStatisticsReporter", value: function () {
null == this._statisticsReporter && (this._statisticsReporter = self.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval))
}
}, {
key: "_disableStatisticsReporter", value: function () {
this._statisticsReporter && (self.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
}
}, {
key: "_reportSegmentMediaInfo", value: function (e) {
e = this._mediaInfo.segments[e], e = (0, r.default)({}, e);
e.duration = this._mediaInfo.duration, e.segmentCount = this._mediaInfo.segmentCount, delete e.segments, delete e.keyframesIndex, this._emitter.emit(p.default.MEDIA_INFO, e)
}
}, {
key: "_reportStatisticsInfo", value: function () {
var e = {};
e.url = this._ioctl.currentURL, e.hasRedirect = this._ioctl.hasRedirect, e.hasRedirect && (e.redirectedURL = this._ioctl.currentRedirectedURL), e.speed = this._ioctl.currentSpeed, e.loaderType = this._ioctl.loaderType, e.currentSegmentIndex = this._currentSegmentIndex, e.totalSegmentCount = this._mediaDataSource.segments.length, e.bps_audio = e.bps_video = 0, this._demuxer && this._demuxer._bpsInfo && (e.bps_video = this._demuxer._bpsInfo.bps_video, e.bps_audio = this._demuxer._bpsInfo.bps_audio), this._emitter.emit(p.default.STATISTICS_INFO, e)
}
}, {
key: "_onVideoResolutionChanged", value: function (e) {
this._emitter.emit(p.default.VIDEO_RESOLUTION_CHANGED, e)
}
}, {
key: "_onParsedData", value: function (e, t) {
this._emitter.emit(p.default.PARSEDDATA_ARRIVED, e, t)
}
}]);
n = v;
function v(t, n) {
(0, s.default)(this, v), this.TAG = "TransmuxingController", this._emitter = new u.default, this._config = n, t.segments || (t.segments = [{
duration: t.duration,
filesize: t.filesize,
url: t.url
}]), "boolean" != typeof t.cors && (t.cors = !0), "boolean" != typeof t.withCredentials && (t.withCredentials = !1), this._mediaDataSource = t;
var i = this._currentSegmentIndex = 0;
this._mediaDataSource.segments.forEach(function (e) {
e.timestampBase = i, i += e.duration, e.cors = t.cors, e.withCredentials = t.withCredentials, n.referrerPolicy && (e.referrerPolicy = n.referrerPolicy)
}), isNaN(i) || this._mediaDataSource.duration === i || (this._mediaDataSource.duration = i), this._mediaInfo = null, this._demuxer = null, this._remuxer = null, this._ioctl = null, this._pendingSeekTime = null, this._pendingResolveSeekPoint = null, this._statisticsReporter = null
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.MediaSegmentInfoList = t.IDRSampleList = t.MediaSegmentInfo = t.SampleInfo = void 0;
var i = r(n(2)), s = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
t.SampleInfo = function e(t, n, i, r, a) {
(0, s.default)(this, e), this.dts = t, this.pts = n, this.duration = i, this.originalDts = r, this.isSyncPoint = a, this.fileposition = null
}, t.MediaSegmentInfo = ((0, i.default)(a, [{
key: "appendSyncPoint", value: function (e) {
e.isSyncPoint = !0, this.syncPoints.push(e)
}
}]), a);
function a() {
(0, s.default)(this, a), this.beginDts = 0, this.endDts = 0, this.beginPts = 0, this.endPts = 0, this.originalBeginDts = 0, this.originalEndDts = 0, this.syncPoints = [], this.firstSample = null, this.lastSample = null
}
t.IDRSampleList = ((0, i.default)(o, [{
key: "clear", value: function () {
this._list = []
}
}, {
key: "appendArray", value: function (e) {
var t = this._list;
0 !== e.length && (0 < t.length && e[0].originalDts < t[t.length - 1].originalDts && this.clear(), Array.prototype.push.apply(t, e))
}
}, {
key: "getLastSyncPointBeforeDts", value: function (e) {
if (0 == this._list.length) return null;
var t, n = this._list, i = 0, r = n.length - 1, a = 0, s = r;
for (e < n[0].dts && (i = 0, a = s + 1); a <= s;) {
if ((t = a + Math.floor((s - a) / 2)) === r || e >= n[t].dts && e < n[t + 1].dts) {
i = t;
break
}
n[t].dts < e ? a = t + 1 : s = t - 1
}
return this._list[i]
}
}]), o);
function o() {
(0, s.default)(this, o), this._list = []
}
t.MediaSegmentInfoList = ((0, i.default)(u, [{
key: "isEmpty", value: function () {
return 0 === this._list.length
}
}, {
key: "clear", value: function () {
this._list = [], this._lastAppendLocation = -1
}
}, {
key: "_searchNearestSegmentBefore", value: function (e) {
var t = this._list;
if (0 === t.length) return -2;
var n, i = t.length - 1, r = 0, a = i, s = 0;
if (e < t[0].originalBeginDts) return s = -1;
for (; r <= a;) {
if ((n = r + Math.floor((a - r) / 2)) === i || e > t[n].lastSample.originalDts && e < t[n + 1].originalBeginDts) {
s = n;
break
}
t[n].originalBeginDts < e ? r = n + 1 : a = n - 1
}
return s
}
}, {
key: "_searchNearestSegmentAfter", value: function (e) {
return this._searchNearestSegmentBefore(e) + 1
}
}, {
key: "append", value: function (e) {
var t = this._list, n = this._lastAppendLocation, i = 0;
-1 !== n && n < t.length && e.originalBeginDts >= t[n].lastSample.originalDts && (n === t.length - 1 || n < t.length - 1 && e.originalBeginDts < t[n + 1].originalBeginDts) ? i = n + 1 : 0 < t.length && (i = this._searchNearestSegmentBefore(e.originalBeginDts) + 1), this._lastAppendLocation = i, this._list.splice(i, 0, e)
}
}, {
key: "getLastSegmentBefore", value: function (e) {
e = this._searchNearestSegmentBefore(e);
return 0 <= e ? this._list[e] : null
}
}, {
key: "getLastSampleBefore", value: function (e) {
e = this.getLastSegmentBefore(e);
return null != e ? e.lastSample : null
}
}, {
key: "getLastSyncPointBefore", value: function (e) {
for (var t = this._searchNearestSegmentBefore(e), n = this._list[t].syncPoints; 0 === n.length && 0 < t;) n = this._list[--t].syncPoints;
return 0 < n.length ? n[n.length - 1] : null
}
}, {
key: "type", get: function () {
return this._type
}
}, {
key: "length", get: function () {
return this._list.length
}
}]), u);
function u(e) {
(0, s.default)(this, u), this._type = e, this._list = [], this._lastAppendLocation = -1
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
r(n(4));
var o = r(n(64)), i = r(n(227)), u = r(n(229)), d = r(n(40));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
t.default = function (r) {
var a = null, s = function (e, t) {
r.postMessage({msg: "logcat_callback", data: {type: e, logcat: t}})
}.bind(this);
i.default.install(), r.addEventListener("message", function (e) {
switch (e.data.cmd) {
case"init":
(a = new u.default(e.data.param[0], e.data.param[1])).on(d.default.IO_ERROR, function (e, t) {
r.postMessage({msg: d.default.IO_ERROR, data: {type: e, info: t}})
}.bind(this)), a.on(d.default.DEMUX_ERROR, function (e, t) {
r.postMessage({msg: d.default.DEMUX_ERROR, data: {type: e, info: t}})
}.bind(this)), a.on(d.default.INIT_SEGMENT, function (e, t) {
e = {msg: d.default.INIT_SEGMENT, data: {type: e, data: t}};
r.postMessage(e, [t.data])
}.bind(this)), a.on(d.default.MEDIA_SEGMENT, function (e, t) {
e = {msg: d.default.MEDIA_SEGMENT, data: {type: e, data: t}};
r.postMessage(e, [t.data])
}.bind(this)), a.on(d.default.LOADING_COMPLETE, function () {
var e = {msg: d.default.LOADING_COMPLETE};
r.postMessage(e)
}.bind(this)), a.on(d.default.RECOVERED_EARLY_EOF, function () {
var e = {msg: d.default.RECOVERED_EARLY_EOF};
r.postMessage(e)
}.bind(this)), a.on(d.default.MEDIA_INFO, function (e) {
e = {msg: d.default.MEDIA_INFO, data: e};
r.postMessage(e)
}.bind(this)), a.on(d.default.METADATA_ARRIVED, function (e) {
e = {msg: d.default.METADATA_ARRIVED, data: e};
r.postMessage(e)
}.bind(this)), a.on(d.default.SCRIPTDATA_ARRIVED, function (e) {
e = {msg: d.default.SCRIPTDATA_ARRIVED, data: e};
r.postMessage(e)
}.bind(this)), a.on(d.default.STATISTICS_INFO, function (e) {
e = {msg: d.default.STATISTICS_INFO, data: e};
r.postMessage(e)
}.bind(this)), a.on(d.default.RECOMMEND_SEEKPOINT, function (e) {
r.postMessage({msg: d.default.RECOMMEND_SEEKPOINT, data: e})
}.bind(this)), a.on(d.default.VIDEO_RESOLUTION_CHANGED, function (e) {
e = {msg: d.default.VIDEO_RESOLUTION_CHANGED, data: e};
r.postMessage(e)
}.bind(this)), a.on(d.default.PARSEDDATA_ARRIVED, function (e, t) {
e = {msg: d.default.PARSEDDATA_ARRIVED, data: {databuf: e, dataType: t}};
r.postMessage(e)
}.bind(this));
break;
case"destroy":
a && (a.destroy(), a = null), r.postMessage({msg: "destroyed"});
break;
case"start":
a.start();
break;
case"stop":
a.stop();
break;
case"seek":
a.seek(e.data.param);
break;
case"pause":
a.pause();
break;
case"resume":
a.resume();
break;
case"logging_config":
var t = e.data.param;
o.default.applyConfig(t), !0 === t.enableCallback ? o.default.addLogListener(s) : o.default.removeLogListener(s);
break;
case"feed":
var t = e.data.feedData, n = t.data, i = t.byteStart, t = t.receivedLength;
a._ioctl._onLoaderChunkArrival(n, i, t);
break;
case"set_record_flag":
a._demuxer.recordFlag = e.data.value
}
})
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.default = {
ERROR: "error",
SOURCE_OPEN: "source_open",
UPDATE_END: "update_end",
BUFFER_FULL: "buffer_full",
SOURCE_END: "source_end",
SOURCE_CLOSE: "source_close"
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = o(n(1)), r = o(n(2)), a = o(n(10)), s = function (e) {
{
if (e && e.__esModule) return e;
var t = {};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e, t
}
}(n(61));
function o(e) {
return e && e.__esModule ? e : {default: e}
}
var u = "stashbuffer_changed", d = "fileWrite_end",
n = (window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem, (0, r.default)(l, [{
key: "write",
value: function (e) {
this._stash(e)
}
}, {
key: "download", value: function () {
this._fileEntry && this._fileWriter && (1 === this._fileWriter.readyState ? this._emitter.once(d, this.download.apply(this)) : this._fileEntry.file(function (e) {
this._downloadFile(e)
}.bind(this)))
}
}, {
key: "_quota", value: function () {
window.webkitStorageInfo.requestQuota(window.TEMPORARY, this._storageQuota, this._quotaSuccess.bind(this), this._errorHandlerQuta)
}
}, {
key: "_errorHandlerQuota", value: function (e) {
console.error(s.ERR_PLAY_FILESYS_QUOTA, e)
}
}, {
key: "_quotaSuccess", value: function (e) {
window.requestFileSystem(window.TEMPORARY, e, this._initFs.bind(this), this._errorHandlerRequestFileSystem)
}
}, {
key: "_errorHandlerRequestFileSystem", value: function (e) {
console.error(s.ERR_PLAY_FILESYS_REQUEST, e)
}
}, {
key: "_initFs", value: function (e) {
this._fileSystem = e, this._fileSystem.root.getFile(this._fileName, {
create: !0,
exclusive: !0
}, this._getFileSuccess.bind(this), this._errorHandlerGetFile)
}
}, {
key: "_errorHandlerGetFile", value: function (e) {
console.error(s.ERR_PLAY_FILESYS_GETFILE, e)
}
}, {
key: "_getFileSuccess", value: function (e) {
e.isFile && (e.createWriter(this._initFileWriter.bind(this), this._errorHandlerCreateWriter), this._fileEntry = e)
}
}, {
key: "_errorHandlerCreateWriter", value: function (e) {
console.error(s.ERR_PLAY_FILESYS_CREATE, e)
}
}, {
key: "_initFileWriter", value: function (e) {
e.onwriteend = this._fileWriteEnd.bind(this), e.onerror = this._fileWriteError.bind(this), this._fileWriter = e, this._isStart = !0, this._emitter.on(u, this._stashBufferChanged.bind(this))
}
}, {
key: "_stashBufferChanged", value: function () {
var e;
(0 === this._fileWriter.readyState || 2 === this._fileWriter.readyState) && 0 < this._stashUsed && (this._fileWriter.seek(this._fileWriter.length), e = this._stashBuffer.slice(0, this._stashUsed), this._fileWriter.write(new Blob([e])), this._bufferSize = this._defaultBufferSize, this._stashBuffer = new Uint8Array(this._bufferSize), this._stashUsed = 0)
}
}, {
key: "_fileWriteEnd", value: function (e) {
this._emitter.listeners(d) && this._emitter.emit(d)
}
}, {
key: "_fileWriteError", value: function (e) {
console.error(s.ERR_PLAY_FILESYS_WRITE, e)
}
}, {
key: "_errorHandler", value: function (e) {
console.error(e)
}
}, {
key: "_stash", value: function (e) {
this._stashUsed + e.byteLength > this._bufferSize && this._expandBuffer(this._stashUsed + e.byteLength), this._stashBuffer.set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength, this._emitter.listeners(u) && this._emitter.emit(u)
}
}, {
key: "_expandBuffer", value: function (e) {
this._bufferSize = e;
e = this._stashBuffer.slice(0, this._stashUsed);
this._stashBuffer = new Uint8Array(this._bufferSize), this._stashBuffer.set(e, 0)
}
}, {
key: "_downloadFile", value: function (e) {
var t = e,
e = (e instanceof Blob || e instanceof File || (t = new Blob([e])), window.URL.createObjectURL(t)),
t = window.document.createElement("a"),
e = (t.href = e, t.download = this._fileName, document.createEvent("MouseEvents"));
e.initEvent("click", !0, !0), t.dispatchEvent(e)
}
}, {
key: "onReady", set: function (e) {
this._fileWriterReady = e
}
}]), l);
function l(e, t) {
(0, i.default)(this, l), this._fileName = e, this._storageQuota = 268435456, this._fileSystem = null, this._fileEntry = null, this._fileWriter = null, this._isStart = !1, this._emitter = new a.default, this._defaultBufferSize = 134217728, this._bufferSize = this._defaultBufferSize, this._stashBuffer = new Uint8Array(this._bufferSize), this._stashUsed = 0, this._stash(t), this._quota()
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.ErrorDetails = t.ErrorTypes = void 0;
var i = n(15), n = n(66), n = (n = n) && n.__esModule ? n : {default: n};
t.ErrorTypes = {
NETWORK_ERROR: "NetworkError",
MEDIA_ERROR: "MediaError",
OTHER_ERROR: "OtherError"
}, t.ErrorDetails = {
NETWORK_EXCEPTION: i.LoaderErrors.EXCEPTION,
NETWORK_STATUS_CODE_INVALID: i.LoaderErrors.HTTP_STATUS_CODE_INVALID,
NETWORK_TIMEOUT: i.LoaderErrors.CONNECTING_TIMEOUT,
NETWORK_UNRECOVERABLE_EARLY_EOF: i.LoaderErrors.UNRECOVERABLE_EARLY_EOF,
MEDIA_MSE_ERROR: "MediaMSEError",
MEDIA_FORMAT_ERROR: n.default.FORMAT_ERROR,
MEDIA_FORMAT_UNSUPPORTED: n.default.FORMAT_UNSUPPORTED,
MEDIA_CODEC_UNSUPPORTED: n.default.CODEC_UNSUPPORTED
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.JSPlugin = void 0;
var m = r(n(11)), p = r(n(85)), y = r(n(53)), v = r(n(54)), a = r(n(1)), i = r(n(2)), g = r(n(55)), f = n(86),
s = n(262), u = n(285), d = n(286), o = n(287), l = n(288), h = n(289), c = r(n(290)), _ = r(n(0)),
M = r(n(10)), L = function (e) {
{
if (e && e.__esModule) return e;
var t = {};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e, t
}
}(n(61)), S = r(n(334)), k = r(n(91)), b = r(n(39)), w = n(335);
function r(e) {
return e && e.__esModule ? e : {default: e}
}
var D, T, E = 4194304, Y = !1, P = null, C = [], n = (window.JSPlayM4_AdditionDataCBFun = function (t, e) {
var n, i, r, a, s = C.find(function (e) {
return e.port === t
}).belongWindowpoint, o = C.find(function (e) {
return e.port === t
}).belongWindowId, s = s.aWndList[o];
s && s.AdditionDataCB && (o = P.HEAP32[e >> 2], n = P.HEAP32[e + 4 >> 2], i = P.HEAP32[e + 8 >> 2], r = P.HEAP32[e + 12 >> 2], e = P.HEAP32[e + 16 >> 2], (a = new Uint8Array(r)).set(P.HEAPU8.subarray(e, e + r)), s.AdditionDataCB(o, n, i, a))
}, (0, i.default)(R, [{
key: "_getOSDTime", value: function (e, t, n, i, r, a, s) {
var o = void 0,
o = "ios" === this._browserInfo._system || f.oTool.isEdge() ? t + "/" + n + "/" + i + " " + r + ":" + a + ":" + s : t + "-" + n + "-" + i + " " + r + ":" + a + ":" + s;
this.aWndList[e].iCurentOSDTime = new Date(o).getTime()
}
}, {
key: "_getWndIndexFromPort", value: function (e) {
for (var t = this.aWndList.length, n = -1, i = 0; i < t; i++) if (this.aWndList[i].oPlayCtrl && e === this.aWndList[i].oPlayCtrl.iPort) {
n = i;
break
}
return n
}
}, {
key: "_listenBrowserVisibility", value: function () {
document.addEventListener("visibilitychange", this.e.visibilitychange)
}
}, {
key: "_createWindows", value: function () {
for (var i = this, e = document.getElementById(this.options.szId), t = e.clientWidth, n = e.clientHeight, t = (t && n || ((0, g.default)(e).width(this.options.iWidth), (0, g.default)(e).height(this.options.iHeight)), 25e4 < t * n && (this.bcloseAntialias = !0), this.options.oStyle), r = t.borderWidth, a = t.border, s = t.borderSelect, o = t.background, u = this.options.iCurrentSplit, d = (e.innerHTML = "", document.createElement("div")), n = (d.className = "parent-wnd", d.style = "width: 100%; height: 100%; position: relative; overflow: hidden;", e.appendChild(d), d.clientWidth), t = d.clientHeight, l = Math.floor((n - 1) / u), h = Math.floor((t - 1) / u), c = l - 2 * r, _ = h - 2 * r, f = 0; f < this.iMaxWndNum; f++) !function (e) {
var t = document.createElement("div"),
n = (t.className = "sub-wnd", t.id = "player-container-" + e, {
"box-sizing": "border-box",
overflow: "hidden",
width: l + "px",
height: h + "px",
border: r + "px solid " + (0 === e ? s : a),
"background-color": o,
position: "relative",
float: "left",
display: e < Math.pow(u, 2) ? "inline-block" : "none"
});
(0, p.default)(n).forEach(function (e) {
t.style.setProperty(e, n[e])
}), t.innerHTML = '\n <video autoplay muted id="' + i.options.szId + "_playVideo" + e + '" class="play-window" wid="' + e + '" \n width="' + c + '" height="' + _ + '" style="object-fit: fill;">\n </video>\n <canvas id="' + i.options.szId + "_playCanvas" + e + '" class="play-window" wid="' + e + '" \n width="' + (i.bcloseAntialias && 1 === u ? c : 2 * c) + '" height="' + (i.bcloseAntialias && 1 === u ? _ : 2 * _) + '"\n style="' + (i.bcloseAntialias && 1 === u ? "transform-origin: 0 0;" : "transform: scale(0.5); transform-origin: 0 0;") + '">\n </canvas>\n <canvas id="' + i.options.szId + "_canvas_draw" + e + '" class="draw-window" wid="' + e + '" \n width="' + c + '" height="' + _ + '" style="position: absolute; top: 0; left: 0;">\n </canvas>\n ', d.appendChild(t)
}(f);
this.oJSPlugin.find("video.play-window").hide()
}
}, {
key: "_updateWnd", value: function () {
for (var e = this.oJSPlugin.find(".parent-wnd").get(0), t = e.clientWidth, n = e.clientHeight, i = (t && n && (this.options.iWidth = t, this.options.iHeight = n), this.options.oStyle.borderWidth), r = this.options.iCurrentSplit, a = Math.floor((t - 1) / r) - 2 * i, s = Math.floor((n - 1) / r) - 2 * i, o = 0; o < this.iMaxWndNum; o++) {
var u = (0, g.default)(e).find(".sub-wnd").get(o),
d = ((0, g.default)(u).width(a).height(s).css("display", o < Math.pow(r, 2) ? "inline-block" : "none").css("border", "1px solid " + this.options.oStyle.border), o === this.currentWindowIndex && (0, g.default)(u).css("border", "1px solid " + this.options.oStyle.borderSelect), (0, g.default)(u).find("video.play-window").attr("width", a).attr("height", s), this.bcloseAntialias && 1 === r ? a : 2 * a),
l = this.bcloseAntialias && 1 === r ? s : 2 * s,
h = this.bcloseAntialias && 1 === r ? "scale(1)" : "scale(0.5)",
h = ((0, g.default)(u).find("canvas.play-window").attr("width", d).attr("height", l).css("transform", h), this.aWndList[o]);
h.bPlay && 0 === h.iMode && h.oPlayCtrl && h.oPlayCtrl.PlayM4_SetCanvasSize && h.oPlayCtrl.PlayM4_SetCanvasSize(d, l), (0, g.default)(u).find("canvas.draw-window").attr("width", a).attr("height", s), this.oDrawCanvas.resizeCanvas()
}
}
}, {
key: "_dealWndSelect", value: function (t) {
var n = this;
this.iCurrentWndIndex = t, (this.aWndList[t].bEZoom || this.aWndList[t].b3DZoom) && (this.oJSPlugin.find(".draw-window").unbind(), this.oDrawCanvas.setDrawStatus(!1), this.oDrawCanvas = null, this.oDrawCanvas = new h.ESCanvas(this.options.szId + "_canvas_draw" + t), this.oDrawCanvas.setShapeType("Rect"), this.oDrawCanvas.setDrawStyle("#ff0000", "", 0), this.aWndList[t].bEZoom ? this.oDrawCanvas.setDrawStatus(!0, function (e) {
e.startPos && e.endPos && (e.startPos[0] > e.endPos[0] ? n.aWndList[t].oPlayCtrl.PlayM4_SetDisplayRegion && n.aWndList[t].oPlayCtrl.PlayM4_SetDisplayRegion(null, !1) : n.aWndList[t].oPlayCtrl.PlayM4_SetDisplayRegion && n.aWndList[t].oPlayCtrl.PlayM4_SetDisplayRegion({
left: e.startPos[0],
top: e.startPos[1],
right: e.endPos[0],
bottom: e.endPos[1]
}, !0))
}) : this.aWndList[t].b3DZoom && this.oDrawCanvas.setDrawStatus(!0, function (e) {
n.fDrawCallback(e)
}))
}
}, {
key: "_initCallbackEvent", value: function () {
this.oEventCallback = {
loadEventHandler: function () {
window.loadEventHandler && window.loadEventHandler()
}, windowEventSelect: function (e) {
window.getSelectWndInfo && window.getSelectWndInfo(e)
}, pluginErrorHandler: function (e, t, n) {
window.pluginEventHandler && window.pluginEventHandler(e, t, n)
}, windowEventOver: function (e) {
window.windowEventOver && window.windowEventOver(e)
}, windowEventOut: function (e) {
window.windowEventOut && window.windowEventOut(e)
}, windowEventUp: function (e) {
window.windowEventUp && window.windowEventUp(e)
}, windowFullCcreenChange: function (e) {
window.windowFullCcreenChange && window.windowFullCcreenChange(e)
}, firstFrameDisplay: function (e, t, n) {
window.firstFrameDisplay && window.firstFrameDisplay(e, t, n)
}, performanceLack: function () {
window.performanceLack && window.performanceLack()
}, StreamEnd: function (e) {
window.StreamEnd && window.StreamEnd(e)
}, mouseEvent: function () {
}
}
}
}, {
key: "_initEvent", value: function () {
var a = this;
this._initCallbackEvent(), this.oJSPlugin.find(".parent-wnd").eq(0).children().each(function (i) {
var r = !1;
(0, g.default)(this).unbind().bind("click", function (e) {
var t, n;
0 === e.button && (t = (e = a.options.oStyle).borderWidth, n = e.border, e = e.borderSelect, a.oJSPlugin.find(".parent-wnd").eq(0).children().css("border", t + "px solid " + n), a.oJSPlugin.find(".parent-wnd").eq(0).children().eq(i).css("border", t + "px solid " + e), a.oEventCallback.windowEventSelect(parseInt(a.oJSPlugin.find(".parent-wnd").eq(0).children().eq(i).find(".play-window").eq(0).attr("wid"), 10)), a._dealWndSelect(parseInt(a.oJSPlugin.find(".parent-wnd").eq(0).children().eq(i).find(".play-window").eq(0).attr("wid"), 10)))
}), (0, g.default)(this).bind("mouseover", function (e) {
a.oEventCallback.windowEventOver(i)
}), (0, g.default)(this).bind("mouseout", function (e) {
a.oEventCallback.windowEventOut(i)
}), (0, g.default)(this).bind("mousemove", function (e) {
var t = e.offsetX / a.oDrawCanvas.m_iCanvasWidth, e = e.offsetY / a.oDrawCanvas.m_iCanvasHeight;
r ? a.oEventCallback.mouseEvent(7, t, e) : a.oEventCallback.mouseEvent(6, t, e)
}), (0, g.default)(this).bind("mousewheel", function (e) {
var t = e.offsetX / a.oDrawCanvas.m_iCanvasWidth, e = e.offsetY / a.oDrawCanvas.m_iCanvasHeight;
a.oEventCallback.mouseEvent(8, t, e)
}), (0, g.default)(this).bind("mouseup", function (e) {
r = !1, a.oEventCallback.windowEventUp(i);
var t = e.offsetX / a.oDrawCanvas.m_iCanvasWidth, n = e.offsetY / a.oDrawCanvas.m_iCanvasHeight;
2 === e.button ? a.oEventCallback.mouseEvent(5, t, n) : 0 === e.button && a.oEventCallback.mouseEvent(3, t, n)
}), (0, g.default)(this).bind("dblclick", function (e) {
var t;
a.options.bSupporDoubleClickFull && ("desktop" === a._browserInfo.platform ? a.JS_FullScreenSingle(i) : a.fullscreenElement ? a._triggerFullscreen(a.fullscreenElement) : a.JS_FullScreenSingle(a.currentWindowIndex), t = e.offsetX / a.oDrawCanvas.m_iCanvasWidth, e = e.offsetX / a.oDrawCanvas.m_iCanvasHeight, a.oEventCallback.mouseEvent(2, t, e))
})
}), window.addEventListener("resize", this.e.resize), document.addEventListener("fullscreenchange", this.e.fullscreenchange)
}
}, {
key: "_eventHandlerResize", value: function () {
if (!(document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1) && this.fullscreenElement) {
var e = this.fullscreenElement;
if (!(document.fullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled || e.webkitSupportsFullscreen || !1)) return this._triggerFullscreen(e);
this.fullscreenElement = null, this.oEventCallback.windowFullCcreenChange(!1)
}
this.JS_Resize()
}
}, {
key: "_eventHandlerFullscreenchange", value: function () {
if (!(document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1) && this.fullscreenElement) {
var e = this.fullscreenElement;
if (!(document.fullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled || e.webkitSupportsFullscreen || !1)) return this._triggerFullscreen(e);
this.fullscreenElement = null, this.oEventCallback.windowFullCcreenChange(!1)
}
this.JS_Resize()
}
}, {
key: "_eventHandlerVisibilitychange", value: function () {
this.isBrowserVisible = !document.hidden
}
}, {
key: "removeAllListeners", value: function () {
window.removeEventListener("resize", this.e.resize), document.removeEventListener("fullscreenchange", this.e.fullscreenchange), document.removeEventListener("visibilitychange", this.e.visibilitychange)
}
}, {
key: "_debounse", value: function (e, t) {
var n = this;
this._debounseTimer && clearTimeout(this._debounseTimer), this._debounseTimer = setTimeout(function () {
e.apply(n), clearTimeout(n._debounseTimer), n._debounseTimer = null
}, t)
}
}, {
key: "_initPlayCtrlOnlyAudio", value: function (e, t) {
t = new Uint8Array(t);
t[10] = 0, t[11] = 0, this.aWndList[e].oPlayCtrl.PlayM4_OpenStream(t, 40, 2097152), "" !== this.aWndList[e].szSecretKey && (this.aWndList[e].oPlayCtrl.PlayM4_SetSecretKey(1, this.aWndList[e].szSecretKey, 128), this.aWndList[e].szSecretKey = ""), this.aWndList[e].oPlayCtrl.PlayM4_SetStreamOpenMode(0), this.aWndList[e].oPlayCtrl.PlayM4_Play(null)
}
}, {
key: "flvtohikHead", value: function (e) {
var t = new Uint8Array(40),
e = (t[0] = 73, t[1] = 77, t[2] = 75, t[3] = 72, t[4] = 3, t[5] = 1, t[6] = 0, t[7] = 0, t[8] = 10, t[9] = 0, t[10] = 0, t[11] = 1, t[12] = 1, t[13] = 32, t[14] = 1, t[15] = 12, this.aWndList[e]._videoInfo.audioSampleRate.toString(16));
return t[16] = parseInt(e[2] + e[3], 16), t[17] = parseInt(e[0] + e[1], 16), t
}
}, {
key: "_changeHVAGHead", value: function (e) {
var t = new Uint8Array(40);
return t[0] = 73, t[1] = 77, t[2] = 75, t[3] = 72, t[4] = 3, t[5] = 1, t[6] = 0, t[7] = 0, 192 === e[8] && 0 === e[9] ? t[8] = 4 : t[8] = 2, t[9] = 0, 100 === e[24] && 97 === e[25] && 104 === e[26] && 117 === e[27] && 97 === e[28] && (t[8] = 1, t[9] = 128), 0 !== e[11] && 1 !== e[11] || 192 !== e[10] ? 2 === e[11] && 192 === e[10] ? t[10] = 3 : 3 === e[11] && 192 === e[10] ? t[10] = 5 : 4 === e[11] && 192 === e[10] ? t[10] = 4 : 5 === e[11] && 192 === e[10] ? t[10] = 2 : 6 === e[11] && 192 === e[10] ? t[10] = 6 : t[10] = 1 : t[10] = 1, t[11] = 0, 1 === e[13] && 192 === e[12] ? (t[12] = 16, t[13] = 113) : 2 === e[13] && 192 === e[12] ? (t[12] = 17, t[13] = 113) : 3 === e[13] && 192 === e[12] ? (t[12] = 33, t[13] = 114) : 4 === e[13] && 192 === e[12] ? (t[12] = 96, t[13] = 114) : 5 === e[13] && 192 === e[12] ? (t[12] = 1, t[13] = 32) : 6 === e[13] && 192 === e[12] ? (t[12] = 0, t[13] = 32) : 7 === e[13] && 192 === e[12] ? (t[12] = 0, t[13] = 112) : (t[12] = 16, t[13] = 113), t
}
}, {
key: "_parseHead", value: function (e, t) {
1 === t[8] && 0 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "HIK" : 2 === t[8] && 0 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "PS" : 4 === t[8] && 0 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "RTP" : 8 === t[8] && 0 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "GB" : 16 === t[8] && 0 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "RAW" : 1 === t[8] && 128 === t[9] ? this.aWndList[e]._videoInfo.systemFormt = "DAHUA" : this.aWndList[e]._videoInfo.systemFormt = "unkonw", 1 === t[11] && 0 === t[10] || 0 === t[11] && 1 === t[10] ? (this.aWndList[e]._videoInfo.VideType = "H264", 129 === t[24] && (this.aWndList[e]._videoInfo.VideType = "Smart264")) : 0 === t[11] && 5 === t[10] ? (this.aWndList[e]._videoInfo.VideType = "H265", 129 === t[24] && (this.aWndList[e]._videoInfo.VideType = "Smart265")) : 0 === t[11] && 6 === t[10] ? this.aWndList[e]._videoInfo.VideType = "SAC" : 0 === t[11] && 2 === t[10] ? this.aWndList[e]._videoInfo.VideType = "MPEG2" : 0 === t[11] && 3 === t[10] ? this.aWndList[e]._videoInfo.VideType = "MPEG4" : this.aWndList[e]._videoInfo.VideType = "unkonw", 113 === t[13] && 16 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G711_U" : 113 === t[13] && 17 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G711_A" : 114 === t[13] && 33 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G7221" : 114 === t[13] && 96 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G726_32" : 114 === t[13] && 98 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G726_16" : 114 === t[13] && 144 === t[12] ? this.aWndList[e]._videoInfo.audioType = "G729" : 32 === t[13] && 1 === t[12] ? this.aWndList[e]._videoInfo.audioType = "AAC" : 16 === t[13] && 0 === t[12] ? this.aWndList[e]._videoInfo.audioType = "ADPCM" : 32 === t[13] && 0 === t[12] ? this.aWndList[e]._videoInfo.audioType = "MP2L2" : 0 === t[13] && 0 === t[12] ? this.aWndList[e]._videoInfo.audioType = "without" : this.aWndList[e]._videoInfo.audioType = "unknow"
}
}, {
key: "_stripRtpHead", value: function (e) {
var e = new Uint8Array(e), t = 32 & e[0], n = 16 & e[0], i = 15 & e[0], r = 0, a = 0;
return 32 == t && (r = e[e.byteLength - 1]), t = 4 * parseInt(i, 10), 16 == n && (a = 4 * new window.DataView(e.buffer, 12 + t, 4).getUint16(2) + 4), e.length <= 12 + t + a ? -1 : e.slice(12 + t + a, e.length - r)
}
}, {
key: "_openStream", value: function (i, a, s, o, u) {
var d = this, l = this.aWndList[s];
return new m.default(function (t, r) {
var n, e = o && u;
l.szPlayType = e ? "playback" : "realplay", 3 === a.PlayBackMode && e && (l.szPlayType = "reverse"), l._emiter.on("firstframeload", function () {
l.asyncLock = !1, t()
}, {once: !0}), d.oStreamClient.openStream(i, a, (n = (0, v.default)(y.default.mark(function e(t) {
var n, i;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if (!t.bHead) {
e.next = 49;
break
}
if (l.oSdpInfo = t, n = l.aHead = new Uint8Array(t.buf), d._log.I("headData arrive", n), l.isGB = 0 === n[7] && 196 === n[8] && 100 === n[24] && 98 === n[25] && 51 === n[26] && 51 === n[27], 72 === n[0] && 86 === n[1] && 65 === n[2] && 71 === n[3] ? (l.isHVAGHead = !0, l.aHVAGHead = new Uint8Array(t.buf), l.aHead = d._changeHVAGHead(t.buf)) : l.isHVAGHead = !1, l.isHVAGHead && 1 === l.aHead[8] && 128 === l.aHead[9] && "1" === d._decoderVersion) return d._log.E(L.ERR_STREAM_VIDEO_CODING + ": jsdecoder1.0 unsupport dahua video"), l.asyncLock = !1, d._closeStreamAndDestory(s), d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_VIDEO_CODING), e.abrupt("return", r(L.ERR_STREAM_VIDEO_CODING));
e.next = 12;
break;
case 12:
if (!(70 === n[0] && 76 === n[1] && 86 === n[2])) {
e.next = 19;
break
}
l.iMode = 1, l.isFlv = !0, d._createFlvPlayer(s), e.next = 47;
break;
case 19:
if (!(5 === l.aHead[10] && 0 === l.aHead[11] || 1 === l.aHead[10] && 0 === l.aHead[11] || 0 === l.aHead[10] && 1 === l.aHead[11])) {
e.next = 22;
break
}
e.next = 24;
break;
case 22:
return d._log.E(L.ERR_STREAM_JSDECODER_CODEC_UNSUPPORTED + ": the stream not h264 h265 smart,unsupport .", l.aHead[10], l.aHead[11]), e.abrupt("return", r(L.ERR_STREAM_JSDECODER_CODEC_UNSUPPORTED));
case 24:
if (d._parseHead(s, l.aHead), d.aWndList[s]._bpsCalculator || (d.aWndList[s]._bpsCalculator = window.setInterval(d._calculateRealtimeBitrate.bind(d), 1e3, s)), i = 1, d.aWndList[s].asyncLock && "2" === d._decoderVersion) return d._log.E(L.ERR_STREAM_LOCK_ERROR + ": Multiple call js_play API in a short time, please wait lasttime call over."), e.abrupt("return", r(L.ERR_STREAM_LOCK_ERROR));
e.next = 30;
break;
case 30:
if (d.aWndList[s].asyncLock = !0, l.oPlayCtrl) {
e.next = 45;
break
}
if (P || "2" !== d._decoderVersion) {
e.next = 42;
break
}
return e.prev = 33, e.next = 36, d._decoder2Loaded();
case 36:
i = e.sent, e.next = 42;
break;
case 39:
e.prev = 39, e.t0 = e.catch(33), 1 === e.t0 || P || (l.asyncLock = !1, d.oEventCallback.pluginErrorHandler(s, L.ERR_COM_LOAD_JSDECODER_ERROR), d._closeStreamAndDestory(s), d._log.E(L.ERR_COM_LOAD_JSDECODER_ERROR + ": load jsdecoder faild."), r(L.ERR_COM_LOAD_JSDECODER_ERROR));
case 42:
d._createPlayCtrl(s), e.next = 47;
break;
case 45:
1 !== (i = d._playCtrlLoad(s)) && (l.asyncLock = !1, d._closeStreamAndDestory(s), d.oEventCallback.pluginErrorHandler(s, i), d._log.E(i + ": jsdecoder open stream faild."), r(i));
case 47:
e.next = 50;
break;
case 49:
t.cmd && "end" === t.cmd ? (d.oEventCallback.StreamEnd(s), l.asyncLock = !1, d.JS_Stop(s)) : "1" !== d._decoderVersion && !l.bPlay || d._feedData(s, t);
case 50:
case"end":
return e.stop()
}
}, e, d, [[33, 39]])
})), function (e) {
return n.apply(this, arguments)
}), function (e) {
if (l.asyncLock = !1, d.aWndList[s].bPlay) 1e3 === e.code || 1005 === e.code ? (d._log.E(L.ERR_STREAM_CONNECT_CLOSED + ": 送流异常,被后端关闭连接"), d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_CONNECT_CLOSED, e)) : (d._log.E(L.ERR_STREAM_INTERRUPT + ": 流中断"), d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_INTERRUPT, e)), l.szStreamUUID = "", d._closeStreamAndDestory(s); else {
if (1e3 === e.code || 1005 === e.code) return t();
d.aWndList[s].szStreamUUID ? (d.oEventCallback.pluginErrorHandler(s, L.ERR_COM_RECV_STREAM_TIMEOUT, e), l.szStreamUUID = "", r(L.ERR_COM_RECV_STREAM_TIMEOUT)) : 1006 === e.code && -1 !== i.search("wss://") ? (d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_WSS_ERROR, e), r(L.ERR_STREAM_WSS_ERROR)) : (d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_WS_ERROR, e), r(L.ERR_STREAM_WS_ERROR))
}
}).then(function (e) {
d.aWndList[s].szStreamUUID && (d.oStreamClient.stop(d.aWndList[s].szStreamUUID), d.aWndList[s].szStreamUUID = ""), d.aWndList[s].szStreamUUID = e, d.oStreamClient.startPlay(e, o, u, l.szPlayType).then(function () {
}, function (e) {
l.szStreamUUID = "", l.asyncLock = !1;
var t = "0x0" + e.errorCode.toString(16);
l.bPlay || (d._log.E(t + ": 取流失败,详情根据错误码在运管后台进行查询."), d.oEventCallback.pluginErrorHandler(s, t, e), r(t)), r(L.ERR_STREAM_OPEN_FAILED)
})
}).catch(function (e) {
l.asyncLock = !1, d.oEventCallback.pluginErrorHandler(s, L.ERR_STREAM_WS_TIMEOUT, e), d._closeStreamAndDestory(s), r(L.ERR_STREAM_WS_TIMEOUT)
})
})
}
}, {
key: "JS_GetPluginVersion", value: function () {
var t = this;
return new m.default(function (e) {
e(t.szPluginVersion)
})
}
}, {
key: "JS_SetWindowControlCallback", value: function (t) {
var n = this;
return new m.default(function (e) {
n.oEventCallback = g.default.extend(n.oEventCallback, t), e()
})
}
}, {
key: "JS_SetSecretKey", value: function (n, i) {
var r = this;
return new m.default(function (e, t) {
n < 0 || "" === i || void 0 === i ? t() : (r.aWndList[n].szSecretKey = i, e())
})
}
}, {
key: "JS_ArrangeWindow", value: function (i) {
var r = this;
return new m.default(function (e, t) {
if (i < 1 || "number" != typeof i) return t(L.ERR_COM_PARAM);
if (i < r.options.iMaxSplit ? r.options.iCurrentSplit = i : r.options.iCurrentSplit = r.options.iMaxSplit, f.oTool.isFirefox()) for (var n = 0; n < r.options.iMaxSplit * r.options.iMaxSplit; n++) r.aWndList[n].oPlayCtrl && r.aWndList[n].oPlayCtrl.PlayM4_ClearCanvas && r.aWndList[n].oPlayCtrl.PlayM4_ClearCanvas();
r.iCurrentWndIndex = 0, r.oEventCallback.windowEventSelect(0), r._updateWnd(), r._dealWndSelect(0), e()
})
}
}, {
key: "JS_Play", value: function (r, a) {
var s = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : -1, o = this, u = arguments[3],
d = arguments[4];
return (s < 0 || s > this.iMaxWndNum - 1 || "number" != typeof s) && (s = this.iCurrentWndIndex), new m.default(function (e, t) {
if ("string" != typeof r || -1 === r.search("wss://") && -1 === r.search("ws://")) return t(L.ERR_COM_URL_ERROR);
var n = 0, i = (a.mode && (n = a.mode), r),
i = (1 !== n && o._supportInfo.MSE && (i = /\?/g.test(r) ? r + "&streamform=flv" : r + "?streamform=flv"), o.aWndList[s].bopenTraceId && (-1 !== i.search("traceId=") && 0 < i.split("traceId=").pop().split("&").shift().length ? o.aWndList[s].szTraceId = i.split("traceId=").pop().split("&").shift() : (o.aWndList[s].szTraceId = o.uuid2(16, 16), i = "" + i + (/\?/g.test(i) ? "&" : "?") + "traceId=" + o.aWndList[s].szTraceId)), r = i, a.playURL && (a.playURL = r), a.mode = "media", -1 !== i.search("wss://") && -1 !== i.search("/proxy/") && (a.proxy = i.split("/proxy/").pop().split("/").shift(), n = i.split("wss://").pop().split("/").shift(), a.playURL = i.replace("wss:", "ws:").replace(n, "").replace("/proxy/", "")), o.aWndList[s].szUrl = r, o.aWndList[s].oParams = a, o.aWndList[s].szStartTime = u || "", o.aWndList[s].szStopTime = d || "", o.aWndList[s].pointSignNumber = r.split("realplay/").pop().split("/").shift(), u);
i && -1 !== i.search("Z") && (i = i.replace("Z", "+08:00")), o.aWndList[s].iGlobalBaseTime = new Date(i).getTime(), o.aWndList[s].bPlay ? o.JS_Stop(s).then(function () {
o._openStream(r, a, s, u, d).then(function () {
e()
}, function (e) {
t(e)
})
}) : o._openStream(r, a, s, u, d).then(function () {
e()
}, function (e) {
t(e)
})
})
}
}, {
key: "JS_Seek", value: function () {
var r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, a = this, s = arguments[1],
o = arguments[2];
return new m.default(function (t, n) {
if ((r < 0 || r > a.iMaxWndNum - 1 || "number" != typeof r) && (r = a.iCurrentWndIndex), "string" != typeof s || "string" != typeof o) return n(L.ERR_COM_PARAM);
var e = s, i = o;
if (-1 !== s.search("Z") && (e = e.replace("Z", "+08:00")), -1 !== o.search("Z") && (i = i.replace("Z", "+08:00")), e = new Date(e).getTime(), i = new Date(i).getTime(), !e || !i || i <= e || -1 === s.search("T") || -1 === s.search(":") || -1 === s.search("-") || -1 === o.search("T") || -1 === o.search(":") || -1 === o.search("-")) return n(L.ERR_COM_PARAM);
i = a._checkPlayback(r);
0 !== i ? n(i) : a.oStreamClient.seek(a.aWndList[r].szStreamUUID, s, o).then(function () {
var e = s;
e && -1 !== e.search("Z") && (e = e.replace("Z", "+08:00")), a.aWndList[r].iGlobalBaseTime = new Date(e).getTime() - a._osdtimeInfo.flvduration, !0 === a.aWndList[r].isPause && (1 === a.aWndList[r].iMode ? (e = a.oJSPlugin.find("video.play-window").eq(r)).get(0).play && e.get(0).play() : a.aWndList[r].oPlayCtrl && a.aWndList[r].oPlayCtrl.PlayM4_Pause(!1), a.aWndList[r].isPause = !1), t()
}, function (e) {
e = "0x0" + e.errorCode.toString(16);
a._log.E(e + ": 定位失败,可能是定位传的时间异常导致,详情根据错误码在运管后台进行查询."), n(e)
})
})
}
}, {
key: "JS_GetSdkVersion", value: function () {
return this.aWndList[0].oPlayCtrl.PlayM4_GetSdkVersion()
}
}, {
key: "JS_DestroyWorker", value: function () {
var t = this;
return new m.default(function (e) {
t.aWndList.forEach(function (e) {
e.oPlayCtrl = null
}), e()
})
}
}, {
key: "JS_Stop", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (e, t) {
if ((i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), n.aWndList[i].asyncLock && "2" === n._decoderVersion) return n._log.E(L.ERR_STREAM_LOCK_ERROR + ": Multiple call js_stop API in a short time, please wait lasttime call over."), t(L.ERR_STREAM_LOCK_ERROR);
n.aWndList[i]._bpsCalculator && (self.clearInterval(n.aWndList[i]._bpsCalculator), n.aWndList[i]._bpsCalculator = null, n.aWndList[i]._bpsInfo = {
lastVideoBytes: 0,
bps_video: 0,
data_updated_time: 0,
time_gap_factor: 1
}), n.aWndList[i].szStorageUUID && n.JS_StopSave(i), n.aWndList[i].bEZoom && n.JS_DisableZoom(i), i === n.iCurrentSoundWnd && (n.JS_CloseSound(), n.aWndList[i].MSEVolume = .5), n._closeStreamAndDestory(i), n.aWndList[i].isPause = !1, n.aWndList[i].bFirstFrame = !1, n.aWndList[i]._emiter.removeAllListeners(), n.aWndList[i]._resetFlvplayer = !1, e()
})
}
}, {
key: "JS_Pause", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (t, n) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var e = i._checkPlayback(r);
if (0 === e) return i.aWndList[r].bFrameForward ? (i._log.E(L.ERR_PLAYBACK_FRAMEFORWARD + ": status singleFrame not support this handle."), void n(L.ERR_PLAYBACK_FRAMEFORWARD)) : !0 === i.aWndList[r].isPause ? t() : void i.oStreamClient.pause(i.aWndList[r].szStreamUUID).then(function () {
var e;
1 === i.aWndList[r].iMode ? (e = i.oJSPlugin.find("video.play-window").eq(r)).get(0).pause && e.get(0).pause() : i.aWndList[r].oPlayCtrl.PlayM4_Pause && i.aWndList[r].oPlayCtrl.PlayM4_Pause(!0), i.aWndList[r].isPause = !0, t()
}, function (e) {
n(e)
});
n(e)
})
}
}, {
key: "JS_Resume", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (t, n) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var e = i._checkPlay(r);
return 0 !== e ? n(e) : (i.aWndList[r].bFrameForward && ("2" === i._decoderVersion ? i.aWndList[r].oPlayCtrl.PlayM4_OneByOne_Play && i.aWndList[r].oPlayCtrl.PlayM4_OneByOne_Play() : i.aWndList[r].oPlayCtrl.PlayM4_Play(i.options.szId + "_playCanvas" + r), i.aWndList[r].bFrameForward = !1), !1 === i.aWndList[r].isPause ? t() : void i.oStreamClient.resume(i.aWndList[r].szStreamUUID).then(function () {
var e;
1 === i.aWndList[r].iMode ? (e = i.oJSPlugin.find("video.play-window").eq(r)).get(0).play && e.get(0).play() : (1 !== i.iCurrentPlayRate && (i.aWndList[r].iRate = i.iCurrentPlayRate, i.oStreamClient.setPlayRate(i.aWndList[r].szStreamUUID, i.aWndList[r].iRate), i.aWndList[r].oPlayCtrl.PlayM4_PlayRate && i.aWndList[r].oPlayCtrl.PlayM4_PlayRate(i.aWndList[r].iRate), 1 < i.iCurrentPlayRate ? i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(1) : i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(0)), i.aWndList[r].oPlayCtrl && i.aWndList[r].oPlayCtrl.PlayM4_Pause(!1)), i.aWndList[r].isPause = !1, t()
}, function (e) {
n(e)
}))
})
}
}, {
key: "JS_Slow", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (t, n) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var e = i._checkPlayback(r);
return 0 !== e ? n(e) : i.aWndList[r].bFrameForward ? (i._log.E(L.ERR_PLAYBACK_FRAMEFORWARD + ": status singleFrame not support this handle."), n(L.ERR_PLAYBACK_FRAMEFORWARD)) : -8 === i.aWndList[r].iRate ? (i._log.E(L.ERR_PLAYBACK_MIN_RATE + ": current rate is the min."), void n(L.ERR_PLAYBACK_MIN_RATE)) : (i.aWndList[r].iRate < 0 && -8 < i.aWndList[r].iRate && (i.aWndList[r].iRate *= 2), 1 === i.aWndList[r].iRate && (i.aWndList[r].iRate *= -2), 1 < i.aWndList[r].iRate && (i.aWndList[r].iRate /= 2), void i.oStreamClient.setPlayRate(i.aWndList[r].szStreamUUID, i.aWndList[r].iRate).then(function () {
var e;
1 === i.aWndList[r].iMode ? (e = i.oJSPlugin.find("video.play-window").eq(r).get(0), i.aWndList[r].iRate < 0 ? e.playbackRate = 1 / Math.abs(i.aWndList[r].iRate) : e.playbackRate = i.aWndList[r].iRate, 1 === i.aWndList[r].iRate && i.aWndList[r].bOpenSound ? i.oJSPlugin.find("video.play-window").eq(r)[0].muted = !1 : i.oJSPlugin.find("video.play-window").eq(r)[0].muted = !0) : (i.aWndList[r].iRate <= 2 && "2" === i._decoderVersion || i.aWndList[r].iRate < 2 && "2" !== i._decoderVersion ? i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(0) : i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(1), i.aWndList[r].oPlayCtrl.PlayM4_PlayRate && i.aWndList[r].oPlayCtrl.PlayM4_PlayRate(i.aWndList[r].iRate), i.aWndList[r].oPlayCtrl.PlayM4_Slow && i.aWndList[r].oPlayCtrl.PlayM4_Slow(i.aWndList[r].iRate)), t(i.aWndList[r].iRate)
}, function (e) {
n(e)
}))
})
}
}, {
key: "JS_Fast", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return (r < 0 || r > this.iMaxWndNum - 1 || "number" != typeof r) && (r = this.iCurrentWndIndex), new m.default(function (t, n) {
var e = i._checkPlayback(r);
return 0 !== e ? n(e) : i.aWndList[r].bFrameForward ? (i._log.E(L.ERR_PLAYBACK_FRAMEFORWARD + ": status singleFrame not support this handle."), n(L.ERR_PLAYBACK_FRAMEFORWARD)) : 8 === i.aWndList[r].iRate ? (i._log.E(L.ERR_PLAYBACK_MAX_RATE + ": current rate is the max."), n(L.ERR_PLAYBACK_MAX_RATE)) : (-2 === i.aWndList[r].iRate ? i.aWndList[r].iRate = 1 : i.aWndList[r].iRate < -2 ? i.aWndList[r].iRate /= 2 : 0 < i.aWndList[r].iRate && i.aWndList[r].iRate < 8 && (i.aWndList[r].iRate *= 2), void i.oStreamClient.setPlayRate(i.aWndList[r].szStreamUUID, i.aWndList[r].iRate).then(function () {
var e;
1 === i.aWndList[r].iMode ? (i.aWndList[r].oMSE.closeLatencyMonitor(), e = i.oJSPlugin.find("video.play-window").eq(r).get(0), i.aWndList[r].iRate < 0 ? e.playbackRate = 1 / Math.abs(i.aWndList[r].iRate) : e.playbackRate = i.aWndList[r].iRate, 1 === i.aWndList[r].iRate && i.aWndList[r].bOpenSound ? i.oJSPlugin.find("video.play-window").eq(r)[0].muted = !1 : i.oJSPlugin.find("video.play-window").eq(r)[0].muted = !0) : (i.aWndList[r].iRate <= 2 && "2" === i._decoderVersion || i.aWndList[r].iRate < 2 && "2" !== i._decoderVersion ? i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(0) : i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(1), i.aWndList[r].oPlayCtrl.PlayM4_PlayRate && i.aWndList[r].oPlayCtrl.PlayM4_PlayRate(i.aWndList[r].iRate), i.aWndList[r].oPlayCtrl.PlayM4_Fast && i.aWndList[r].oPlayCtrl.PlayM4_Fast(i.aWndList[r].iRate)), t(i.aWndList[r].iRate)
}, function (e) {
n(e)
}))
})
}
}, {
key: "JS_Transmission", value: function () {
var e = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, r = arguments[1];
return new m.default(function (t, n) {
(i < 0 || i > e.iMaxWndNum - 1 || "number" != typeof i) && (i = e.iCurrentWndIndex), e.aWndList[i].szStreamUUID ? e.oStreamClient.transmission(e.aWndList[i].szStreamUUID, r).then(function (e) {
t(e)
}, function (e) {
n(e)
}) : n()
})
}
}, {
key: "JS_FrameForward", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1,
a = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 1;
return new m.default(function (e, t) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var n = i._checkPlayback(r);
return 0 !== n ? t(n) : 1 === i.aWndList[r].iMode ? (i._log.E(L.ERR_COM_IS_MSE + ": MSE unsupport this function."), t(L.ERR_COM_IS_MSE)) : (1 !== i.aWndList[r].iRate ? (i.aWndList[r].iRate = 1, i.iCurrentPlayRate = i.aWndList[r].iRate, i.oStreamClient.setPlayRate(i.aWndList[r].szStreamUUID, i.aWndList[r].iRate).then(function () {
i.aWndList[r].oPlayCtrl.PlayM4_PlayRate && i.aWndList[r].oPlayCtrl.PlayM4_PlayRate(i.aWndList[r].iRate), i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(0), i.aWndList[r].oPlayCtrl.PlayM4_OneByOne && i.aWndList[r].oPlayCtrl.PlayM4_OneByOne(a), i.aWndList[r].bFrameForward = !0
}, function (e) {
t(e)
})) : (i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType && i.aWndList[r].oPlayCtrl.PlayM4_SetDecodeFrameType(0), i.aWndList[r].oPlayCtrl.PlayM4_OneByOne && i.aWndList[r].oPlayCtrl.PlayM4_OneByOne(a), i.aWndList[r].bFrameForward = !0), void e())
})
}
}, {
key: "JS_GetOSDTime", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (n, e) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var t = i._checkPlay(r);
0 !== t ? e(t) : 1 === i.aWndList[r].iMode ? (i.oJSPlugin.find("video.play-window").eq(r).get(0), n(i.aWndList[r].iCurentOSDTime)) : "1" === i._decoderVersion ? i.aWndList[r].oPlayCtrl.PlayM4_GetOSDTime && i.aWndList[r].oPlayCtrl.PlayM4_GetOSDTime(function (e) {
var t = "ios" === i._browserInfo._system || f.oTool.isEdge() ? "/" : " ",
e = Date.parse(e.replace(/-/g, t));
n(e)
}) : (i.aWndList[r].oPlayCtrl.PlayM4_GetFrameInfo && i.aWndList[r].oPlayCtrl.PlayM4_GetFrameInfo(function (e) {
i.aWndList[r].oPlayCtrl.iYUVWidth = e.width, i.aWndList[r].oPlayCtrl.iYUVHeight = e.height, i._getOSDTime(r, e.year, e.month, e.day, e.hour, e.minute, e.second), i.aWndList[r]._videoInfo.height = e.height, i.aWndList[r]._videoInfo.width = e.width, i.aWndList[r]._videoInfo.frameRate = e.frameRate
}), n(i.aWndList[r].iCurentOSDTime))
})
}
}, {
key: "JS_SetNormalDecoderAudio", value: function () {
var t = this, n = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, i = arguments[1];
return new m.default(function (e) {
(n < 0 || n > t.iMaxWndNum - 1 || "number" != typeof n) && (n = t.iCurrentWndIndex), t.aWndList[n].mseDecoderAudio = i, e()
})
}
}, {
key: "JS_OpenSound", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return (r < 0 || r > this.iMaxWndNum - 1 || "number" != typeof r) && (r = this.iCurrentWndIndex), new m.default(function (e, t) {
var n = i._checkPlay(r);
if (0 !== n) return t(n);
if (!i.aWndList[r].bFirstFrame) return t(L.ERR_COM_OPENSOUND_ERROR);
n = i.iCurrentSoundWnd;
if (n === r) e(); else {
if (-1 !== n && (1 === i.aWndList[n].iMode ? i.oJSPlugin.find("video.play-window").eq(n)[0].muted = !0 : i.aWndList[n].oPlayCtrl.PlayM4_StopSound && i.aWndList[n].oPlayCtrl.PlayM4_StopSound()), 1 === i.aWndList[r].iMode) {
if ("AAC" !== i.aWndList[r]._videoInfo.audioType) return t(L.ERR_STREAM_SOUND_NOTHAS);
i.aWndList[r].mseDecoderAudio || (i.aWndList[r].bOpenSound = !0, i._streamReset(r));
n = i.oJSPlugin.find("video.play-window").eq(r)[0];
n.volume = i.aWndList[r].MSEVolume, n.muted = !1, n.paused && n.play()
} else if (i.aWndList[r].oPlayCtrl.PlayM4_PlaySound && 1 !== i.aWndList[r].oPlayCtrl.PlayM4_PlaySound(r)) return void t(L.ERR_JSDECODER + i.aWndList[r].oPlayCtrl.PlayM4_GetLastError().toString());
i.iCurrentSoundWnd = r, i.aWndList[r].bOpenSound = !0, e()
}
})
}
}, {
key: "JS_GetVolume", value: function () {
var t, i = this;
return new m.default(function (n, e) {
if (-1 === i.iCurrentSoundWnd) return e(L.ERR_COM_SETORGET_VOLUME_ERROR);
t = i.iCurrentSoundWnd, 1 === i.aWndList[t].iMode ? (e = 100 * i.oJSPlugin.find("video.play-window").eq(t).get(0).volume, n(e)) : i.aWndList[t].oPlayCtrl.PlayM4_GetVolume && i.aWndList[t].oPlayCtrl.PlayM4_GetVolume(function (e) {
var t = e;
"2" === i._decoderVersion && (t = Math.ceil(e / 655)), n(t)
})
})
}
}, {
key: "JS_SetVolume", value: function () {
var i, r = this, a = arguments[1];
return new m.default(function (e, t) {
if (-1 === r.iCurrentSoundWnd) return t(L.ERR_COM_SETORGET_VOLUME_ERROR);
if (i = r.iCurrentSoundWnd, a < 1 || 100 < a || "number" != typeof a) return t(L.ERR_COM_SETVOLUME_ERROR);
if (1 === r.aWndList[i].iMode) {
try {
var n = r.oJSPlugin.find("video.play-window").eq(i).get(0);
n.volume = a / 100, r.aWndList[i].MSEVolume = n.volume
} catch (e) {
t(e)
}
e()
} else {
r.aWndList[i].oPlayCtrl.PlayM4_SetVolume || t();
n = a;
"2" === r._decoderVersion && (n = Math.ceil(655 * a)), 0 === r.aWndList[i].oPlayCtrl.PlayM4_SetVolume(n) ? t(L.ERR_JSDECODER + r.aWndList[i].oPlayCtrl.PlayM4_GetLastError().toString()) : e()
}
})
}
}, {
key: "JS_CloseSound", value: function () {
var r = this;
return new m.default(function (e, t) {
var n, i = r.iCurrentSoundWnd;
i < 0 || i > r.iMaxWndNum - 1 ? e() : 0 !== (n = r._checkPlay(i)) ? t(n) : (1 === r.aWndList[i].iMode ? r.oJSPlugin.find("video.play-window").eq(i)[0].muted = !0 : r.aWndList[i].oPlayCtrl.PlayM4_StopSound && 1 !== r.aWndList[i].oPlayCtrl.PlayM4_StopSound() && t(L.ERR_JSDECODER + r.aWndList[i].oPlayCtrl.PlayM4_GetLastError().toString()), r.iCurrentSoundWnd = -1, r.aWndList[i].bOpenSound = !1, e())
})
}
}, {
key: "JS_EnableZoom", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return (r < 0 || r > this.iMaxWndNum - 1 || "number" != typeof r) && (r = this.iCurrentWndIndex), new m.default(function (e, t) {
var n = i._checkPlay(r);
return 0 !== n ? t(n) : 1 === i.aWndList[r].iMode ? (i._log.E(L.ERR_COM_IS_MSE + ": MSE unsupport this function."), t(L.ERR_COM_IS_MSE)) : (i.oJSPlugin.find(".draw-window").unbind(), i.oDrawCanvas = new h.ESCanvas(i.options.szId + "_canvas_draw" + r), i.oDrawCanvas.setShapeType("Rect"), i.oDrawCanvas.setDrawStyle("#ff0000", "", 0), i.oDrawCanvas.setDrawStatus(!0, function (e) {
e.startPos && e.endPos && (e.startPos[0] > e.endPos[0] ? i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion && i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion(null, !1) : i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion && i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion({
left: e.startPos[0],
top: e.startPos[1],
right: e.endPos[0],
bottom: e.endPos[1]
}, !0))
}), i.aWndList[r].bEZoom = !0, void e())
})
}
}, {
key: "JS_DisableZoom", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return (r < 0 || r > this.iMaxWndNum - 1 || "number" != typeof r) && (r = this.iCurrentWndIndex), new m.default(function (e, t) {
var n = i._checkPlay(r);
return 0 !== n ? t(n) : 1 === i.aWndList[r].iMode ? (i._log.E(L.ERR_COM_IS_MSE + ": MSE unsupport this function."), t(L.ERR_COM_IS_MSE)) : (i.oDrawCanvas.setDrawStatus(!1), i.oDrawCanvas.clearAllShape(), void (i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion && 1 !== i.aWndList[r].oPlayCtrl.PlayM4_SetDisplayRegion(null, !1) ? t(L.ERR_JSDECODER + i.aWndList[r].oPlayCtrl.PlayM4_GetLastError().toString()) : (i.aWndList[r].bEZoom = !1, e())))
})
}
}, {
key: "JS_Enable3DZoom", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, r = arguments[1];
return new m.default(function (e, t) {
(i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), n.aWndList[i].bPlay ? (n.oJSPlugin.find(".draw-window").unbind(), n.fDrawCallback = r, n.oDrawCanvas = new h.ESCanvas("canvas_draw" + i), n.oDrawCanvas.setShapeType("Rect"), n.oDrawCanvas.setDrawStyle("#ff0000", "", 0), n.oDrawCanvas.setDrawStatus(!0, function (e) {
r(e)
}), n.aWndList[i].b3DZoom = !0, e()) : t()
})
}
}, {
key: "JS_Disable3DZoom", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (e, t) {
(i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), n.aWndList[i].bPlay ? (n.oDrawCanvas.setDrawStatus(!1), n.aWndList[i].b3DZoom = !1, e()) : t()
})
}
}, {
key: "JS_CapturePicture", value: (T = (0, v.default)(y.default.mark(function e() {
var d = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, l = arguments[1], h = this,
c = arguments[2], _ = arguments[3];
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
return e.abrupt("return", new m.default(function () {
var n = (0, v.default)(y.default.mark(function e(t, n) {
var i, r, a, s, o, u;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if ((d < 0 || d > h.iMaxWndNum - 1 || "number" != typeof d) && (d = h.iCurrentWndIndex), 0 !== (a = h._checkPlay(d))) return n(a), e.abrupt("return");
e.next = 5;
break;
case 5:
if (h.aWndList[d].bFirstFrame) {
e.next = 7;
break
}
return e.abrupt("return", n(L.ERR_CAPTURE_NO_PREPARED));
case 7:
if (c = "JPEG", i = null, 1 !== (r = h.aWndList[d]).iMode) {
e.next = 21;
break
}
a = h.oJSPlugin.find("video.play-window").eq(d).get(0), s = a.videoWidth, o = a.videoHeight, (u = document.createElement("canvas")).width = s, u.height = o, u.getContext("2d").drawImage(a, 0, 0, s, o), i = u.toDataURL("image/" + c), e.next = 24;
break;
case 21:
return e.next = 23, h._jsdecoderCapture(r, c);
case 23:
i = e.sent;
case 24:
if (_) return _(i), t(), e.abrupt("return");
e.next = 28;
break;
case 28:
(s = i.split(";").shift().split("/").pop()) !== c.toLowerCase() && console.warn("Current Browser is not support to capture '" + c + "' image type, auto capture '" + s.toUpperCase() + "' image."), (o = document.createEvent("MouseEvents")).initEvent("click", !1, !1), (u = document.createElement("a")).href = Blob ? URL.createObjectURL(f.oTool.dataURLtoBlob(i)) : i, u.download = l + "." + s, u.dispatchEvent(o), t();
case 37:
case"end":
return e.stop()
}
}, e, h)
}));
return function (e, t) {
return n.apply(this, arguments)
}
}()));
case 1:
case"end":
return e.stop()
}
}, e, this)
})), function () {
return T.apply(this, arguments)
})
}, {
key: "_jsdecoderCapture", value: function (t, o) {
var u = this;
return new m.default(function (a, s) {
function e(e) {
if (6 === e) return u._log.E(L.ERR_CAPTURE_RAM + ": capture failed, memory not enough."), s(L.ERR_CAPTURE_RAM);
for (var t = "", n = e.byteLength, i = 0; i < n; i++) t += String.fromCharCode(e[i]);
var r = btoa(t), r = "data:image/" + o.toLowerCase() + ";base64," + r;
a(r)
}
"JPEG" === o ? t.oPlayCtrl.PlayM4_GetJPEG(e) : "BMP" === o && t.oPlayCtrl.PlayM4_GetBMP(e)
})
}
}, {
key: "JS_StopRealPlayAll", value: function () {
var n = this;
return new m.default(function (e) {
n.aWndList.forEach(function (e, t) {
n.JS_Stop(t)
}), n.iCurrentSoundWnd = -1, e()
})
}
}, {
key: "JS_StartSave", value: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, s = this, o = arguments[1],
u = arguments[2];
return new m.default(function (t, e) {
(a < 0 || a > s.iMaxWndNum - 1 || "number" != typeof a) && (a = s.iCurrentWndIndex);
var n, i = 0, r = (u && (i = u.iPackage), s._checkPlay(a));
0 !== r ? e(r) : s.aWndList[a].szStorageUUID ? e(L.ERR_PLAY_FILESYS_ALREADY_WRITING) : (o.indexOf(".mp4") < 0 && (o += ".mp4"), r = s.aWndList[a].aHead, n = 0, "realplay" !== s.aWndList[a].szPlayType && (n = 1), s.oStorageManager.startRecord(o, r, 2, n, {
cbEventHandler: function (e) {
s._closeStreamAndDestory(a), s.oEventCallback.pluginErrorHandler(a, e)
}, iPackage: i
}).then(function (e) {
s.aWndList[a].szStorageUUID = e, t()
}, function () {
e()
}))
})
}
}, {
key: "JS_StartSaveEx", value: function () {
var s = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, o = arguments[1], u = this,
d = arguments[2], l = arguments[3];
return new m.default(function (t, e) {
var n, i, r, a;
(s < 0 || s > u.iMaxWndNum - 1 || "number" != typeof s) && (s = u.iCurrentWndIndex), 2 !== d && 5 !== d ? e(L.ERR_PLAY_FILESYS_NOT_SUPPORT_DSTTYPE) : null === o ? e(L.ERR_PLAY_FILESYS_FILENAME_ISNULL) : (n = 1, i = null, l && (n = l.irecordType, i = l.cbStreamCB), 0 !== (r = u._checkPlay(s)) ? e(r) : u.aWndList[s].szStorageUUID ? e(L.ERR_PLAY_FILESYS_ALREADY_WRITING) : (o.indexOf(".mp4") < 0 && (o += ".mp4"), r = u.aWndList[s].aHead, a = 0, "realplay" !== u.aWndList[s].szPlayType && (a = 1), u.aWndList[s].isFlv && (r = u.flvtohikHead(s)), (5 === d && 33 === r[12] && 114 === r[13] || 98 === r[12] && 114 === r[13] || 0 === r[12] && 32 === r[13]) && (r[12] = 0, r[13] = 0), 129 === r[24] && (d = 1), u.oStorageManager.startRecord(o, r, d, a, {
cbEventHandler: function (e) {
u._closeStreamAndDestory(s), u.oEventCallback.pluginErrorHandler(s, e)
}, irecordType: n, cbStreamCB: i
}).then(function (e) {
u.aWndList[s].szStorageUUID = e, u.aWndList[s].isFlv && u.aWndList[s].oMSE.setRecordFlag(!0), t()
}, function () {
e()
})))
})
}
}, {
key: "JS_StopSave", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (e, t) {
(i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), n.aWndList[i].szStorageUUID ? (n.aWndList[i].isFlv && n.aWndList[i].oMSE.setRecordFlag(!1), n.oStorageManager.stopRecord(n.aWndList[i].szStorageUUID).then(function () {
n.aWndList[i].szStorageUUID = "", e()
}, function (e) {
t(e)
})) : t(L.ERR_PLAY_FILESYS_NOT_WRITING)
})
}
}, {
key: "JS_SetDrawStatus", value: function (n) {
var i = this;
return new m.default(function (e, t) {
i.oDrawCanvas ? (i.oDrawCanvas.setDrawStatus(n), e()) : t()
})
}
}, {
key: "JS_ClearRegion", value: function () {
var n = this;
return new m.default(function (e, t) {
n.oDrawCanvas ? (n.oDrawCanvas.clearAllShape(), e()) : t()
})
}
}, {
key: "JS_SetGridInfo", value: function (n) {
var i = this;
return new m.default(function (e) {
if (null == n) return -1;
var t = "#ff0000";
n.drawColor && (t = n.drawColor), i.oDrawCanvas.setDrawStyle(t), i.oDrawCanvas.setShapesInfoByType("Grid", [{
szGridMap: n.gridMap,
iGridColNum: n.gridColNum,
iGridRowNum: n.gridRowNum
}]), e()
})
}
}, {
key: "JS_GetGridInfo", value: function () {
var e, t = null;
return t = this.oDrawCanvas ? (e = this.oDrawCanvas.getShapesInfoByType("Grid")[0]) ? {
gridColNum: e.iGridColNum,
gridRowNum: e.iGridRowNum,
gridMap: e.szGridMap
} : {iGridRowNum: 18, iGridColNum: 22, szGridMap: ""} : {}, m.default.resolve(t)
}
}, {
key: "JS_SetDrawShapeInfo", value: function (n, i) {
var r = this;
return new m.default(function (e, t) {
void 0 === n || "" === n ? t() : (r.oDrawCanvas.setShapeType(n), r.oDrawCanvas.setDrawStyle(i.szDrawColor || "", i.szFillColor || "", i.iTranslucent || 0), i.iMaxShapeSupport && 0 < i.iMaxShapeSupport && r.oDrawCanvas.setMaxShapeSupport(i.iMaxShapeSupport), i.iMaxPointSupport && 0 < i.iMaxPointSupport && r.oDrawCanvas.setCurrentShapeInfo({
szId: "",
szTips: "",
iMinClosed: 3,
iMaxPointNum: i.iMaxPointSupport,
iPolygonType: 1,
szDrawColor: i.szDrawColor || "",
szFillColor: i.szFillColor || "",
iTranslucent: i.iTranslucent || 0
}), e())
})
}
}, {
key: "JS_SetPolygonInfo", value: function (a) {
var s = this;
return new m.default(function (e, t) {
if (void 0 !== a && a.length) {
var n = [];
if (0 < a.length) for (var i = 0, r = a.length; i < r; i++) 0 < a[i].aPoint.length && n.push(a[i]);
0 < n.length ? (s.oDrawCanvas.setShapesInfoByType("Polygon", n), e()) : t()
} else t()
})
}
}, {
key: "JS_GetPolygonInfo", value: function () {
var s = this;
return new m.default(function (e) {
for (var t = [], n = s.oDrawCanvas.getShapesInfoByType("Polygon"), i = 0, r = n.length; i < r; i++) {
var a = n[i], a = {aPoint: a.aPoint, bClosed: a.bClosed, szTips: a.szTips};
t.push(a)
}
e(t)
})
}
}, {
key: "JS_SetLineInfo", value: function (a) {
var s = this;
return new m.default(function (e, t) {
if (void 0 !== a && a.length) {
var n = [];
if (0 < a.length) for (var i = 0, r = a.length; i < r; i++) 0 < a[i].aPoint.length && n.push(a[i]);
0 < n.length ? (s.oDrawCanvas.setShapesInfoByType("Line", n), e()) : t()
} else t()
})
}
}, {
key: "JS_GetLineInfo", value: function () {
var s = this;
return new m.default(function (e) {
for (var t = [], n = s.oDrawCanvas.getShapesInfoByType("Line"), i = 0, r = n.length; i < r; i++) {
var a = n[i], a = {iLineType: a.iLineType, aPoint: a.aPoint, szTips: a.szTips};
t.push(a)
}
e(t)
})
}
}, {
key: "JS_SetRectInfo", value: function (a) {
var s = this;
return new m.default(function (e, t) {
if (void 0 !== a && a.length) {
var n = [];
if (0 < a.length) for (var i = 0, r = a.length; i < r; i++) 0 < a[i].aPoint.length && n.push(a[i]);
0 < n.length ? (s.oDrawCanvas.setShapesInfoByType("Rect", n), e()) : t()
} else t()
})
}
}, {
key: "JS_GetRectInfo", value: function () {
var s = this;
return new m.default(function (e) {
for (var t = [], n = s.oDrawCanvas.getShapesInfoByType("Rect"), i = 0, r = n.length; i < r; i++) {
var a = n[i], a = {aPoint: a.aPoint, szTips: a.szTips};
t.push(a)
}
e(t)
})
}
}, {
key: "JS_FullScreenDisplay", value: function (e) {
var t = document.getElementById(this.options.szId).children[0];
return this._triggerFullscreen(t)
}
}, {
key: "JS_FullScreenSingle", value: function () {
var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1,
t = ((e < 0 || e > this.iMaxWndNum - 1 || "number" != typeof e) && (e = this.iCurrentWndIndex), this.aWndList[e]);
if (!t.bPlay) return m.default.reject("window " + e + " is not playing.");
var n = null,
n = ("desktop" === this._browserInfo.platform || "ios" === this._browserInfo.system ? this.oJSPlugin.find(".sub-wnd") : 1 === t.iMode ? this.oJSPlugin.find(".sub-wnd video.play-window") : this.oJSPlugin.find(".sub-wnd canvas.play-window")).get(e);
return this._triggerFullscreen(n)
}
}, {
key: "_triggerFullscreen", value: function (a, e) {
var n, s = this,
o = document.fullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled || a.webkitSupportsFullscreen || !1,
u = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || a.webkitDisplayingFullscreen || !1;
return a.requestFullscreen = a.requestFullscreen || a.webkitRequestFullScreen || a.mozRequestFullScreen || a.msRequestFullscreen || a.webkitEnterFullScreen || null, document.exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen || null, new m.default((n = (0, v.default)(y.default.mark(function e(t, n) {
var i, r;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if (!o) {
e.next = 13;
break
}
if (u && s.fullscreenElement === a) return document.exitFullscreen ? document.exitFullscreen() : a.webkitExitFullScreen(), s.fullscreenElement = null, s.JS_Resize(), s.oEventCallback.windowFullCcreenChange(!1), e.abrupt("return", t());
e.next = 7;
break;
case 7:
return e.next = 9, a.requestFullscreen();
case 9:
return s.fullscreenElement = a, s.JS_Resize(), s.oEventCallback.windowFullCcreenChange(!0), e.abrupt("return", t());
case 13:
return s.fullscreenElement ? (document.body.style.setProperty("overflow", "unset"), i = s.oJSPlugin.width(), r = s.oJSPlugin.height(), (0, g.default)(a).css("width", i).css("height", r).css("z-index", "").css("position", "relative").css("transform", "").css("transform-origin", "").css("top", "").css("left", ""), s.fullscreenElement = null, s.JS_Resize(), s.oEventCallback.windowFullCcreenChange(!1)) : (i = document.body.clientWidth, r = document.body.clientHeight, s.options.openDebug && console.log("iphone fullscreen: body, window", i, r, window.screen.width, window.screen.height), i < r ? (document.body.style.setProperty("overflow", "hidden"), (0, g.default)(a).css("width", r).css("height", i).css("z-index", "1001").css("position", "fixed").css("transform", "rotate(90deg)").css("transform-origin", "0px 0px").css("top", "0px").css("left", i + "px"), (0, g.default)(a).find("video.play-window").attr("width", r).attr("height", i), (0, g.default)(a).find("canvas.play-window").attr("width", r).attr("height", i).css("transform", "scale(1)"), (0, g.default)(a).find("canvas.draw-window").attr("width", r).attr("height", i)) : (0, g.default)(a).css("width", i).css("height", r).css("z-index", "1001").css("position", "fixed"), s.fullscreenElement = a, s.JS_Resize(), s.oEventCallback.windowFullCcreenChange(!0)), e.abrupt("return", m.default.resolve());
case 15:
case"end":
return e.stop()
}
}, e, s)
})), function (e, t) {
return n.apply(this, arguments)
}))
}
}, {
key: "JS_Resize", value: function (s, o) {
var u = this;
return new m.default(function (a) {
u._debounse(function () {
var e, t, n, i, r;
s && o && "number" == typeof s && "number" == typeof o && (u.options.iWidth = s, u.options.iHeight = o, u.oJSPlugin.width(s), u.oJSPlugin.height(o)), u.fullscreenElement && "sub-wnd" === u.fullscreenElement.className ? (t = (e = (0, g.default)(u.fullscreenElement)).width(), n = e.height(), r = window.screen.width, i = window.screen.height, u.options.openDebug && console.log("singleFullscreen JS_Resize: ", r, i, t, n), e.css("border", "1px solid " + u.options.oStyle.border), e.find("video.play-window").attr("width", t).attr("height", n), e.find("canvas.play-window").css("transform", "unset").attr("width", t).attr("height", n), (r = u.aWndList[u.currentWindowIndex]).bPlay && 0 === r.iMode && r.oPlayCtrl && r.oPlayCtrl.PlayM4_SetCanvasSize && r.oPlayCtrl.PlayM4_SetCanvasSize(t, n), e.find("canvas.draw-window").attr("width", t).attr("height", n)) : (u.options.iWidth = u.oJSPlugin.width(), u.options.iHeight = u.oJSPlugin.height(), u._updateWnd()), u.oDrawCanvas.resizeCanvas(), u.oDrawCanvas.canvasRedraw(), a()
}, 50)
})
}
}, {
key: "JS_SelectWnd", value: function (n) {
var i = this;
return new m.default(function (e, t) {
if (n < 0 || n > i.iMaxWndNum - 1 || "number" != typeof n) return t(L.ERR_COM_PARAM);
i.oJSPlugin.find(".sub-wnd").get(n).click(), e()
})
}
}, {
key: "JS_SetOptions", value: function (t) {
var n = this;
return new m.default(function (e) {
!1 === t.bSupportSound && (n.options.bSupportSound = t.bSupportSound), !1 === t.bSupporDoubleClickFull && (n.options.bSupporDoubleClickFull = t.bSupporDoubleClickFull), !0 === t.bOnlySupportMSE && (n.options.bOnlySupportMSE = t.bOnlySupportMSE), !0 === t.bOnlySupportJSDecoder && (n.options.bOnlySupportJSDecoder = t.bOnlySupportJSDecoder), e()
})
}
}, {
key: "JS_SetLogFlag", value: function (n) {
var i = this;
return new m.default(function (e) {
for (var t = 0; t < i.iMaxWndNum; t++) i.aWndList[t].oPlayCtrl && i.aWndList[t].oPlayCtrl.PlayM4_OpenPlayerSDKPrintLog(n);
e()
})
}
}, {
key: "JS_SetDecodeThreadNum", value: function (n) {
var i = this;
return new m.default(function (e) {
for (var t = 0; t < i.iMaxWndNum; t++) i.aWndList[t].oPlayCtrl && i.aWndList[t].oPlayCtrl.SetDecodeThreadNum(n);
e()
})
}
}, {
key: "JS_RenderPrivateData", value: function (e, t) {
var n = this.iCurrentWndIndex, i = this.aWndList[n], r = this._checkPlay(n);
if (0 === r) {
if (1 === this.aWndList[n].iMode) return r = L.ERR_COM_IS_MSE, this._log.E(L.ERR_COM_IS_MSE + ": MSE unsupport this function."), r;
1 !== i.oPlayCtrl.PlayM4_RenderPrivateData(e, t) && (r = L.ERR_JSDECODER + i.oPlayCtrl.PlayM4_GetLastError().toString(), this._log.E(r + ": 播放库智能信息接口报错:"))
}
return r
}
}, {
key: "JS_RenderPrivateDataEx", value: function (e, t, n) {
var i = this.iCurrentWndIndex, r = this.aWndList[i], a = this._checkPlay(i);
return 0 === a && (1 === this.aWndList[i].iMode && (a = L.ERR_COM_IS_MSE, this._log.E(L.ERR_COM_IS_MSE + ": MSE unsupport this function.")), 1 !== r.oPlayCtrl.PlayM4_RenderPrivateDataEx(e, t, n) && (a = L.ERR_JSDECODER + r.oPlayCtrl.PlayM4_GetLastError().toString(), this._log.E(a + ": 播放库智能信息接口报错:", a))), a
}
}, {
key: "JS_RenderALLPrivateData", value: function () {
var r = this, a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, s = arguments[1];
return new m.default(function (e, t) {
if ((a < 0 || a > r.iMaxWndNum - 1 || "number" != typeof a) && (a = r.iCurrentWndIndex), "boolean" != typeof s) return t(L.ERR_COM_PARAM);
var n = r.aWndList[a], i = r._checkPlay(a);
if (0 !== i) return t(i);
if (0 !== n.iMode || "2" !== r._decoderVersion) return t(L.ERR_STREAM_INTEL_UNSUPPORT);
[{typeCode: "0x00000001", desc: "智能分析(默认开)", children: []}, {
typeCode: "0x00000002",
desc: "移动侦测(默认开)",
children: []
}, {typeCode: "0x00000004", desc: "pos 信息叠加(默认关)", children: []}, {
typeCode: "0x00000008",
desc: "图片叠加(默认关)",
children: []
}, {
typeCode: "0x00000010",
desc: "火点信息(默认开)",
children: [{typeCode: "0x00000001", desc: "火点框显示"}, {
typeCode: "0x00000002",
desc: "火点最高温显示"
}, {typeCode: "0x00000004", desc: "最高温位置显示"}, {typeCode: "0x00000008", desc: "最高温度距离"}]
}, {
typeCode: "0x00000020",
desc: "温度信息(默认关)",
children: [{typeCode: "0x00000001", desc: "框测温"}, {
typeCode: "0x00000002",
desc: "线测温"
}, {typeCode: "0x00000004", desc: "点测温"}]
}, {
typeCode: "0x00000040",
desc: "轨迹信息(默认关)",
children: [{typeCode: "0x00000001", desc: "人的轨迹信息"}, {typeCode: "0x00000002", desc: "车的轨迹信息"}]
}, {
typeCode: "0x00000080",
desc: "烟火屏蔽和废气监测(默认关)",
children: [{typeCode: "0x00000001", desc: "烟火屏蔽"}, {
typeCode: "0x00000002",
desc: "规则废气检测"
}, {typeCode: "0x00000004", desc: "目标废气检测"}]
}].forEach(function (t) {
1 === n.oPlayCtrl.PlayM4_RenderPrivateData(t.typeCode, s) ? s && t.children && 0 < t.children.length && t.children.forEach(function (e) {
1 !== n.oPlayCtrl.PlayM4_RenderPrivateDataEx(t.typeCode, e.typeCode, s) && (console.warn("trigger intelligence sub " + e.typeCode + " " + (s ? "open" : "close") + " failed"), i = 1)
}) : (console.warn("trigger intelligence main " + t.typeCode + " " + (s ? "open" : "close") + " failed"), i = 1)
}), e()
})
}
}, {
key: "_checkPlay", value: function (e) {
return e < 0 || e > this.iMaxWndNum - 1 ? (this._log.E(L.ERR_COM_PARAM + ": unexpected window index."), L.ERR_COM_PARAM) : this.aWndList[e].bPlay ? 0 : (this._log.E(L.ERR_COM_NOT_PLAYING + ": this window is not playing."), L.ERR_COM_NOT_PLAYING)
}
}, {
key: "_checkPlayback", value: function (e) {
var t = this._checkPlay(e);
return 0 === t && "realplay" === this.aWndList[e].szPlayType && (this._log.E(L.ERR_COM_NOT_PLAYBACK + ": this function was only supported by playback."), t = L.ERR_COM_NOT_PLAYBACK), t
}
}, {
key: "_createFlvPlayer", value: function (i) {
var r = this, a = this.aWndList[i],
e = (a.oMSE && (a.bPlay = !1, a.oMSE.detachMediaElement(), a.oMSE.destroy(), a.oMSE = null), this.oJSPlugin.find("video.play-window").eq(i)),
t = this.oJSPlugin.find("canvas.play-window").eq(i),
t = (e.show(), t.hide(), {isLive: !0, type: "flv"}),
n = (this.aWndList[i].mseDecoderAudio || (t = {hasAudio: !1, isLive: !0, type: "flv"}), !1), s = 3,
o = 2, t = (0 < a.szBufferSize && (n = !0, s = 5, o = 2), a.oMSE = c.default.createPlayer(t, {
enableWorker: this.options.mseWorkerEnable,
lazyLoadMaxDuration: 180,
seekType: "range",
isLive: !0,
enableStashBuffer: n,
autoCleanupMaxBackwardDuration: 60,
autoCleanupMinBackwardDuration: 30,
statisticsInfoReportInterval: 1e3,
enableDurationMonitor: !0,
lowLatencyThreshold: s,
decreaseDurationStep: o,
enableAudioGain: !1,
stashInitialSize: a.szBufferSize,
WDInfo: {index: i, pointSignNumber: a.pointSignNumber}
})), u = (t.on(b.default.ERROR, function (e, t, n) {
a.bFirstFrame ? (r._streamReset(i), window.console.warn("[iWndNum-" + i + "] PlayerEvents.ERROR mediaElement error,reset decoder:", e, t, n.code, n.message)) : ("MediaError" === e && "CodecUnsupported" === t ? r.oEventCallback.pluginErrorHandler(i, L.ERR_STREAM_CODEC_UNSUPPORTED, n.message) : r.oEventCallback.pluginErrorHandler(i, L.ERR_STREAM_DATA_ERROR, n.message), window.console.error("[iWndNum-" + i + "] PlayerEvents.ERROR mediaElement error,stop decoder:", e, t, n.code, n.message), r.JS_Stop(i))
}), t.on(b.default.MS_BUFFER_FULL, function () {
a.bFirstFrame ? (r._streamReset(i), window.console.warn("[iWndNum-" + i + "] media_source_buffer_full,reset decoder:")) : (r.oEventCallback.pluginErrorHandler(i, L.ERR_STREAM_MSE_DATA_FULL), r.JS_Stop(i), window.console.error("[iWndNum-" + i + "] media_source_buffer_full,stop decoder:"))
}), e.get(0)), d = this;
u.addEventListener("loadeddata", function e(t) {
console.info("[debug] [iWndNum-" + i + "] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c 硬解首帧已经加载,分辨率:" + a._videoInfo.width + "*" + a._videoInfo.height, "color: blue", "color: black", u.paused, u.autoplay), u.removeEventListener("loadeddata", e), a._emiter.emit("firstframeload"), u.poster = "", a.bFirstFrame = !0, u.addEventListener("error", function e(t) {
window.console.warn("[iWndNum-" + i + "] mediaElement error,reset decoder:", t.target.error), u.removeEventListener("error", e), d._streamReset(i)
}), d.oEventCallback.firstFrameDisplay(i, a._videoInfo.width, a._videoInfo.height)
}), a._receivedLength = 0, t.attachMediaElement(u), t.load(), a.bPlay = !0, a.asyncLock = !1, t.onParsedData = this._onParsedData.bind(this)
}
}, {
key: "_streamReset", value: function (e) {
var t = this.aWndList[e];
t.bFirstFrame && (t._resetFlvplayer = !1, t.bFirstFrame = !1, this._capturePoster(e), t.isFlv && (this._createFlvPlayer(e), t.oMSE.onLoaderChunkArrival(t.szFlvhead.buffer, t._receivedLength), t._receivedLength += t.szFlvhead.length, t._resetFlvplayer = !0))
}
}, {
key: "_capturePoster", value: function (e) {
var e = this.oJSPlugin.find("video.play-window").eq(e).get(0), t = e.videoWidth, n = e.videoHeight,
i = document.createElement("canvas"),
t = (i.width = t, i.height = n, i.getContext("2d").drawImage(e, 0, 0, t, n), i.toDataURL("image/JPEG"));
e.poster = t
}
}, {
key: "_createPlayCtrl", value: function (r) {
var e, a = this, s = this.aWndList[r],
o = (console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c _createPlayCtrl load start code", "color: blue", "color: black"), this._playCtrlLoad.bind(this));
this.oJSPlugin.find("video.play-window").eq(r).hide(), this.oJSPlugin.find("canvas.play-window").eq(r).show(), "2" === this._decoderVersion ? P && (s.oPlayCtrl = new u.JSPlayCtrl(this.options.szId + "_playCanvas" + r, P, function (e) {
e.instance;
var t = e.cmd, e = (e.data, e.errorCode, e.status);
"OnebyOne" === t && (e && s.isPause && (a.oStreamClient.resume(s.szStreamUUID), s.isPause = !1), e || s.isPause || (a.oStreamClient.pause(s.szStreamUUID), s.isPause = !0))
}, r), s.bLoad = !0, this._playCtrlLoad(r)) : (s.oPlayCtrl = new d.JSPlayCtrl(this.options.szBasePath + "playctrl1/", function (e) {
e.instance;
var t = e.cmd, n = e.errorCode, i = e.status;
switch (t) {
case"loaded":
console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c new JSDecoder1.0 received loaded message", "color: blue", "color: black"), s.bLoad || o(r), s.bLoad = !0;
break;
case"OnebyOne":
i && s.isPause && (a.oStreamClient.resume(s.szStreamUUID), s.isPause = !1), i || s.isPause || (a.oStreamClient.pause(s.szStreamUUID), s.isPause = !0);
break;
case"GetFrameData":
return void (16 === n && (a._closeStreamAndDestory(r), a.oEventCallback.pluginErrorHandler(r, L.ERR_STREAM_VIDEO_CODING)))
}
}, r), e = 4 === s.aHead[8] ? 0 : 1, s.oPlayCtrl.PlayM4_SetStreamOpenMode(e)), console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c _createPlayCtrl load end code", "color: blue", "color: black")
}
}, {
key: "_playCtrlLoad", value: function (e) {
var t = this.aWndList[e];
if ("2" === this._decoderVersion) {
var n = "realplay" === t.szPlayType ? 0 : 1, i = t.isHVAGHead ? t.aHVAGHead : t.aHead;
if (t.oPlayCtrl && t.oPlayCtrl.PlayM4_SetStreamOpenMode(n), t.oPlayCtrl && t.oPlayCtrl.PlayM4_OpenStream(i, 40, 8388608 + t.szBufferSize), 1 !== t.oPlayCtrl.PlayM4_Play()) return L.ERR_JSDECODER + t.oPlayCtrl.PlayM4_GetLastError().toString();
if ("reverse" === t.szPlayType && 1 !== t.oPlayCtrl.PlayM4_ReversePlay()) return L.ERR_JSDECODER + t.oPlayCtrl.PlayM4_GetLastError().toString();
t.bPlay = !0, t.oPlayCtrl.iBufferValue = t.oPlayCtrl.PlayM4_GetBufferValue(1), this._supportInfo.webGL2 && t.oPlayCtrl.PlayM4_SetAntialias(1)
} else {
if (t.oPlayCtrl && t.oPlayCtrl.PlayM4_OpenStream(t.aHead, 40, 2097152), t.oPlayCtrl && t.oPlayCtrl.PlayM4_SetInputBufSize(E), 1 !== t.oPlayCtrl.PlayM4_Play(this.options.szId + "_playCanvas" + e)) return L.ERR_JSDECODER + t.oPlayCtrl.PlayM4_GetLastError().toString();
t.bPlay = !0
}
return C.push({
port: t.oPlayCtrl.iPort,
belongWindowpoint: this,
belongWindowId: e
}), console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c call PlayM4_Play sucessed", "color: blue", "color: black"), 1
}
}, {
key: "sleep", value: function (e) {
for (var t = (new Date).getTime(); (new Date).getTime() - t < e;) ;
}
}, {
key: "_feedData", value: function (n, e) {
var t, i, r, a, s, o = this, u = e.type, d = e.statusString, e = e.buf, l = this.aWndList[n],
h = this.oEventCallback.pluginErrorHandler.bind(this), e = l.isGB ? this._stripRtpHead(e) : e;
l.isFlv ? l._resetFlvplayer ? 9 === new Uint8Array(e)[4] && (l.oMSE.onLoaderChunkArrival(e, l._receivedLength), l._receivedLength += e.byteLength, l._resetFlvplayer = !1) : (l.oMSE.onLoaderChunkArrival(e, l._receivedLength), l._receivedLength += e.byteLength) : "2" === this._decoderVersion ? (t = new Uint8Array(e), 1 === (t = l.oPlayCtrl.PlayM4_InputData(t, t.byteLength)) ? 0 !== l.iDecodeType && l.oPlayCtrl.PlayM4_GetSourceBufferRemain() < l.oPlayCtrl.iBufferValue / 2 && (l.oPlayCtrl.PlayM4_SetDecodeFrameType(0), l.iDecodeType = 0) : 11 === t ? 1 === l.iDecodeType || l.bFrameForward || (l.oPlayCtrl.PlayM4_SetDecodeFrameType(1), l.iDecodeType = 1, this.oEventCallback.performanceLack()) : this.oEventCallback.pluginErrorHandler(n, L.ERR_JSDECODER + l.oPlayCtrl.PlayM4_GetLastError().toString(), "PlayM4_InputData oError"), l.bFirstFrame || l.oPlayCtrl && l.oPlayCtrl.PlayM4_GetFrameInfo(function (e) {
var t = o._getWndIndexFromPort(e.port);
e.width && e.height && t === n && (l.bFirstFrame = !0, l.oPlayCtrl.iYUVWidth = e.width, l.oPlayCtrl.iYUVHeight = e.height, o._getOSDTime(n, e.year, e.month, e.day, e.hour, e.minute, e.second), l._videoInfo.height = e.height, l._videoInfo.width = e.width, l._videoInfo.frameRate = e.frameRate, l._emiter.emit("firstframeload"), o.oEventCallback.firstFrameDisplay(n, l.oPlayCtrl.iYUVWidth, l.oPlayCtrl.iYUVHeight), t = "chrome" === o._browserInfo.supporter && 90 < parseInt(o._browserInfo.supporterVersion.split(".").shift()) ? "3" : "2", console.info("[debug] [iWndNum-" + n + "] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c jsdecoder" + t + ".0软解首帧已经加载,分辨率:" + l._videoInfo.width + "*" + l._videoInfo.height, "color: blue", "color: black"), l.oPlayCtrl.PlayM4_SetDisplayBuf(6))
})) : (t = new Uint8Array(e), i = l.oPlayCtrl, 2 !== (s = l.oPlayCtrl && i.PlayM4_GetYUVBufSize()) || l.bFirstFrame || (l.bFirstFrame = !0, l.oPlayCtrl && i.PlayM4_GetFrameResolution(function (e, t) {
l._videoInfo.height = t, l._videoInfo.width = e, l._emiter.emit("firstframeload"), o.oEventCallback.firstFrameDisplay(n, e, t), console.info("[debug] [iWndNum-" + n + "]%c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c jsdecoder1.0软解首帧已经加载,分辨率:" + e + "*" + t, "color: blue", "color: black")
})), r = l.oPlayCtrl && i.PlayM4_GetInputBufSize(), a = l.oPlayCtrl && i.PlayM4_GetDecodeFrameType(), .5 * E < r && r < .8 * E && 1 === l.iRate && (1 === a || l.bFrameForward || (l.oPlayCtrl && i.PlayM4_SetDecodeFrameType(1), this.oEventCallback.performanceLack())), 10 < s && s < 15 && (1 === a || l.bFrameForward || (l.oPlayCtrl && i.PlayM4_SetDecodeFrameType(1), this.oEventCallback.performanceLack())), s < 10 && r < .5 * E && 0 !== a && 1 === l.iRate && l.oPlayCtrl && i.PlayM4_SetDecodeFrameType(0), d ? (this._closeStreamAndDestory(n), h(n, L.ERR_STREAM_TRANS, d)) : u && "exception" === u ? (this._closeStreamAndDestory(n), h(n, L.ERR_STREAM_PLAYBACK_END, u)) : l.oPlayCtrl && l.oPlayCtrl.PlayM4_InputData(t, t.byteLength)), l.szStorageUUID && 0 === l.iMode && this.oStorageManager.inputData(l.szStorageUUID, e), this.aWndList[n]._bpsCalculator && this.aWndList[n]._bpsInfo && (this.aWndList[n]._bpsInfo.lastVideoBytes += e.byteLength, 0 !== this.aWndList[n]._bpsInfo.data_updated_time && (s = (s = (Date.now() - this.aWndList[n]._bpsInfo.data_updated_time) / 1e3) < 1 ? 1 : Math.round(s), this.aWndList[n]._bpsInfo.time_gap_factor = s), this.aWndList[n]._bpsInfo.data_updated_time = Date.now())
}
}, {
key: "_closeStreamAndDestory", value: (D = (0, v.default)(y.default.mark(function e(t) {
var n, i;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if ((n = this.aWndList[t]).szStreamUUID) return e.prev = 2, e.next = 5, this.oStreamClient.stop(n.szStreamUUID);
e.next = 11;
break;
case 5:
e.next = 10;
break;
case 7:
e.prev = 7, e.t0 = e.catch(2), console.warn(e.t0);
case 10:
n.szStreamUUID = "";
case 11:
n.bPlay = !1, n.iRate = 1, n.isGB = !1, n.bFrameForward = !1, n.iGlobalBaseTime = 0, this.aWndList[t].iCurentOSDTime = -1, n.isFlv && n.oMSE ? (n.oMSE.destroy && n.oMSE.destroy(), n.oMSE = null, n.isFlv = !1, n.iMode = 0, n._receivedLength = 0, this.oJSPlugin.find("video.play-window").eq(t).get(0).poster = "") : n.oPlayCtrl && ("1" === this._decoderVersion ? n.oPlayCtrl.PlayM4_Destroy() : (this._supportInfo.webGL2 && n.oPlayCtrl.PlayM4_SetAntialias(0), n.oPlayCtrl.PlayM4_Stop(), i = C.findIndex(function (e) {
return e.port === n.oPlayCtrl.iPort
}), C.splice(i, 1), n.AdditionDataCB = null), n.oPlayCtrl = null, n.bLoad = !1);
case 18:
case"end":
return e.stop()
}
}, e, this, [[2, 7]])
})), function (e) {
return D.apply(this, arguments)
})
}, {
key: "_onParsedData", value: function (e, t, n) {
switch (t) {
case 1:
this.aWndList[n].szStorageUUID && this.oStorageManager.inputData(this.aWndList[n].szStorageUUID, e);
break;
case 2:
var i;
this.aWndList[n]._osdtimeInfo = e, 0 === this.aWndList[n]._osdtimeInfo.globalTime ? this.aWndList[n].iCurentOSDTime = this.aWndList[n]._osdtimeInfo.flvduration + this.aWndList[n].iGlobalBaseTime : (i = "ios" === this._browserInfo._system || f.oTool.isEdge() ? "/" : " ", i = Date.parse(this.aWndList[n]._osdtimeInfo.globalTime.replace(/-/g, i)), this.aWndList[n].iCurentOSDTime = new Date(i).getTime());
break;
case 3:
this.aWndList[n]._videoInfo = e;
break;
case 4:
break;
case 5:
this.aWndList[n].szFlvhead = e.slice(0, e.byteLength - 4);
break;
case 11:
this.aWndList[n].bPlay && this.aWndList[n].bFirstFrame && this._streamReset(n)
}
}
}, {
key: "_captureAudio", value: function (e, t, b, w, n) {
var i, D = this, r = window.navigator, T = new (window.AudioContext || window.webkitAudioContext);
new m.default((i = (0, v.default)(y.default.mark(function e(k, t) {
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
void 0 === r.mediaDevices && (r.mediaDevices = {}), void 0 === r.mediaDevices.getUserMedia && (r.mediaDevices.getUserMedia = function (e) {
if (!(r.getUserMedia || r.webkitGetUserMedia || r.mozGetUserMedia || r.msGetUserMedia)) return m.default.reject(new Error("getUserMedia is not implemented in this browser"))
}), r.mediaDevices.getUserMedia({audio: !0}).then(function (g) {
if (!D.bTalkLoaded) return g.getTracks().forEach(function (e) {
e.stop()
}), k();
var M = T.createMediaStreamSource(g), e = M.context,
L = e.createScriptProcessor(512, 1, 1), S = [];
L.onaudioprocess = function (e) {
if (!D.bTalkLoaded && !D._audionodeClose) return D._audionodeClose = !0, M.disconnect(L), L.disconnect(T.destination), g.getTracks().forEach(function (e) {
e.stop()
}), k();
for (var t = e.inputBuffer.getChannelData(0), n = 48e3 / b, i = t.length / n, r = new window.Float32Array(i), a = 0, s = 0; a < i;) r[a] = t[s], s += n, a++;
var e = r.length, o = null;
if (16 === w) for (var u = new window.ArrayBuffer(2 * e), o = new window.DataView(u), d = 0, l = 0; l < r.length; l++, d += 2) {
var h = Math.max(-1, Math.min(1, r[l]));
o.setInt16(d, h < 0 ? 32768 * h : 32767 * h, !0)
} else if (8 === w) for (var u = new window.ArrayBuffer(e), c = (o = new window.DataView(u), 0), _ = 0; _ < r.length; _++, c++) {
var f = Math.max(-1, Math.min(1, r[_])), f = f < 0 ? 32768 * f : 32767 * f,
f = parseInt(255 / (65535 / (32768 + f)), 10);
o.setInt8(c, f, !0)
}
if (D.bTalkLoaded && null !== o.buffer) for (var m = new Uint8Array(o.buffer), p = S.length, y = 0, v = m.byteLength; y < v; y++) S[p++] = m[y], 640 === S.length && (D.bTalkLoaded && D.oTalkPlayCtrl.Talk_InputAudEncodeData(new Uint8Array(S), 640), p = S.length = 0)
}, M.connect(L), L.connect(e.destination)
}, function (e) {
return D.oEventCallback.pluginErrorHandler(0, L.ERR_TALK_GETUSERMEDIA_UNDEFINE), D._log.E(L.ERR_TALK_GETUSERMEDIA_UNDEFINE + ": 采集音频接口失败", e), D.JS_StopTalk(), t(L.ERR_TALK_GETUSERMEDIA_UNDEFINE)
});
case 3:
case"end":
return e.stop()
}
}, e, D)
})), function (e, t) {
return i.apply(this, arguments)
}))
}
}, {
key: "_loadTalk", value: function (a) {
var s = this, o = void 0, u = void 0, d = void 0, l = void 0, h = void 0, c = "", _ = "", f = "";
return new m.default(function (t, i) {
var e, n, r;
c = -1 !== a.search("wss://") ? (e = a.indexOf("/proxy/") + 7, n = a.indexOf("/", e), _ = a.substring(e, n), a.replace("wss:", "ws:").replace(_, "").replace("/proxy/", "")) : a, s.oStreamClient.openStream(a, {
playURL: c,
proxy: _,
mode: "media"
}, (r = (0, v.default)(y.default.mark(function e(t) {
var n;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if (!t.bHead) {
e.next = 16;
break
}
o = t.oParams.iAudioType, u = t.oParams.iAudioBitRate, d = t.oParams.iAudioSamplingRate, l = t.oParams.iAudioBitWidth, h = t.oParams.iChannel, 6 < o && (s.oEventCallback.pluginErrorHandler(0, L.ERR_TALK_UNSUPPORT_AUDIOTYPE), s._log.E(L.ERR_TALK_UNSUPPORT_AUDIOTYPE + ": 不支持该音频格式"), s.JS_StopTalk(), i(L.ERR_TALK_UNSUPPORT_AUDIOTYPE)), s.oTalkPlayCtrl.Talk_CreateAudEncode(o), s.oTalkPlayCtrl.Talk_SetAudEncodeParam(d, h, u, l), s.oTalkPlayCtrl.Talk_RegisterAudEncodeCB(function (e) {
s.oStreamClient.transmission(f, e)
}), s.oTalkPlayCtrl.Talk_CreateAuDecode(), s.oTalkPlayCtrl.Talk_SetAudDecodeParam(d, h, u, l, o), s.oTalkPlayCtrl.Talk_OpenStreamDecodeData(), 1 !== s.oTalkPlayCtrl.Talk_GetLastError() && (n = L.ERR_TALK + s.oTalkPlayCtrl.Talk_GetLastError().toString(), s._log.E(n + ": 对讲库初始化失败", n), s.oEventCallback.pluginErrorHandler(0, n), s.JS_StopTalk(), i(n)), e.next = 19;
break;
case 16:
if (t.buf.byteLength < 10) return e.abrupt("return");
e.next = 18;
break;
case 18:
s.oTalkPlayCtrl && s.oTalkPlayCtrl.Talk_InputAudDecodeData(t.buf, t.buf.byteLength);
case 19:
case"end":
return e.stop()
}
}, e, s)
})), function (e) {
return r.apply(this, arguments)
}), function (e) {
if (s.bTalkLoaded) 1e3 === e.code || 1005 === e.code ? (s._log.E(L.ERR_STREAM_CONNECT_CLOSED + ": 送流异常,被后端关闭连接"), s.oEventCallback.pluginErrorHandler(0, L.ERR_STREAM_CONNECT_CLOSED, e)) : (s._log.E(L.ERR_STREAM_INTERRUPT + ": 流中断"), s.oEventCallback.pluginErrorHandler(0, L.ERR_STREAM_INTERRUPT, e)), s.szTalkStreamId = "", s.JS_StopTalk(); else {
if (1e3 === e.code || 1005 === e.code) return t();
s.szTalkStreamId ? (s.oEventCallback.pluginErrorHandler(0, L.ERR_COM_RECV_STREAM_TIMEOUT, e), s.szTalkStreamId = "", i(L.ERR_COM_RECV_STREAM_TIMEOUT)) : 1006 === e.code && -1 !== c.search("wss://") ? (s.oEventCallback.pluginErrorHandler(0, L.ERR_STREAM_WSS_ERROR, e), i(L.ERR_STREAM_WSS_ERROR)) : (s.oEventCallback.pluginErrorHandler(0, L.ERR_STREAM_WS_ERROR, e), i(L.ERR_STREAM_WS_ERROR))
}
}).then(function (e) {
s.szTalkStreamId = e, f = e, s.oStreamClient.startPlay(e, "", "", "startTalk").then(function () {
s._captureAudio(o, u, d, l, h), t()
}, function (e) {
e = "0x0" + e.errorCode.toString(16);
s._log.E(e + ": 取流失败,详情根据错误码在运管后台进行查询."), s.oEventCallback.pluginErrorHandler(0, e), i(e)
})
}, function (e) {
s._log.E(L.ERR_STREAM_INTERRUPT + ": 对讲通道异常中断."), s.oEventCallback.pluginErrorHandler(0, L.ERR_STREAM_INTERRUPT, e), s.JS_StopTalk()
})
})
}
}, {
key: "JS_StartTalk", value: function (r) {
var n, a = this;
return this._audionodeClose = !1, new m.default((n = (0, v.default)(y.default.mark(function e(n, t) {
var i;
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if ("string" != typeof r || -1 === r.search("wss://") && -1 === r.search("ws://")) return e.abrupt("return", t(L.ERR_COM_URL_ERROR));
e.next = 2;
break;
case 2:
i = "", i = "2" === a._decoderVersion ? a.options.szBasePath + "talkW/AudioInterCom.js" : a.options.szBasePath + "talk/AudioInterCom.js", null === a.oTalkPlayCtrl ? a.oTalkPlayCtrl = new o.JSTalkCtrl(i, function (e) {
var t = e.cmd;
e.status, e.errorCode;
"loaded" === t && (a.bTalkLoaded = !0, a._loadTalk(r), console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c oTalkPlayCtrl load end code", "color: blue", "color: black"), n())
}) : a.JS_StopTalk().then(function () {
a.oTalkPlayCtrl = new o.JSTalkCtrl(i, function (e) {
var t = e.cmd;
e.status, e.errorCode;
"loaded" === t && (a._loadTalk(r), console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c oTalkPlayCtrl load end code", "color: blue", "color: black"), n())
})
});
case 5:
case"end":
return e.stop()
}
}, e, a)
})), function (e, t) {
return n.apply(this, arguments)
}))
}
}, {
key: "JS_StopTalk", value: function () {
var n = this;
return new m.default(function (e, t) {
n.bTalkLoaded = !1, n.szTalkStreamId && (n.oStreamClient.stop(n.szTalkStreamId), n.szTalkStreamId = ""), n.oTalkPlayCtrl && (n.oTalkPlayCtrl.Talk_DestroyAudEncode(), n.oTalkPlayCtrl.Talk_DestroyAudDecode(), n.oTalkPlayCtrl = null, e())
})
}
}, {
key: "JS_TalkSetVolume", value: function (n) {
var i = this;
return new m.default(function (e, t) {
i.oTalkPlayCtrl && 0 === i.oTalkPlayCtrl.Talk_SetVolume(n / 100) ? t(i.oTalkPlayCtrl.Talk_GetLastError() + L.ERR_TALK) : e()
})
}
}, {
key: "JS_TalkGetVolume", value: function () {
var e = this;
return new m.default(function (t) {
e.oTalkPlayCtrl && e.oTalkPlayCtrl.Talk_GetVolume(function (e) {
e = Math.round(100 * e);
t(e)
})
})
}
}, {
key: "JS_SetTalkLogFlag", value: function (t) {
var n = this;
return new m.default(function (e) {
n.oTalkPlayCtrl && n.oTalkPlayCtrl.Talk_SetTalkLogFlag(t), e()
})
}
}, {
key: "JS_GetVideoInfo", value: function () {
var i = this, r = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (e, t) {
(r < 0 || r > i.iMaxWndNum - 1 || "number" != typeof r) && (r = i.iCurrentWndIndex);
var n = i._checkPlay(r);
0 !== n && t(n), e(i.aWndList[r]._videoInfo)
})
}
}, {
key: "JS_SetConnectTimeOut", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, r = arguments[1];
return new m.default(function (e, t) {
(i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), n.oStreamClient.setTimeOut(r).then(function () {
e()
}, function (e) {
t(e)
})
})
}
}, {
key: "JS_SetAdditionDataCB", value: function () {
var n = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, i = this, r = arguments[1],
a = arguments[2];
return new m.default(function (e, t) {
(n < 0 || n > i.iMaxWndNum - 1 || "number" != typeof n) && (n = i.iCurrentWndIndex), i.aWndList[n].oPlayCtrl.PlayM4_SetAdditionDataCallBack(r, 1), i.aWndList[n].AdditionDataCB = a, e()
})
}
}, {
key: "JS_SetStreamCacheBuf", value: function () {
var n = this, i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, r = arguments[1];
return new m.default(function (e, t) {
(i < 0 || i > n.iMaxWndNum - 1 || "number" != typeof i) && (i = n.iCurrentWndIndex), (r < 0 || 5242880 < r) && (r = 5242880, n._log.E(L.ERR_STREAM_BUFER_ERROR + ": JS_SetStreamCacheBuf size invaildplease set 0-5*1024*1024."), t(L.ERR_STREAM_BUFER_ERROR)), n.aWndList[i].szBufferSize = r, e()
})
}
}, {
key: "JS_SetTraceId", value: function () {
var t = this, n = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1, i = arguments[1];
return new m.default(function (e) {
(n < 0 || n > t.iMaxWndNum - 1 || "number" != typeof n) && (n = t.iCurrentWndIndex), t.aWndList[n].bopenTraceId = i, e()
})
}
}, {
key: "JS_GetTraceId", value: function () {
var t = this, n = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : -1;
return new m.default(function (e) {
(n < 0 || n > t.iMaxWndNum - 1 || "number" != typeof n) && (n = t.iCurrentWndIndex), e(t.aWndList[n].szTraceId)
})
}
}, {
key: "_support", value: function () {
var e = !!window.MediaSource, t = !!window.WebGLRenderingContext, n = !!window.WebGL2RenderingContext,
i = !!window.SharedArrayBuffer, r = !!window.OffscreenCanvas,
a = !("windows" === this._browserInfo.system && "chrome" === this._browserInfo.supporter && parseInt(this._browserInfo.supporterVersion.split(".").shift()) < 80),
s = "android" !== this._browserInfo.system && "ios" !== this._browserInfo.system;
return {
MSE: e,
webGL1: t,
webGL2: n,
SharedArrayBuffer: i,
OffscreenCanvas: r,
"decoder1.0": t,
"decoder2.0": t && i && r && a && s
}
}
}, {
key: "_decoder2Loaded", value: function () {
return new m.default(function (e, t) {
var n = 0, i = window.setInterval(function () {
4e3 <= n && (clearInterval(i), t(L.ERR_COM_LOAD_JSDECODER_ERROR)), P && (clearInterval(i), console.log("clearInterval"), e(1)), n += 100
}, 100)
})
}
}, {
key: "_calculateRealtimeBitrate", value: function (e) {
this.aWndList[e]._bpsInfo && (this.aWndList[e]._bpsInfo.time_gap_factor < 1 && (this._bpsInfo.time_gap_factor = 1), 0 !== this.aWndList[e]._bpsInfo.lastVideoBytes && (this.aWndList[e]._bpsInfo.bps_video = 8 * this.aWndList[e]._bpsInfo.lastVideoBytes / 1024 / this.aWndList[e]._bpsInfo.time_gap_factor, this.aWndList[e]._bpsInfo.lastVideoBytes = 0), this.aWndList[e]._videoInfo.bitRate = this.aWndList[e]._bpsInfo.bps_video)
}
}, {
key: "_loadScript", value: function (n) {
return new m.default(function (e) {
var t = document.createElement("script");
t.type = "text/javascript", t.src = n, t.onload = function () {
e()
}, document.body.appendChild(t)
})
}
}, {
key: "_playerlocalFile", value: function (e, t) {
var n = this.aWndList[e];
n.iMode = 1, n.isFlv = !0, n.bPlay || this._createFlvPlayer(e), n.oMSE.onLoaderChunkArrival(t, n._receivedLength), n._receivedLength += t.byteLength
}
}, {
key: "uuid2", value: function (e, t) {
var n, i, r = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), a = [];
if (t = t || r.length, e) for (n = 0; n < e; n++) a[n] = r[0 | Math.random() * t]; else for (a[8] = a[13] = a[18] = a[23] = "-", a[14] = "4", n = 0; n < 36; n++) a[n] || (i = 0 | 16 * Math.random(), a[n] = r[19 === n ? 3 & i | 8 : i]);
return a.join("")
}
}, {
key: "currentWindowIndex", get: function () {
return this.iCurrentWndIndex
}
}, {
key: "fileSysSwitch", set: function (e) {
if ("boolean" != typeof e) return console.error("fileSysSwitch set should get a Boolean");
this._fileSysSwitch = e
}
}]), R);
function R(e) {
var t = this, n = ((0, a.default)(this, R), this.TAG = "H5player", this.options = g.default.extend({
szId: "playWnd",
iWidth: 400,
iHeight: 300,
iMaxSplit: 1,
iCurrentSplit: 1,
szBasePath: "./",
bSupporDoubleClickFull: !0,
openDebug: !0,
mseWorkerEnable: !1
}, e), {borderWidth: 1, border: "#343434", borderSelect: "#FFCC00", background: "#000"}),
n = g.default.extend(n, e.oStyle);
this.options.oStyle = n, this._log = new k.default(this), this.e = {
resize: this._eventHandlerResize.bind(this),
fullscreenchange: this._eventHandlerFullscreenchange.bind(this),
visibilitychange: this._eventHandlerVisibilitychange.bind(this)
}, this.options.iCurrentSplit > this.options.iMaxSplit && (this.options.iCurrentSplit = this.options.iMaxSplit), this.iCurrentPlayRate = 1, this.iCurrentSoundWnd = -1, this.iMaxWndNum = this.options.iMaxSplit * this.options.iMaxSplit, this.bPluginFull = !1, this.oVideoWindow = null, this.fullscreenElement = null, this.iCurrentWndIndex = -1, this.fDrawCallback = null, this.szPluginVersion = w.version, this.isBrowserVisible = !0, this._decoderVersion = "1", "/" !== this.options.szBasePath.charAt(this.options.szBasePath.length - 1) && (this.options.szBasePath = this.options.szBasePath + "/"), this.oStorageManager = new l.StorageManager(this.options.szBasePath + "transform/"), this.oStreamClient = new s.StreamClient(this.options), this.oJSPlugin = (0, g.default)("#" + this.options.szId), this.bcloseAntialias = !1, this._listenBrowserVisibility(), this._createWindows(), this.aWndList = [];
for (var i, r = 0; r < this.iMaxWndNum; r++) this.aWndList[r] = {}, this.aWndList[r].bPlay = !1, this.aWndList[r].bLoad = !1, this.aWndList[r].stashArray = [], this.aWndList[r].stashFeeding = !1, this.aWndList[r].szPlayType = "", this.aWndList[r].szStorageUUID = "", this.aWndList[r].szStreamUUID = "", this.aWndList[r].aHead = [], this.aWndList[r].isGB = !1, this.aWndList[r].isHVAGHead = !1, this.aWndList[r].aHVAGHead = [], this.aWndList[r].iRate = 1, this.aWndList[r].bEZoom = !1, this.aWndList[r].b3DZoom = !1, this.aWndList[r].szSecretKey = "", this.aWndList[r].bFrameForward = !1, this.aWndList[r].aSamples = [], this.aWndList[r].iRevBufferTimes = 0, this.aWndList[r].nalPackage = [0, 0, 0, 1, 97], this.aWndList[r].iMode = 0, this.aWndList[r].iCurentOSDTime = -1, this.aWndList[r].oSdpInfo = {}, this.aWndList[r].iLastDuaration = -1, this.aWndList[r].iCurDuaration = -1, this.aWndList[r].iTimeInterval = -1, this.aWndList[r].isPause = !1, this.aWndList[r].MSEVolume = .5, this.aWndList[r].iBufferValue = 0, this.aWndList[r]._videoInfo = {
VideType: "H264",
audioType: "without",
width: 0,
height: 0,
frameRate: 25,
bitRate: 0,
systemFormt: "ps",
audioSampleRate: 0
}, this.aWndList[r].asyncLock = !1, this.aWndList[r].AdditionDataCB = null, this.aWndList[r].bFirstFrame = !1, this.aWndList[r].iDecodeType = 0, this.aWndList[r]._bpsCalculator = null, this.aWndList[r]._bpsInfo = {
lastVideoBytes: 0,
bps_video: 0,
data_updated_time: 0,
time_gap_factor: 1
}, this.aWndList[r]._emiter = new M.default, this.aWndList[r].bOpenSound = !1, this.aWndList[r].szFlvhead = "", this.aWndList[r]._resetFlvplayer = !1, this.aWndList[r]._osdtimeInfo = {
flvstartTime: 0,
globalTime: 0,
flvduration: 0
}, this.aWndList[r].szBufferSize = 0, this.aWndList[r].iGlobalBaseTime = 0, this.aWndList[r].mseDecoderAudio = !0, this.aWndList[r].szTraceId = "", this.aWndList[r].bopenTraceId = !1;
this.oTalkPlayCtrl = null, this.szTalkStreamId = "", this.bTalkLoaded = !1, this.szAudioStorageUUID = "", this.szEncodeAudioStorageUUID = "", this.szAudiorecvStorageUUID = "", this._audionodeClose = !1, this._browserInfo = new S.default, this._supportInfo = this._support(), console.log("H5player" + w.version + " Support: ", this._supportInfo, this._browserInfo), this._decoderVersion = this._supportInfo["decoder2.0"] ? "2" : "1", "2" !== this._decoderVersion || P || Y || (i = "chrome" === this._browserInfo.supporter && 90 < parseInt(this._browserInfo.supporterVersion.split(".").shift()) ? "3" : "2", e = this.options.szBasePath + "playctrl" + i + "/Decoder.js", Y = !0, this._loadScript(e).then((0, v.default)(y.default.mark(function e() {
return y.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
return Y = !1, e.next = 3, window.JSPlayerModule();
case 3:
P = e.sent, console.info("[debug] %c" + (0, _.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c JSDecoder" + i + " load end ", "color: blue", "color: black");
case 5:
case"end":
return e.stop()
}
}, e, t)
})))), this.oDrawCanvas = new h.ESCanvas(this.options.szId + "_canvas_draw0"), this._initEvent(), this.oEventCallback.windowEventSelect(0), this._dealWndSelect(0)
}
n.version = w.version, t.JSPlugin = n
}, function (e, t, n) {
n(67), n(41), n(75), n(245), n(253), n(254), e.exports = n(3).Promise
}, function (e, t, n) {
var a = n(42), s = n(43);
e.exports = function (r) {
return function (e, t) {
var n, e = String(s(e)), t = a(t), i = e.length;
return t < 0 || i <= t ? r ? "" : void 0 : (n = e.charCodeAt(t)) < 55296 || 56319 < n || t + 1 === i || (i = e.charCodeAt(t + 1)) < 56320 || 57343 < i ? r ? e.charAt(t) : n : r ? e.slice(t, t + 2) : i - 56320 + (n - 55296 << 10) + 65536
}
}
}, function (e, t, n) {
"use strict";
var i = n(46), r = n(28), a = n(36), s = {};
n(17)(s, n(7)("iterator"), function () {
return this
}), e.exports = function (e, t, n) {
e.prototype = i(s, {next: r(1, n)}), a(e, t + " Iterator")
}
}, function (e, t, n) {
var s = n(12), o = n(13), u = n(30);
e.exports = n(14) ? Object.defineProperties : function (e, t) {
o(e);
for (var n, i = u(t), r = i.length, a = 0; a < r;) s.f(e, n = i[a++], t[n]);
return e
}
}, function (e, t, n) {
var u = n(19), d = n(47), l = n(241);
e.exports = function (o) {
return function (e, t, n) {
var i, r = u(e), a = d(r.length), s = l(n, a);
if (o && t != t) {
for (; s < a;) if ((i = r[s++]) != i) return !0
} else for (; s < a; s++) if ((o || s in r) && r[s] === t) return o || s || 0;
return !o && -1
}
}
}, function (e, t, n) {
var i = n(42), r = Math.max, a = Math.min;
e.exports = function (e, t) {
return (e = i(e)) < 0 ? r(e + t, 0) : a(e, t)
}
}, function (e, t, n) {
"use strict";
var i = n(243), r = n(244), a = n(29), s = n(19);
e.exports = n(68)(Array, "Array", function (e, t) {
this._t = s(e), this._i = 0, this._k = t
}, function () {
var e = this._t, t = this._k, n = this._i++;
return !e || n >= e.length ? (this._t = void 0, r(1)) : r(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]])
}, "values"), a.Arguments = a.Array, i("keys"), i("values"), i("entries")
}, function (e, t) {
e.exports = function () {
}
}, function (e, t) {
e.exports = function (e, t) {
return {value: t, done: !!e}
}
}, function (O, I, n) {
"use strict";
function i() {
}
var t, r, a, s, o = n(27), c = n(6), u = n(22), e = n(76), d = n(8), l = n(16), h = n(34), _ = n(246),
f = n(247), m = n(80), p = n(81).set, y = n(249)(), v = n(51), g = n(82), M = n(250), L = n(83),
S = "Promise", k = c.TypeError, b = c.process, w = b && b.versions, D = w && w.v8 || "", T = c[S],
E = "process" == e(b), Y = r = v.f, w = !!function () {
try {
var e = T.resolve(1), t = (e.constructor = {})[n(7)("species")] = function (e) {
e(i, i)
};
return (E || "function" == typeof PromiseRejectionEvent) && e.then(i) instanceof t && 0 !== D.indexOf("6.6") && -1 === M.indexOf("Chrome/66")
} catch (e) {
}
}(), P = function (e) {
var t;
return !(!l(e) || "function" != typeof (t = e.then)) && t
}, C = function (h, n) {
var i;
h._n || (h._n = !0, i = h._c, y(function () {
for (var r, d = h._v, l = 1 == h._s, e = 0, t = function (e) {
var t, n, i, r, a = l ? e.ok : e.fail, s = e.resolve, o = e.reject, u = e.domain;
try {
a ? (l || (2 == h._h && (r = h, p.call(c, function () {
var e;
E ? b.emit("rejectionHandled", r) : (e = c.onrejectionhandled) && e({
promise: r,
reason: r._v
})
})), h._h = 1), !0 === a ? t = d : (u && u.enter(), t = a(d), u && (u.exit(), i = !0)), t === e.promise ? o(k("Promise-chain cycle")) : (n = P(t)) ? n.call(t, s, o) : s(t)) : o(d)
} catch (e) {
u && !i && u.exit(), o(e)
}
}; i.length > e;) t(i[e++]);
h._c = [], h._n = !1, n && !h._h && (r = h, p.call(c, function () {
var e, t, n = r._v, i = R(r);
if (i && (e = g(function () {
E ? b.emit("unhandledRejection", n, r) : (t = c.onunhandledrejection) ? t({
promise: r,
reason: n
}) : (t = c.console) && t.error && t.error("Unhandled promise rejection", n)
}), r._h = E || R(r) ? 2 : 1), r._a = void 0, i && e.e) throw e.v
}))
}))
}, R = function (e) {
return 1 !== e._h && 0 === (e._a || e._c).length
}, A = function (e) {
var t = this;
t._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), C(t, !0))
}, x = function (e) {
var n, i = this;
if (!i._d) {
i._d = !0, i = i._w || i;
try {
if (i === e) throw k("Promise can't be resolved itself");
(n = P(e)) ? y(function () {
var t = {_w: i, _d: !1};
try {
n.call(e, u(x, t, 1), u(A, t, 1))
} catch (e) {
A.call(t, e)
}
}) : (i._v = e, i._s = 1, C(i, !1))
} catch (e) {
A.call({_w: i, _d: !1}, e)
}
}
};
w || (T = function (e) {
_(this, T, S, "_h"), h(e), t.call(this);
try {
e(u(x, this, 1), u(A, this, 1))
} catch (e) {
A.call(this, e)
}
}, (t = function (e) {
this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1
}).prototype = n(251)(T.prototype, {
then: function (e, t) {
var n = Y(m(this, T));
return n.ok = "function" != typeof e || e, n.fail = "function" == typeof t && t, n.domain = E ? b.domain : void 0, this._c.push(n), this._a && this._a.push(n), this._s && C(this, !1), n.promise
}, catch: function (e) {
return this.then(void 0, e)
}
}), a = function () {
var e = new t;
this.promise = e, this.resolve = u(x, e, 1), this.reject = u(A, e, 1)
}, v.f = Y = function (e) {
return e === T || e === s ? new a : r(e)
}), d(d.G + d.W + d.F * !w, {Promise: T}), n(36)(T, S), n(252)(S), s = n(3)[S], d(d.S + d.F * !w, S, {
reject: function (e) {
var t = Y(this);
return (0, t.reject)(e), t.promise
}
}), d(d.S + d.F * (o || !w), S, {
resolve: function (e) {
return L(o && this === s ? T : this, e)
}
}), d(d.S + d.F * !(w && n(84)(function (e) {
T.all(e).catch(i)
})), S, {
all: function (e) {
var s = this, t = Y(s), o = t.resolve, u = t.reject, n = g(function () {
var i = [], r = 0, a = 1;
f(e, !1, function (e) {
var t = r++, n = !1;
i.push(void 0), a++, s.resolve(e).then(function (e) {
n || (n = !0, i[t] = e, --a || o(i))
}, u)
}), --a || o(i)
});
return n.e && u(n.v), t.promise
}, race: function (e) {
var t = this, n = Y(t), i = n.reject, r = g(function () {
f(e, !1, function (e) {
t.resolve(e).then(n.resolve, i)
})
});
return r.e && i(r.v), n.promise
}
})
}, function (e, t) {
e.exports = function (e, t, n, i) {
if (!(e instanceof t) || void 0 !== i && i in e) throw TypeError(n + ": incorrect invocation!");
return e
}
}, function (e, t, n) {
var h = n(22), c = n(77), _ = n(78), f = n(13), m = n(47), p = n(79), y = {}, v = {};
(t = e.exports = function (e, t, n, i, r) {
var a, s, o, u, r = r ? function () {
return e
} : p(e), d = h(n, i, t ? 2 : 1), l = 0;
if ("function" != typeof r) throw TypeError(e + " is not iterable!");
if (_(r)) {
for (a = m(e.length); l < a; l++) if ((u = t ? d(f(s = e[l])[0], s[1]) : d(e[l])) === y || u === v) return u
} else for (o = r.call(e); !(s = o.next()).done;) if ((u = c(o, d, s.value, t)) === y || u === v) return u
}).BREAK = y, t.RETURN = v
}, function (e, t) {
e.exports = function (e, t, n) {
var i = void 0 === n;
switch (t.length) {
case 0:
return i ? e() : e.call(n);
case 1:
return i ? e(t[0]) : e.call(n, t[0]);
case 2:
return i ? e(t[0], t[1]) : e.call(n, t[0], t[1]);
case 3:
return i ? e(t[0], t[1], t[2]) : e.call(n, t[0], t[1], t[2]);
case 4:
return i ? e(t[0], t[1], t[2], t[3]) : e.call(n, t[0], t[1], t[2], t[3])
}
return e.apply(n, t)
}
}, function (e, t, n) {
var o = n(6), u = n(81).set, d = o.MutationObserver || o.WebKitMutationObserver, l = o.process, h = o.Promise,
c = "process" == n(31)(l);
e.exports = function () {
function e() {
var e, t;
for (c && (e = l.domain) && e.exit(); n;) {
t = n.fn, n = n.next;
try {
t()
} catch (e) {
throw n ? r() : i = void 0, e
}
}
i = void 0, e && e.enter()
}
var n, i, t, r, a, s;
return r = c ? function () {
l.nextTick(e)
} : !d || o.navigator && o.navigator.standalone ? h && h.resolve ? (t = h.resolve(void 0), function () {
t.then(e)
}) : function () {
u.call(o, e)
} : (a = !0, s = document.createTextNode(""), new d(e).observe(s, {characterData: !0}), function () {
s.data = a = !a
}), function (e) {
e = {fn: e, next: void 0};
i && (i.next = e), n || (n = e, r()), i = e
}
}
}, function (e, t, n) {
n = n(6).navigator;
e.exports = n && n.userAgent || ""
}, function (e, t, n) {
var r = n(17);
e.exports = function (e, t, n) {
for (var i in t) n && e[i] ? e[i] = t[i] : r(e, i, t[i]);
return e
}
}, function (e, t, n) {
"use strict";
var i = n(6), r = n(3), a = n(12), s = n(14), o = n(7)("species");
e.exports = function (e) {
e = ("function" == typeof r[e] ? r : i)[e];
s && e && !e[o] && a.f(e, o, {
configurable: !0, get: function () {
return this
}
})
}
}, function (e, t, n) {
"use strict";
var i = n(8), r = n(3), a = n(6), s = n(80), o = n(83);
i(i.P + i.R, "Promise", {
finally: function (t) {
var n = s(this, r.Promise || a.Promise), e = "function" == typeof t;
return this.then(e ? function (e) {
return o(n, t()).then(function () {
return e
})
} : t, e ? function (e) {
return o(n, t()).then(function () {
throw e
})
} : t)
}
})
}, function (e, t, n) {
"use strict";
var i = n(8), r = n(51), a = n(82);
i(i.S, "Promise", {
try: function (e) {
var t = r.f(this), e = a(e);
return (e.e ? t.reject : t.resolve)(e.v), t.promise
}
})
}, function (e, t, n) {
n(256), e.exports = n(3).Object.keys
}, function (e, t, n) {
var i = n(24), r = n(30);
n(52)("keys", function () {
return function (e) {
return r(i(e))
}
})
}, function (e, t, n) {
var i = function () {
return this
}() || Function("return this")(),
r = i.regeneratorRuntime && 0 <= Object.getOwnPropertyNames(i).indexOf("regeneratorRuntime"),
a = r && i.regeneratorRuntime;
if (i.regeneratorRuntime = void 0, e.exports = n(258), r) i.regeneratorRuntime = a; else try {
delete i.regeneratorRuntime
} catch (e) {
i.regeneratorRuntime = void 0
}
}, function (T, e) {
!function (e) {
"use strict";
var u, d, l, h, c, _, t, n = Object.prototype, f = n.hasOwnProperty,
i = "function" == typeof Symbol ? Symbol : {}, r = i.iterator || "@@iterator",
a = i.asyncIterator || "@@asyncIterator", s = i.toStringTag || "@@toStringTag",
i = "object" == typeof T, o = e.regeneratorRuntime;
function m(e, t, n, i) {
var r, a, s, o, t = t && t.prototype instanceof y ? t : y, t = Object.create(t.prototype),
i = new b(i || []);
return t._invoke = (r = e, a = n, s = i, o = d, function (e, t) {
if (o === h) throw new Error("Generator is already running");
if (o === c) {
if ("throw" === e) throw t;
return D()
}
for (s.method = e, s.arg = t; ;) {
var n = s.delegate;
if (n) {
n = function e(t, n) {
var i = t.iterator[n.method];
if (i === u) {
if (n.delegate = null, "throw" === n.method) {
if (t.iterator.return && (n.method = "return", n.arg = u, e(t, n), "throw" === n.method)) return _;
n.method = "throw", n.arg = new TypeError("The iterator does not provide a 'throw' method")
}
return _
}
i = p(i, t.iterator, n.arg);
if ("throw" === i.type) return n.method = "throw", n.arg = i.arg, n.delegate = null, _;
i = i.arg;
if (!i) return n.method = "throw", n.arg = new TypeError("iterator result is not an object"), n.delegate = null, _;
{
if (!i.done) return i;
n[t.resultName] = i.value, n.next = t.nextLoc, "return" !== n.method && (n.method = "next", n.arg = u)
}
n.delegate = null;
return _
}(n, s);
if (n) {
if (n === _) continue;
return n
}
}
if ("next" === s.method) s.sent = s._sent = s.arg; else if ("throw" === s.method) {
if (o === d) throw o = c, s.arg;
s.dispatchException(s.arg)
} else "return" === s.method && s.abrupt("return", s.arg);
o = h;
n = p(r, a, s);
if ("normal" === n.type) {
if (o = s.done ? c : l, n.arg !== _) return {value: n.arg, done: s.done}
} else "throw" === n.type && (o = c, s.method = "throw", s.arg = n.arg)
}
}), t
}
function p(e, t, n) {
try {
return {type: "normal", arg: e.call(t, n)}
} catch (e) {
return {type: "throw", arg: e}
}
}
function y() {
}
function v() {
}
function g() {
}
function M(e) {
["next", "throw", "return"].forEach(function (t) {
e[t] = function (e) {
return this._invoke(t, e)
}
})
}
function L(s) {
var t;
this._invoke = function (n, i) {
function e() {
return new Promise(function (e, t) {
!function t(e, n, i, r) {
e = p(s[e], s, n);
if ("throw" === e.type) r(e.arg); else {
var a = e.arg;
if ((n = a.value) && "object" == typeof n && f.call(n, "__await")) return Promise.resolve(n.__await).then(function (e) {
t("next", e, i, r)
}, function (e) {
t("throw", e, i, r)
});
Promise.resolve(n).then(function (e) {
a.value = e, i(a)
}, r)
}
}(n, i, e, t)
})
}
return t = t ? t.then(e, e) : e()
}
}
function S(e) {
var t = {tryLoc: e[0]};
1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
}
function k(e) {
var t = e.completion || {};
t.type = "normal", delete t.arg, e.completion = t
}
function b(e) {
this.tryEntries = [{tryLoc: "root"}], e.forEach(S, this), this.reset(!0)
}
function w(t) {
if (t) {
var n, e = t[r];
if (e) return e.call(t);
if ("function" == typeof t.next) return t;
if (!isNaN(t.length)) return n = -1, (e = function e() {
for (; ++n < t.length;) if (f.call(t, n)) return e.value = t[n], e.done = !1, e;
return e.value = u, e.done = !0, e
}).next = e
}
return {next: D}
}
function D() {
return {value: u, done: !0}
}
o ? i && (T.exports = o) : ((o = e.regeneratorRuntime = i ? T.exports : {}).wrap = m, d = "suspendedStart", l = "suspendedYield", h = "executing", c = "completed", _ = {}, (e = {})[r] = function () {
return this
}, i = (i = Object.getPrototypeOf) && i(i(w([]))), i && i !== n && f.call(i, r) && (e = i), t = g.prototype = y.prototype = Object.create(e), (v.prototype = t.constructor = g).constructor = v, g[s] = v.displayName = "GeneratorFunction", o.isGeneratorFunction = function (e) {
e = "function" == typeof e && e.constructor;
return !!e && (e === v || "GeneratorFunction" === (e.displayName || e.name))
}, o.mark = function (e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, g) : (e.__proto__ = g, s in e || (e[s] = "GeneratorFunction")), e.prototype = Object.create(t), e
}, o.awrap = function (e) {
return {__await: e}
}, M(L.prototype), L.prototype[a] = function () {
return this
}, o.AsyncIterator = L, o.async = function (e, t, n, i) {
var r = new L(m(e, t, n, i));
return o.isGeneratorFunction(t) ? r : r.next().then(function (e) {
return e.done ? e.value : r.next()
})
}, M(t), t[s] = "Generator", t[r] = function () {
return this
}, t.toString = function () {
return "[object Generator]"
}, o.keys = function (n) {
var e, i = [];
for (e in n) i.push(e);
return i.reverse(), function e() {
for (; i.length;) {
var t = i.pop();
if (t in n) return e.value = t, e.done = !1, e
}
return e.done = !0, e
}
}, o.values = w, b.prototype = {
constructor: b, reset: function (e) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = u, this.done = !1, this.delegate = null, this.method = "next", this.arg = u, this.tryEntries.forEach(k), !e) for (var t in this) "t" === t.charAt(0) && f.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = u)
}, stop: function () {
this.done = !0;
var e = this.tryEntries[0].completion;
if ("throw" === e.type) throw e.arg;
return this.rval
}, dispatchException: function (n) {
if (this.done) throw n;
var i = this;
function e(e, t) {
return a.type = "throw", a.arg = n, i.next = e, t && (i.method = "next", i.arg = u), !!t
}
for (var t = this.tryEntries.length - 1; 0 <= t; --t) {
var r = this.tryEntries[t], a = r.completion;
if ("root" === r.tryLoc) return e("end");
if (r.tryLoc <= this.prev) {
var s = f.call(r, "catchLoc"), o = f.call(r, "finallyLoc");
if (s && o) {
if (this.prev < r.catchLoc) return e(r.catchLoc, !0);
if (this.prev < r.finallyLoc) return e(r.finallyLoc)
} else if (s) {
if (this.prev < r.catchLoc) return e(r.catchLoc, !0)
} else {
if (!o) throw new Error("try statement without catch or finally");
if (this.prev < r.finallyLoc) return e(r.finallyLoc)
}
}
}
}, abrupt: function (e, t) {
for (var n = this.tryEntries.length - 1; 0 <= n; --n) {
var i = this.tryEntries[n];
if (i.tryLoc <= this.prev && f.call(i, "finallyLoc") && this.prev < i.finallyLoc) {
var r = i;
break
}
}
var a = (r = r && ("break" === e || "continue" === e) && r.tryLoc <= t && t <= r.finallyLoc ? null : r) ? r.completion : {};
return a.type = e, a.arg = t, r ? (this.method = "next", this.next = r.finallyLoc, _) : this.complete(a)
}, complete: function (e, t) {
if ("throw" === e.type) throw e.arg;
return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), _
}, finish: function (e) {
for (var t = this.tryEntries.length - 1; 0 <= t; --t) {
var n = this.tryEntries[t];
if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), k(n), _
}
}, catch: function (e) {
for (var t = this.tryEntries.length - 1; 0 <= t; --t) {
var n, i, r = this.tryEntries[t];
if (r.tryLoc === e) return "throw" === (n = r.completion).type && (i = n.arg, k(r)), i
}
throw new Error("illegal catch attempt")
}, delegateYield: function (e, t, n) {
return this.delegate = {
iterator: w(e),
resultName: t,
nextLoc: n
}, "next" === this.method && (this.arg = u), _
}
})
}(function () {
return this
}() || Function("return this")())
}, function (e, t, n) {
e.exports = {default: n(260), __esModule: !0}
}, function (e, t, n) {
n(261);
var i = n(3).Object;
e.exports = function (e, t, n) {
return i.defineProperty(e, t, n)
}
}, function (e, t, n) {
var i = n(8);
i(i.S + i.F * !n(14), "Object", {defineProperty: n(12).f})
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.StreamClient = void 0;
var d = a(n(11)), i = a(n(1)), r = a(n(2)), s = a(n(87)), o = n(265), l = n(266), h = n(268), c = n(282),
_ = a(n(10)), f = function (e) {
{
if (e && e.__esModule) return e;
var t = {};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e, t
}
}(n(61)), m = a(n(91));
function a(e) {
return e && e.__esModule ? e : {default: e}
}
n = function () {
var u = new o.DirectDeviceCustom, L = new l.DirectDevice, S = new h.LiveMedia, k = new c.LocalService,
a = 6e3;
function t(e) {
var r = this;
(0, i.default)(this, t), this.TAG = "StreamClient", this._config = e, this._log = new m.default(this), this._emiter = new _.default, this.szProtocolVersion = "0.1", this.iCiphersuites = 0, this.aWebsocket = [], this.getIndex = function (e) {
for (var t = -1, n = 0, i = r.aWebsocket.length; n < i; n++) if (r.aWebsocket[n].id === e) {
t = n;
break
}
return t
}, this.autoCloseTime = 1e4, this.heartbeatTime = 2e3
}
return (0, r.default)(t, [{
key: "openStream", value: function (e, l, h, n) {
var c = this, _ = !1, t = !1, e = (-1 < e.indexOf("[") && (t = !0), e.split("://")), i = e[0],
f = "", m = 7681, p = 1, y = 0, v = !1, r = !1,
y = t ? (f = e[1].split("]:")[0] + "]", m = Math.floor(e[1].split("]:")[1].split("/")[0]), p = Math.floor(e[1].split("]:")[1].split("/")[1] / 100), Math.floor(e[1].split("]:")[1].split("/")[1] % 100) - 1) : (f = e[1].split(":")[0], m = Math.floor(e[1].split(":")[1].split("/")[0]), p = Math.floor(e[1].split(":")[1].split("/")[1] / 100), Math.floor(e[1].split(":")[1].split("/")[1] % 100) - 1),
t = (0 === p && (y = 0), "&sessionID="),
e = ((l = l || {}).token && !l.playURL && (t = "&token="), l.sessionID || l.session || (l.playURL ? "" : l.token) || ""),
g = new window.WebSocket(i + "://" + f + ":" + m + (l.mode ? "/" + l.mode : "") + "?version=" + this.szProtocolVersion + "&cipherSuites=" + this.iCiphersuites + t + e + (l.proxy ? "&proxy=" + l.proxy : "")),
M = (g.binaryType = "arraybuffer", s.default.v4());
return new d.default(function (u, d) {
setTimeout(function () {
v || r || !g || (g.onopen = null, g.onmessage = null, g.close(1e3, "CLOSE"), g.close = null, c._log.W(c.TAG, "recv stream timeout."), d())
}, a), g.onopen = function () {
c._log.I("websocket onopen")
}, g.onmessage = function (e) {
var t, n;
if ("string" == typeof e.data) return i = c.getIndex(M), (t = JSON.parse(e.data)) && t.hasOwnProperty("statusCode") && (0 === t.statusCode ? -1 === i ? u() : c.aWebsocket[i].resolve() : -1 === i ? d(t) : c.aWebsocket[i].reject(t)), !_ && t.cmd && "end" === t.cmd ? (_ = !0, c._log.I("回放结束,媒体流关闭"), void h({cmd: "end"})) : t && t.version && t.cipherSuite ? (c._log.D("websocket onmessage: PKD", t), c.szProtocolVersion = t.version, c.iCiphersuites = parseInt(t.cipherSuite, 10), t && t.PKD && t.rand ? c.aWebsocket.push(S.createClientObject(g, M, t.PKD, t.rand, l)) : (i = "live://" + f + ":" + m + "/" + p + "/" + y, -1 === c.iCiphersuites ? c.aWebsocket.push(k.createClientObject(g, M, i, l)) : c.aWebsocket.push(L.createClientObject(g, M, i))), void u(M)) : void (t && t.sdp && (c._log.I("websocket onmessage: sdp", t), i = L.getMediaFromSdp(t.sdp), n = L.getSdpParams(t.sdp), t = L.getSDPInfo(t.sdp), h({
bHead: !0,
oParams: n,
buf: i,
iClockFrequency: t.iClockFrequency,
iCurrentTime: t.iCurrentTime
}), -1 !== (n = c.aWebsocket.findIndex(function (e) {
return e.id === M
})) && c.aWebsocket[n].resolve()));
var i = {}, r = e.data;
if (64 === r.byteLength || 40 === r.byteLength) {
for (var a = -1, s = r.byteLength, o = 0; o < s; o++) if (73 === r[o] && 77 === r[o + 1] && 75 === r[o + 2] && 72 === r[o + 3]) {
a = o;
break
}
i = -1 !== a ? {bHead: !0, buf: r.slice(a, a + 40)} : {bHead: !1, buf: r}
} else i = {bHead: !1, buf: r};
h(i), v = !(e = i = r = null)
}, g.onclose = function (e) {
var t;
1e3 !== e.code && 1005 !== e.code || -1 === (t = c.aWebsocket.findIndex(function (e) {
return e.id === M
})) || (c._log.I("Stream closed", e), c.aWebsocket[t].resolve(), c.aWebsocket.splice(t, 1)), n(e), r = !0
}
})
}
}, {
key: "startPlay", value: function (e, i, r, a) {
var s = this, o = this.getIndex(e);
return i && r && "0.1" === this.szProtocolVersion && (i = i.replace("-", "").replace(":", ""), r = r.replace("-", "").replace(":", "")), new d.default(function (e, t) {
if (-1 < o) {
s.aWebsocket[o].resolve = e, s.aWebsocket[o].reject = t;
var n = null;
i && r ? "0.1" !== s.szProtocolVersion ? 0 === s.iCiphersuites ? n = S.playbackCmd(s.aWebsocket[o], i, r, a) : 1 === s.iCiphersuites ? n = L.playbackCmd(i, r, s.aWebsocket[o].playURL) : -1 === s.iCiphersuites && (n = k.playbackCmd(s.aWebsocket[o], i, r)) : n = u.playbackCmd(i, r, s.aWebsocket[o].iCurChannel, s.aWebsocket[o].iCurStream) : 0 === s.aWebsocket[o].iCurChannel && "0.1" === s.szProtocolVersion ? n = u.zeroPlayCmd(s.aWebsocket[o].iCurChannel, s.aWebsocket[o].iCurStream) : "0.1" !== s.szProtocolVersion ? 0 === s.iCiphersuites ? n = S.playCmd(s.aWebsocket[o], a) : 1 === s.iCiphersuites ? n = L.playCmd(s.aWebsocket[o].playURL) : -1 === s.iCiphersuites && (n = k.playCmd(s.aWebsocket[o])) : n = u.playCmd(s.aWebsocket[o].iCurChannel, s.aWebsocket[o].iCurStream);
try {
s.aWebsocket[o].socket.send(n)
} catch (e) {
s._log.E(f.ERR_STREAM_CMD_FAILED), t(e)
}
"0.1" === s.szProtocolVersion && e()
} else "0.1" === s.szProtocolVersion && t()
})
}
}, {
key: "singleFrame", value: function () {
}
}, {
key: "setPlayRate", value: function (a, s) {
var o = this;
return new d.default(function (e, t) {
for (var n = 0, i = o.aWebsocket.length; n < i; n++) if (o.aWebsocket[n].id === a) {
if ("0.1" === o.szProtocolVersion) {
var r = u.playRateCmd(s);
o.aWebsocket[n].socket.send(r), e();
break
}
o.aWebsocket[n].resolve = e, o.aWebsocket[n].reject = t;
r = L.playRateCmd(s);
o.aWebsocket[n].socket.send(r)
}
})
}
}, {
key: "seek", value: function (a, s, o) {
var u = this;
return new d.default(function (e, t) {
for (var n, i = 0, r = u.aWebsocket.length; i < r; i++) u.aWebsocket[i].id === a && (u.aWebsocket[i].resolve = e, u.aWebsocket[i].reject = t, n = S.seekCmd(s, o), u.aWebsocket[i].socket.send(n))
})
}
}, {
key: "pause", value: function (a) {
var s = this;
return new d.default(function (e, t) {
for (var n = 0, i = s.aWebsocket.length; n < i; n++) if (s.aWebsocket[n].id === a) {
if ("0.1" === s.szProtocolVersion) {
var r = u.pauseCmd();
s.aWebsocket[n].socket.send(r), e();
break
}
s.aWebsocket[n].resolve = e, s.aWebsocket[n].reject = t;
r = L.pauseCmd();
s.aWebsocket[n].socket.send(r)
}
})
}
}, {
key: "transmission", value: function (r, a) {
var s = this;
return new d.default(function (e, t) {
for (var n = 0, i = s.aWebsocket.length; n < i; n++) s.aWebsocket[n].id === r && (s.aWebsocket[n].resolve = e, s.aWebsocket[n].reject = t, s.aWebsocket[n].socket.send(a))
})
}
}, {
key: "resume", value: function (a) {
var s = this;
return new d.default(function (e, t) {
for (var n = 0, i = s.aWebsocket.length; n < i; n++) if (s.aWebsocket[n].id === a) {
if ("0.1" === s.szProtocolVersion) {
var r = u.resumeCmd();
s.aWebsocket[n].socket.send(r), e();
break
}
s.aWebsocket[n].resolve = e, s.aWebsocket[n].reject = t;
r = L.resumeCmd();
s.aWebsocket[n].socket.send(r)
}
})
}
}, {
key: "stop", value: function (r) {
var a = this;
return new d.default(function (e, t) {
var n = a.aWebsocket.find(function (e) {
return e.id === r
});
if (!n) return a._log.E(f.ERR_STREAM_WS_UNFIND + ": can't find related websocket, check the index."), t(f.ERR_STREAM_WS_UNFIND);
if (0 === n.socket.readyState) return n.stoping = !0, n.socket.onopen = null, n.socket.onmessage = null, n.socket.onclose = null, n.socket = null, a._log.E(f.ERR_STREAM_WS_UNCONNECT + ": websocket is not connect, check the index."), t(f.ERR_STREAM_WS_UNCONNECT);
try {
n.resolve = e;
var i = S.stopCmd();
n.socket.send(i), n.stoping = !0, n.socket.onopen = null, n.socket.onmessage = null, n.socket.onclose = null, n.socket = null, e()
} catch (e) {
a._log.E(f.ERR_STREAM_CMD_FAILED + ": send signalCmd to websocket failed."), t(f.ERR_STREAM_CMD_FAILED)
}
})
}
}, {
key: "stopAll", value: function () {
for (var e = 0, t = this.aWebsocket.length; e < t; e++) this.aWebsocket[e].socket.close(1e3, "CLOSE"), this.aWebsocket[e].stoping = !0
}
}, {
key: "setTimeOut", value: function (n) {
return new d.default(function (e, t) {
a = 1e3 * n, e()
})
}
}]), t
}();
t.StreamClient = n
}, function (e, t, n) {
var l, h, c = n(88), _ = n(89), f = 0, m = 0;
e.exports = function (e, t, n) {
var i = t && n || 0, r = t || [], a = (e = e || {}).node || l, n = void 0 !== e.clockseq ? e.clockseq : h,
s = (null != a && null != n || (s = c(), null == a && (a = l = [1 | s[0], s[1], s[2], s[3], s[4], s[5]]), null == n && (n = h = 16383 & (s[6] << 8 | s[7]))), void 0 !== e.msecs ? e.msecs : (new Date).getTime()),
o = void 0 !== e.nsecs ? e.nsecs : m + 1, u = s - f + (o - m) / 1e4;
if (u < 0 && void 0 === e.clockseq && (n = n + 1 & 16383), 1e4 <= (o = (u < 0 || f < s) && void 0 === e.nsecs ? 0 : o)) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
f = s, h = n, u = (1e4 * (268435455 & (s += 122192928e5)) + (m = o)) % 4294967296, r[i++] = u >>> 24 & 255, r[i++] = u >>> 16 & 255, r[i++] = u >>> 8 & 255, r[i++] = 255 & u, e = s / 4294967296 * 1e4 & 268435455, r[i++] = e >>> 8 & 255, r[i++] = 255 & e, r[i++] = e >>> 24 & 15 | 16, r[i++] = e >>> 16 & 255, r[i++] = n >>> 8 | 128, r[i++] = 255 & n;
for (var d = 0; d < 6; ++d) r[i + d] = a[d];
return t || _(r)
}
}, function (e, t, n) {
var s = n(88), o = n(89);
e.exports = function (e, t, n) {
var i = t && n || 0,
r = ("string" == typeof e && (t = "binary" === e ? new Array(16) : null, e = null), (e = e || {}).random || (e.rng || s)());
if (r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, t) for (var a = 0; a < 16; ++a) t[i + a] = r[a];
return t || o(r)
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.DirectDeviceCustom = void 0;
var i = a(n(1)), r = a(n(2));
function a(e) {
return e && e.__esModule ? e : {default: e}
}
n = function () {
function e() {
(0, i.default)(this, e)
}
return (0, r.default)(e, [{
key: "createClientObject", value: function (e, t, n, i) {
return {socket: e, id: t, iCurChannel: n, iCurStream: i, resolve: null, reject: null, stoping: !1}
}
}, {
key: "zeroPlayCmd", value: function (e, t) {
return new Uint8Array([0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, e + 1, 0, 0, 0, t, 0, 0, 4, 0])
}
}, {
key: "playCmd", value: function (e, t) {
return new Uint8Array([0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, e, 0, 0, 0, t, 0, 0, 4, 0])
}
}, {
key: "playbackCmd", value: function (e, t, n, i) {
var r = e.split("T")[0], e = e.split("T")[1],
a = "0" + parseInt(r.substring(0, 4), 10).toString(16), s = parseInt(r.substring(4, 6), 10),
r = parseInt(r.substring(6), 10), o = parseInt(e.substring(0, 2), 10),
u = parseInt(e.substring(2, 4), 10), e = parseInt(e.substring(4, 6), 10), d = t.split("T")[0],
t = t.split("T")[1], l = "0" + parseInt(d.substring(0, 4), 10).toString(16),
d = parseInt(d.substring(4, 6), 10), h = parseInt(t.substring(0, 2), 10),
c = parseInt(t.substring(2, 4), 10), t = parseInt(t.substring(4, 6), 10),
n = [0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, n, 0, 0, parseInt(a.substring(0, 2), 16), parseInt(a.substring(2, 4), 16), 0, 0, 0, s, 0, 0, 0, r, 0, 0, 0, o, 0, 0, 0, u, 0, 0, 0, e, 0, 0, parseInt(l.substring(0, 2), 16), parseInt(l.substring(2, 4), 16), 0, 0, 0, d, 0, 0, 0, r, 0, 0, 0, h, 0, 0, 0, c, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, 0, i, 0, 0, 0];
return new Uint8Array(n)
}
}, {
key: "playRateCmd", value: function (e) {
for (var t = (parseInt(e, 10) >>> 0).toString(16).toLocaleUpperCase().toString(16), n = t.length; n < 8; n++) t = "0" + t;
for (var i = [0, 0, 0, 0], r = 0, a = t.length; r < a; r += 2) i[Math.floor(r / 2)] = parseInt(t.substring(r, r + 2), 16);
e = [0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, i[0], i[1], i[2], i[3]];
return new Uint8Array(e)
}
}, {
key: "pauseCmd", value: function () {
return new Uint8Array([0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
}
}, {
key: "resumeCmd", value: function () {
return new Uint8Array([0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
}
}]), e
}();
t.DirectDeviceCustom = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.DirectDevice = void 0;
var i = s(n(56)), r = s(n(1)), a = s(n(2));
function s(e) {
return e && e.__esModule ? e : {default: e}
}
n = function () {
function e() {
(0, r.default)(this, e)
}
return (0, a.default)(e, [{
key: "createClientObject", value: function (e, t, n) {
return {socket: e, id: t, playURL: n, resolve: null, reject: null, stoping: !1}
}
}, {
key: "getMediaFromSdp", value: function (e) {
for (var t = e.indexOf("MEDIAINFO=") + 10, n = e.slice(t, t + 80), i = [], r = 0, a = n.length / 2; r < a; r++) i[r] = parseInt(n.slice(2 * r, 2 * r + 2), 16);
return new Uint8Array(i)
}
}, {
key: "sdpParamsReverse", value: function (e) {
for (var t = [], n = 0, i = e.length / 2; n < i; n++) t[n] = e.slice(2 * n, 2 * n + 2);
return t = parseInt(t.reverse().join(""), 16)
}
}, {
key: "getSdpParams", value: function (e) {
var t = e.indexOf("MEDIAINFO=") + 10, e = e.slice(t, t + 80),
n = this.sdpParamsReverse(e.slice(24, 28)), i = this.sdpParamsReverse(e.slice(40, 48)),
r = this.sdpParamsReverse(e.slice(32, 40)), a = parseInt(e.slice(30, 32), 16),
s = parseInt(e.slice(29, 30), 16);
switch (n) {
case 1984:
(n = 0) === i && (i = 32e3), 0 === r && (r = 8e3), 0 === a && (a = 16), 0 === s && (s = 1);
break;
case 28945:
case 49154:
n = 1, 0 === i && (i = 64e3), 0 === r && (r = 8e3), 0 === a && (a = 16), 0 === s && (s = 1);
break;
case 28944:
case 49153:
n = 2, 0 === i && (i = 64e3), 0 === r && (r = 8e3), 0 === a && (a = 16), 0 === s && (s = 1);
break;
case 29217:
case 49155:
n = 3, 0 === i && (i = 16e3), 0 === r && (r = 16e3), 0 === a && (a = 16), 0 === s && (s = 1);
break;
case 29280:
case 29282:
case 49156:
n = 4, 0 === i && (i = 16e3), 0 === r && (r = 8e3), 0 === a && (a = 16), 0 === s && (s = 1);
break;
case 8193:
case 49157:
n = 6, 0 === i && (i = 32e3), 0 === r && (r = 16e3), 0 === a && (a = 16), 0 === s && (s = 1)
}
return {iAudioType: n, iAudioBitRate: i, iAudioSamplingRate: r, iAudioBitWidth: a, iChannel: s}
}
}, {
key: "getSDPInfo", value: function (e) {
var t = e.indexOf("rtpmap:96 H264/") + 15, t = e.slice(t, t + 5), t = parseInt(t, 10),
n = e.indexOf("o=- ") + 4, e = e.slice(n, n + 16), n = parseInt(e, 10) / 1e3,
e = 60 * (new Date).getTimezoneOffset() * 1e3;
return {iClockFrequency: t, iCurrentTime: Math.floor(n + e)}
}
}, {
key: "playCmd", value: function (e) {
return (0, i.default)({sequence: 0, cmd: "realplay", url: e})
}
}, {
key: "playbackCmd", value: function (e, t, n) {
return (0, i.default)({sequence: 0, cmd: "playback", url: n, startTime: e, endTime: t})
}
}, {
key: "playRateCmd", value: function (e) {
return (0, i.default)({sequence: 0, cmd: "speed", rate: e})
}
}, {
key: "pauseCmd", value: function () {
return (0, i.default)({sequence: 0, cmd: "pause"})
}
}, {
key: "resumeCmd", value: function () {
return (0, i.default)({sequence: 0, cmd: "resume"})
}
}]), e
}();
t.DirectDevice = n
}, function (e, t, n) {
var n = n(3), i = n.JSON || (n.JSON = {stringify: JSON.stringify});
e.exports = function (e) {
return i.stringify.apply(i, arguments)
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.LiveMedia = void 0;
var r = u(n(56)), i = u(n(1)), a = u(n(2)), s = u(n(269)), o = u(n(281));
function u(e) {
return e && e.__esModule ? e : {default: e}
}
n = function () {
function e() {
(0, i.default)(this, e)
}
return (0, a.default)(e, [{
key: "createClientObject", value: function (e, t, n, i, r) {
var a = o.default.AES.encrypt((new Date).getTime().toString(), o.default.enc.Hex.parse("1234567891234567123456789123456712345678912345671234567891234567"), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse("12345678912345671234567891234567"),
padding: o.default.pad.Pkcs7
}).ciphertext.toString(),
s = (a.length < 64 && (a += a), o.default.AES.encrypt((new Date).getTime().toString(), o.default.enc.Hex.parse("12345678912345671234567891234567"), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse("12345678912345671234567891234567"),
padding: o.default.pad.Pkcs7
}).ciphertext.toString());
return {
socket: e,
id: t,
PKD: n,
rand: i,
playURL: r.playURL || "",
auth: r.auth || "",
token: r.token || "",
key: a,
iv: s,
resolve: null,
reject: null,
stoping: !1
}
}
}, {
key: "playCmd", value: function (e, t) {
t = {
sequence: 0,
cmd: t || "realplay",
url: e.playURL,
key: s.default.encrypt(e.iv + ":" + e.key, e.PKD).cipher.split("?")[0],
authorization: o.default.AES.encrypt(e.rand + ":" + e.auth, o.default.enc.Hex.parse(e.key), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse(e.iv),
padding: o.default.pad.Pkcs7
}).ciphertext.toString(),
token: o.default.AES.encrypt(e.token, o.default.enc.Hex.parse(e.key), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse(e.iv),
padding: o.default.pad.Pkcs7
}).ciphertext.toString()
};
return (0, r.default)(t)
}
}, {
key: "playbackCmd", value: function (e, t, n, i) {
i = {
sequence: 0,
cmd: i || "playback",
url: e.playURL,
key: s.default.encrypt(e.iv + ":" + e.key, e.PKD).cipher.split("?")[0],
authorization: o.default.AES.encrypt(e.rand + ":" + e.auth, o.default.enc.Hex.parse(e.key), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse(e.iv),
padding: o.default.pad.Pkcs7
}).ciphertext.toString(),
token: o.default.AES.encrypt(e.token, o.default.enc.Hex.parse(e.key), {
mode: o.default.mode.CBC,
iv: o.default.enc.Hex.parse(e.iv),
padding: o.default.pad.Pkcs7
}).ciphertext.toString(),
startTime: t,
endTime: n
};
return (0, r.default)(i)
}
}, {
key: "seekCmd", value: function (e, t) {
return (0, r.default)({sequence: 0, cmd: "seek", startTime: e, endTime: t})
}
}, {
key: "stopCmd", value: function () {
return (0, r.default)({sequence: 0, cmd: "stop"})
}
}]), e
}();
t.LiveMedia = n
}, function (H, j, e) {
"use strict";
var e = e(9), F = (e = e) && e.__esModule ? e : {default: e};
var e = "Netscape", B = 40;
function m(e, t, n) {
null != e && ("number" == typeof e ? this.fromNumber(e, t, n) : null == t && "string" != typeof e ? this.fromString(e, 256) : this.fromString(e, t))
}
function p() {
return new m(null)
}
Y = "Microsoft Internet Explorer" == e ? (m.prototype.am = function (e, t, n, i, r, a) {
var s = 32767 & t;
for (t >>= 15; 0 <= --a;) {
var o = 32767 & this[e], u = this[e++] >> 15, d = t * o + u * s,
r = ((o = s * o + ((32767 & d) << 15) + n[i] + (1073741823 & r)) >>> 30) + (d >>> 15) + t * u + (r >>> 30);
n[i++] = 1073741823 & o
}
return r
}, 30) : "Netscape" != e ? (m.prototype.am = function (e, t, n, i, r, a) {
for (; 0 <= --a;) {
var s = t * this[e++] + n[i] + r, r = Math.floor(s / 67108864);
n[i++] = 67108863 & s
}
return r
}, 26) : (m.prototype.am = function (e, t, n, i, r, a) {
var s = 16383 & t;
for (t >>= 14; 0 <= --a;) {
var o = 16383 & this[e], u = this[e++] >> 14, d = t * o + u * s,
r = ((o = s * o + ((16383 & d) << 14) + n[i] + r) >> 28) + (d >> 14) + t * u;
n[i++] = 268435455 & o
}
return r
}, 28), m.prototype.DB = Y, m.prototype.DM = (1 << Y) - 1, m.prototype.DV = 1 << Y;
m.prototype.FV = Math.pow(2, 52), m.prototype.F1 = 52 - Y, m.prototype.F2 = 2 * Y - 52;
for (var N = "0123456789abcdefghijklmnopqrstuvwxyz", n = [], t = "0".charCodeAt(0), r = 0; r <= 9; ++r) n[t++] = r;
for (t = "a".charCodeAt(0), r = 10; r < 36; ++r) n[t++] = r;
for (t = "A".charCodeAt(0), r = 10; r < 36; ++r) n[t++] = r;
function o(e) {
return N.charAt(e)
}
function d(e, t) {
e = n[e.charCodeAt(t)];
return null == e ? -1 : e
}
function f(e) {
var t = p();
return t.fromInt(e), t
}
function y(e) {
var t, n = 1;
return 0 != (t = e >>> 16) && (e = t, n += 16), 0 != (t = e >> 8) && (e = t, n += 8), 0 != (t = e >> 4) && (e = t, n += 4), 0 != (t = e >> 2) && (e = t, n += 2), e >> 1 != 0 && (n += 1), n
}
function g(e) {
this.m = e
}
function M(e) {
this.m = e, this.mp = e.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << e.DB - 15) - 1, this.mt2 = 2 * e.t
}
function z(e, t) {
return e & t
}
function a(e, t) {
return e | t
}
function U(e, t) {
return e ^ t
}
function V(e, t) {
return e & ~t
}
function s() {
}
function G(e) {
return e
}
function L(e) {
this.r2 = p(), this.q3 = p(), m.ONE.dlShiftTo(2 * e.t, this.r2), this.mu = this.r2.divide(e), this.m = e
}
g.prototype.convert = function (e) {
return e.s < 0 || 0 <= e.compareTo(this.m) ? e.mod(this.m) : e
}, g.prototype.revert = function (e) {
return e
}, g.prototype.reduce = function (e) {
e.divRemTo(this.m, null, e)
}, g.prototype.mulTo = function (e, t, n) {
e.multiplyTo(t, n), this.reduce(n)
}, g.prototype.sqrTo = function (e, t) {
e.squareTo(t), this.reduce(t)
}, M.prototype.convert = function (e) {
var t = p();
return e.abs().dlShiftTo(this.m.t, t), t.divRemTo(this.m, null, t), e.s < 0 && 0 < t.compareTo(m.ZERO) && this.m.subTo(t, t), t
}, M.prototype.revert = function (e) {
var t = p();
return e.copyTo(t), this.reduce(t), t
}, M.prototype.reduce = function (e) {
for (; e.t <= this.mt2;) e[e.t++] = 0;
for (var t = 0; t < this.m.t; ++t) {
var n = 32767 & e[t],
i = n * this.mpl + ((n * this.mph + (e[t] >> 15) * this.mpl & this.um) << 15) & e.DM;
for (e[n = t + this.m.t] += this.m.am(0, i, e, t, 0, this.m.t); e[n] >= e.DV;) e[n] -= e.DV, e[++n]++
}
e.clamp(), e.drShiftTo(this.m.t, e), 0 <= e.compareTo(this.m) && e.subTo(this.m, e)
}, M.prototype.mulTo = function (e, t, n) {
e.multiplyTo(t, n), this.reduce(n)
}, M.prototype.sqrTo = function (e, t) {
e.squareTo(t), this.reduce(t)
}, m.prototype.copyTo = function (e) {
for (var t = this.t - 1; 0 <= t; --t) e[t] = this[t];
e.t = this.t, e.s = this.s
}, m.prototype.fromInt = function (e) {
this.t = 1, this.s = e < 0 ? -1 : 0, 0 < e ? this[0] = e : e < -1 ? this[0] = e + DV : this.t = 0
}, m.prototype.fromString = function (e, t) {
var n;
if (16 == t) n = 4; else if (8 == t) n = 3; else if (256 == t) n = 8; else if (2 == t) n = 1; else if (32 == t) n = 5; else {
if (4 != t) return void this.fromRadix(e, t);
n = 2
}
this.s = this.t = 0;
for (var i = e.length, r = !1, a = 0; 0 <= --i;) {
var s = 8 == n ? 255 & e[i] : d(e, i);
s < 0 ? "-" == e.charAt(i) && (r = !0) : (r = !1, 0 == a ? this[this.t++] = s : a + n > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - a) - 1) << a, this[this.t++] = s >> this.DB - a) : this[this.t - 1] |= s << a, (a += n) >= this.DB && (a -= this.DB))
}
8 == n && 0 != (128 & e[0]) && (this.s = -1, 0 < a && (this[this.t - 1] |= (1 << this.DB - a) - 1 << a)), this.clamp(), r && m.ZERO.subTo(this, this)
}, m.prototype.clamp = function () {
for (var e = this.s & this.DM; 0 < this.t && this[this.t - 1] == e;) --this.t
}, m.prototype.dlShiftTo = function (e, t) {
for (var n = this.t - 1; 0 <= n; --n) t[n + e] = this[n];
for (n = e - 1; 0 <= n; --n) t[n] = 0;
t.t = this.t + e, t.s = this.s
}, m.prototype.drShiftTo = function (e, t) {
for (var n = e; n < this.t; ++n) t[n - e] = this[n];
t.t = Math.max(this.t - e, 0), t.s = this.s
}, m.prototype.lShiftTo = function (e, t) {
for (var n = e % this.DB, i = this.DB - n, r = (1 << i) - 1, a = Math.floor(e / this.DB), s = this.s << n & this.DM, o = this.t - 1; 0 <= o; --o) t[o + a + 1] = this[o] >> i | s, s = (this[o] & r) << n;
for (o = a - 1; 0 <= o; --o) t[o] = 0;
t[a] = s, t.t = this.t + a + 1, t.s = this.s, t.clamp()
}, m.prototype.rShiftTo = function (e, t) {
t.s = this.s;
var n = Math.floor(e / this.DB);
if (n >= this.t) t.t = 0; else {
var i = e % this.DB, r = this.DB - i, a = (1 << i) - 1;
t[0] = this[n] >> i;
for (var s = n + 1; s < this.t; ++s) t[s - n - 1] |= (this[s] & a) << r, t[s - n] = this[s] >> i;
0 < i && (t[this.t - n - 1] |= (this.s & a) << r), t.t = this.t - n, t.clamp()
}
}, m.prototype.subTo = function (e, t) {
for (var n = 0, i = 0, r = Math.min(e.t, this.t); n < r;) i += this[n] - e[n], t[n++] = i & this.DM, i >>= this.DB;
if (e.t < this.t) {
for (i -= e.s; n < this.t;) i += this[n], t[n++] = i & this.DM, i >>= this.DB;
i += this.s
} else {
for (i += this.s; n < e.t;) i -= e[n], t[n++] = i & this.DM, i >>= this.DB;
i -= e.s
}
t.s = i < 0 ? -1 : 0, i < -1 ? t[n++] = this.DV + i : 0 < i && (t[n++] = i), t.t = n, t.clamp()
}, m.prototype.multiplyTo = function (e, t) {
var n = this.abs(), i = e.abs(), r = n.t;
for (t.t = r + i.t; 0 <= --r;) t[r] = 0;
for (r = 0; r < i.t; ++r) t[r + n.t] = n.am(0, i[r], t, r, 0, n.t);
t.s = 0, t.clamp(), this.s != e.s && m.ZERO.subTo(t, t)
}, m.prototype.squareTo = function (e) {
for (var t = this.abs(), n = e.t = 2 * t.t; 0 <= --n;) e[n] = 0;
for (n = 0; n < t.t - 1; ++n) {
var i = t.am(n, t[n], e, 2 * n, 0, 1);
(e[n + t.t] += t.am(n + 1, 2 * t[n], e, 2 * n + 1, i, t.t - n - 1)) >= t.DV && (e[n + t.t] -= t.DV, e[n + t.t + 1] = 1)
}
0 < e.t && (e[e.t - 1] += t.am(n, t[n], e, 2 * n, 0, 1)), e.s = 0, e.clamp()
}, m.prototype.divRemTo = function (e, t, n) {
var i = e.abs();
if (!(i.t <= 0)) {
var r = this.abs();
if (r.t < i.t) null != t && t.fromInt(0), null != n && this.copyTo(n); else {
null == n && (n = p());
var a = p(), s = this.s, e = e.s, o = this.DB - y(i[i.t - 1]);
if (0 < o ? (i.lShiftTo(o, a), r.lShiftTo(o, n)) : (i.copyTo(a), r.copyTo(n)), 0 != (r = a[(i = a.t) - 1])) {
var u = r * (1 << this.F1) + (1 < i ? a[i - 2] >> this.F2 : 0), d = this.FV / u,
u = (1 << this.F1) / u, l = 1 << this.F2, h = n.t, c = h - i, _ = null == t ? p() : t;
for (a.dlShiftTo(c, _), 0 <= n.compareTo(_) && (n[n.t++] = 1, n.subTo(_, n)), m.ONE.dlShiftTo(i, _), _.subTo(a, a); a.t < i;) a[a.t++] = 0;
for (; 0 <= --c;) {
var f = n[--h] == r ? this.DM : Math.floor(n[h] * d + (n[h - 1] + l) * u);
if ((n[h] += a.am(0, f, n, c, 0, i)) < f) for (a.dlShiftTo(c, _), n.subTo(_, n); n[h] < --f;) n.subTo(_, n)
}
null != t && (n.drShiftTo(i, t), s != e && m.ZERO.subTo(t, t)), n.t = i, n.clamp(), 0 < o && n.rShiftTo(o, n), s < 0 && m.ZERO.subTo(n, n)
}
}
}
}, m.prototype.invDigit = function () {
if (this.t < 1) return 0;
var e = this[0];
if (0 == (1 & e)) return 0;
var t = 3 & e;
return 0 < (t = (t = (t = (t = t * (2 - (15 & e) * t) & 15) * (2 - (255 & e) * t) & 255) * (2 - ((65535 & e) * t & 65535)) & 65535) * (2 - e * t % this.DV) % this.DV) ? this.DV - t : -t
}, m.prototype.isEven = function () {
return 0 == (0 < this.t ? 1 & this[0] : this.s)
}, m.prototype.exp = function (e, t) {
if (4294967295 < e || e < 1) return m.ONE;
var n, i = p(), r = p(), a = t.convert(this), s = y(e) - 1;
for (a.copyTo(i); 0 <= --s;) t.sqrTo(i, r), 0 < (e & 1 << s) ? t.mulTo(r, a, i) : (n = i, i = r, r = n);
return t.revert(i)
}, m.prototype.toString = function (e) {
if (this.s < 0) return "-" + this.negate().toString(e);
if (16 == e) e = 4; else if (8 == e) e = 3; else if (2 == e) e = 1; else if (32 == e) e = 5; else if (64 == e) e = 6; else {
if (4 != e) return this.toRadix(e);
e = 2
}
var t, n = (1 << e) - 1, i = !1, r = "", a = this.t, s = this.DB - a * this.DB % e;
if (0 < a--) for (s < this.DB && 0 < (t = this[a] >> s) && (i = !0, r = o(t)); 0 <= a;) s < e ? (t = (this[a] & (1 << s) - 1) << e - s, t |= this[--a] >> (s += this.DB - e)) : (t = this[a] >> (s -= e) & n, s <= 0 && (s += this.DB, --a)), (i = 0 < t ? !0 : i) && (r += o(t));
return i ? r : "0"
}, m.prototype.negate = function () {
var e = p();
return m.ZERO.subTo(this, e), e
}, m.prototype.abs = function () {
return this.s < 0 ? this.negate() : this
}, m.prototype.compareTo = function (e) {
var t = this.s - e.s;
if (0 != t) return t;
var n = this.t;
if (0 != (t = n - e.t)) return t;
for (; 0 <= --n;) if (0 != (t = this[n] - e[n])) return t;
return 0
}, m.prototype.bitLength = function () {
return this.t <= 0 ? 0 : this.DB * (this.t - 1) + y(this[this.t - 1] ^ this.s & this.DM)
}, m.prototype.mod = function (e) {
var t = p();
return this.abs().divRemTo(e, null, t), this.s < 0 && 0 < t.compareTo(m.ZERO) && e.subTo(t, t), t
}, m.prototype.modPowInt = function (e, t) {
return t = new (e < 256 || t.isEven() ? g : M)(t), this.exp(e, t)
}, m.ZERO = f(0), m.ONE = f(1), s.prototype.convert = G, s.prototype.revert = G, s.prototype.mulTo = function (e, t, n) {
e.multiplyTo(t, n)
}, s.prototype.sqrTo = function (e, t) {
e.squareTo(t)
}, L.prototype.convert = function (e) {
var t;
return e.s < 0 || e.t > 2 * this.m.t ? e.mod(this.m) : e.compareTo(this.m) < 0 ? e : (t = p(), e.copyTo(t), this.reduce(t), t)
}, L.prototype.revert = function (e) {
return e
}, L.prototype.reduce = function (e) {
for (e.drShiftTo(this.m.t - 1, this.r2), e.t > this.m.t + 1 && (e.t = this.m.t + 1, e.clamp()), this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3), this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); e.compareTo(this.r2) < 0;) e.dAddOffset(1, this.m.t + 1);
for (e.subTo(this.r2, e); 0 <= e.compareTo(this.m);) e.subTo(this.m, e)
}, L.prototype.mulTo = function (e, t, n) {
e.multiplyTo(t, n), this.reduce(n)
}, L.prototype.sqrTo = function (e, t) {
e.squareTo(t), this.reduce(t)
};
var u, l, h, J, q,
c = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997],
K = 67108864 / c[c.length - 1];
function X(e) {
var t, n, o = this, i = e.length, r = 0, a = o.i = o.j = o.m = 0;
for (o.S = [], o.c = [], i || (e = [i++]); r < 256;) o.S[r] = r++;
for (r = 0; r < 256; r++) a = a + (t = o.S[r]) + e[r % i] & 255, n = o.S[a], o.S[r] = n, o.S[a] = t;
o.g = function (e) {
var t = o.S, n = o.i + 1 & 255, i = t[n], r = o.j + i & 255, a = t[r];
t[n] = a, t[r] = i;
for (var s = t[i + a & 255]; --e;) a = t[r = r + (i = t[n = n + 1 & 255]) & 255], t[n] = a, t[r] = i, s = 256 * s + t[i + a & 255];
return o.i = n, o.j = r, s
}, o.g(256)
}
function _(e, t, n, i) {
for (e += "", i = n = 0; i < e.length; i++) {
var r = t, a = 255 & i, s = (n ^= 19 * t[255 & i]) + e.charCodeAt(i);
r[a] = 255 & s
}
for (i in e = "", t) e += String.fromCharCode(t[i]);
return e
}
function Z() {
}
function S() {
this.j = this.i = 0, this.S = []
}
m.prototype.chunkSize = function (e) {
return Math.floor(Math.LN2 * this.DB / Math.log(e))
}, m.prototype.toRadix = function (e) {
if (null == e && (e = 10), 0 == this.signum() || e < 2 || 36 < e) return "0";
var t = this.chunkSize(e), n = f(t = Math.pow(e, t)), i = p(), r = p(), a = "";
for (this.divRemTo(n, i, r); 0 < i.signum();) a = (t + r.intValue()).toString(e).substr(1) + a, i.divRemTo(n, i, r);
return r.intValue().toString(e) + a
}, m.prototype.fromRadix = function (e, t) {
this.fromInt(0);
for (var n = this.chunkSize(t = null == t ? 10 : t), i = Math.pow(t, n), r = !1, a = 0, s = 0, o = 0; o < e.length; ++o) {
var u = d(e, o);
u < 0 ? "-" == e.charAt(o) && 0 == this.signum() && (r = !0) : (s = t * s + u, ++a >= n && (this.dMultiply(i), this.dAddOffset(s, 0), s = a = 0))
}
0 < a && (this.dMultiply(Math.pow(t, a)), this.dAddOffset(s, 0)), r && m.ZERO.subTo(this, this)
}, m.prototype.fromNumber = function (e, t, n) {
if ("number" == typeof t) if (e < 2) this.fromInt(1); else for (this.fromNumber(e, n), this.testBit(e - 1) || this.bitwiseTo(m.ONE.shiftLeft(e - 1), a, this), this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(t);) this.dAddOffset(2, 0), this.bitLength() > e && this.subTo(m.ONE.shiftLeft(e - 1), this); else {
var i = 7 & e;
(n = []).length = 1 + (e >> 3), t.nextBytes(n), 0 < i ? n[0] &= (1 << i) - 1 : n[0] = 0, this.fromString(n, 256)
}
}, m.prototype.bitwiseTo = function (e, t, n) {
for (var i, r = Math.min(e.t, this.t), a = 0; a < r; ++a) n[a] = t(this[a], e[a]);
if (e.t < this.t) {
for (i = e.s & this.DM, a = r; a < this.t; ++a) n[a] = t(this[a], i);
n.t = this.t
} else {
for (i = this.s & this.DM, a = r; a < e.t; ++a) n[a] = t(i, e[a]);
n.t = e.t
}
n.s = t(this.s, e.s), n.clamp()
}, m.prototype.changeBit = function (e, t) {
return e = m.ONE.shiftLeft(e), this.bitwiseTo(e, t, e), e
}, m.prototype.addTo = function (e, t) {
for (var n = 0, i = 0, r = Math.min(e.t, this.t); n < r;) i += this[n] + e[n], t[n++] = i & this.DM, i >>= this.DB;
if (e.t < this.t) {
for (i += e.s; n < this.t;) i += this[n], t[n++] = i & this.DM, i >>= this.DB;
i += this.s
} else {
for (i += this.s; n < e.t;) i += e[n], t[n++] = i & this.DM, i >>= this.DB;
i += e.s
}
t.s = i < 0 ? -1 : 0, 0 < i ? t[n++] = i : i < -1 && (t[n++] = this.DV + i), t.t = n, t.clamp()
}, m.prototype.dMultiply = function (e) {
this[this.t] = this.am(0, e - 1, this, 0, 0, this.t), ++this.t, this.clamp()
}, m.prototype.dAddOffset = function (e, t) {
if (0 != e) {
for (; this.t <= t;) this[this.t++] = 0;
for (this[t] += e; this[t] >= this.DV;) this[t] -= this.DV, ++t >= this.t && (this[this.t++] = 0), ++this[t]
}
}, m.prototype.multiplyLowerTo = function (e, t, n) {
var i, r = Math.min(this.t + e.t, t);
for (n.s = 0, n.t = r; 0 < r;) n[--r] = 0;
for (i = n.t - this.t; r < i; ++r) n[r + this.t] = this.am(0, e[r], n, r, 0, this.t);
for (i = Math.min(e.t, t); r < i; ++r) this.am(0, e[r], n, r, 0, t - r);
n.clamp()
}, m.prototype.multiplyUpperTo = function (e, t, n) {
var i = n.t = this.t + e.t - --t;
for (n.s = 0; 0 <= --i;) n[i] = 0;
for (i = Math.max(t - this.t, 0); i < e.t; ++i) n[this.t + i - t] = this.am(t - i, e[i], n, 0, 0, this.t + i - t);
n.clamp(), n.drShiftTo(1, n)
}, m.prototype.modInt = function (e) {
if (e <= 0) return 0;
var t = this.DV % e, n = this.s < 0 ? e - 1 : 0;
if (0 < this.t) if (0 == t) n = this[0] % e; else for (var i = this.t - 1; 0 <= i; --i) n = (t * n + this[i]) % e;
return n
}, m.prototype.millerRabin = function (e) {
var t = this.subtract(m.ONE), n = t.getLowestSetBit();
if (n <= 0) return !1;
var i = t.shiftRight(n), e = e + 1 >> 1;
c.length < e && (e = c.length);
for (var r = p(), a = 0; a < e; ++a) {
r.fromInt(c[Math.floor(Math.random() * c.length)]);
var s = r.modPow(i, this);
if (0 != s.compareTo(m.ONE) && 0 != s.compareTo(t)) {
for (var o = 1; o++ < n && 0 != s.compareTo(t);) if (0 == (s = s.modPowInt(2, this)).compareTo(m.ONE)) return !1;
if (0 != s.compareTo(t)) return !1
}
}
return !0
}, m.prototype.clone = function () {
var e = p();
return this.copyTo(e), e
}, m.prototype.intValue = function () {
if (this.s < 0) {
if (1 == this.t) return this[0] - this.DV;
if (0 == this.t) return -1
} else {
if (1 == this.t) return this[0];
if (0 == this.t) return 0
}
return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]
}, m.prototype.byteValue = function () {
return 0 == this.t ? this.s : this[0] << 24 >> 24
}, m.prototype.shortValue = function () {
return 0 == this.t ? this.s : this[0] << 16 >> 16
}, m.prototype.signum = function () {
return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1
}, m.prototype.toByteArray = function () {
var e, t = this.t, n = [], i = (n[0] = this.s, this.DB - t * this.DB % 8), r = 0;
if (0 < t--) for (i < this.DB && (e = this[t] >> i) != (this.s & this.DM) >> i && (n[r++] = e | this.s << this.DB - i); 0 <= t;) i < 8 ? (e = (this[t] & (1 << i) - 1) << 8 - i, e |= this[--t] >> (i += this.DB - 8)) : (e = this[t] >> (i -= 8) & 255, i <= 0 && (i += this.DB, --t)), 0 != (128 & e) && (e |= -256), 0 == r && (128 & this.s) != (128 & e) && ++r, (0 < r || e != this.s) && (n[r++] = e);
return n
}, m.prototype.equals = function (e) {
return 0 == this.compareTo(e)
}, m.prototype.min = function (e) {
return this.compareTo(e) < 0 ? this : e
}, m.prototype.max = function (e) {
return 0 < this.compareTo(e) ? this : e
}, m.prototype.and = function (e) {
var t = p();
return this.bitwiseTo(e, z, t), t
}, m.prototype.or = function (e) {
var t = p();
return this.bitwiseTo(e, a, t), t
}, m.prototype.xor = function (e) {
var t = p();
return this.bitwiseTo(e, U, t), t
}, m.prototype.andNot = function (e) {
var t = p();
return this.bitwiseTo(e, V, t), t
}, m.prototype.not = function () {
for (var e = p(), t = 0; t < this.t; ++t) e[t] = this.DM & ~this[t];
return e.t = this.t, e.s = ~this.s, e
}, m.prototype.shiftLeft = function (e) {
var t = p();
return e < 0 ? this.rShiftTo(-e, t) : this.lShiftTo(e, t), t
}, m.prototype.shiftRight = function (e) {
var t = p();
return e < 0 ? this.lShiftTo(-e, t) : this.rShiftTo(e, t), t
}, m.prototype.getLowestSetBit = function () {
for (var e = 0; e < this.t; ++e) if (0 != this[e]) return e * this.DB + function (e) {
if (0 == e) return -1;
var t = 0;
return 0 == (65535 & e) && (e >>= 16, t += 16), 0 == (255 & e) && (e >>= 8, t += 8), 0 == (15 & e) && (e >>= 4, t += 4), 0 == (3 & e) && (e >>= 2, t += 2), 0 == (1 & e) && ++t, t
}(this[e]);
return this.s < 0 ? this.t * this.DB : -1
}, m.prototype.bitCount = function () {
for (var e = 0, t = this.s & this.DM, n = 0; n < this.t; ++n) e += function (e) {
for (var t = 0; 0 != e;) e &= e - 1, ++t;
return t
}(this[n] ^ t);
return e
}, m.prototype.testBit = function (e) {
var t = Math.floor(e / this.DB);
return t >= this.t ? 0 != this.s : 0 != (this[t] & 1 << e % this.DB)
}, m.prototype.setBit = function (e) {
return this.changeBit(e, a)
}, m.prototype.clearBit = function (e) {
return this.changeBit(e, V)
}, m.prototype.flipBit = function (e) {
return this.changeBit(e, U)
}, m.prototype.add = function (e) {
var t = p();
return this.addTo(e, t), t
}, m.prototype.subtract = function (e) {
var t = p();
return this.subTo(e, t), t
}, m.prototype.multiply = function (e) {
var t = p();
return this.multiplyTo(e, t), t
}, m.prototype.divide = function (e) {
var t = p();
return this.divRemTo(e, t, null), t
}, m.prototype.remainder = function (e) {
var t = p();
return this.divRemTo(e, null, t), t
}, m.prototype.divideAndRemainder = function (e) {
var t = p(), n = p();
return this.divRemTo(e, t, n), [t, n]
}, m.prototype.modPow = function (e, t) {
var n = e.bitLength(), i = f(1);
if (n <= 0) return i;
var r = n < 18 ? 1 : n < 48 ? 3 : n < 144 ? 4 : n < 768 ? 5 : 6,
a = new (n < 8 ? g : t.isEven() ? L : M)(t), s = [], o = 3, u = r - 1, d = (1 << r) - 1;
if (s[1] = a.convert(this), 1 < r) for (n = p(), a.sqrTo(s[1], n); o <= d;) s[o] = p(), a.mulTo(n, s[o - 2], s[o]), o += 2;
for (var l, h = e.t - 1, c = !0, _ = p(), n = y(e[h]) - 1; 0 <= h;) {
for (u <= n ? l = e[h] >> n - u & d : (l = (e[h] & (1 << n + 1) - 1) << u - n, 0 < h && (l |= e[h - 1] >> this.DB + n - u)), o = r; 0 == (1 & l);) l >>= 1, --o;
if ((n -= o) < 0 && (n += this.DB, --h), c) s[l].copyTo(i), c = !1; else {
for (; 1 < o;) a.sqrTo(i, _), a.sqrTo(_, i), o -= 2;
0 < o ? a.sqrTo(i, _) : (o = i, i = _, _ = o), a.mulTo(_, s[l], i)
}
for (; 0 <= h && 0 == (e[h] & 1 << n);) a.sqrTo(i, _), o = i, i = _, _ = o, --n < 0 && (n = this.DB - 1, --h)
}
return a.revert(i)
}, m.prototype.modInverse = function (e) {
var t = e.isEven();
if (this.isEven() && t || 0 == e.signum()) return m.ZERO;
for (var n = e.clone(), i = this.clone(), r = f(1), a = f(0), s = f(0), o = f(1); 0 != n.signum();) {
for (; n.isEven();) n.rShiftTo(1, n), t ? (r.isEven() && a.isEven() || (r.addTo(this, r), a.subTo(e, a)), r.rShiftTo(1, r)) : a.isEven() || a.subTo(e, a), a.rShiftTo(1, a);
for (; i.isEven();) i.rShiftTo(1, i), t ? (s.isEven() && o.isEven() || (s.addTo(this, s), o.subTo(e, o)), s.rShiftTo(1, s)) : o.isEven() || o.subTo(e, o), o.rShiftTo(1, o);
0 <= n.compareTo(i) ? (n.subTo(i, n), t && r.subTo(s, r), a.subTo(o, a)) : (i.subTo(n, i), t && s.subTo(r, s), o.subTo(a, o))
}
return 0 != i.compareTo(m.ONE) ? m.ZERO : 0 <= o.compareTo(e) ? o.subtract(e) : o.signum() < 0 ? (o.addTo(e, o), o.signum() < 0 ? o.add(e) : o) : o
}, m.prototype.pow = function (e) {
return this.exp(e, new s)
}, m.prototype.gcd = function (e) {
var t = this.s < 0 ? this.negate() : this.clone(), e = e.s < 0 ? e.negate() : e.clone(),
n = (t.compareTo(e) < 0 && (n = t, t = e, e = n), t.getLowestSetBit()), i = e.getLowestSetBit();
if (i < 0) return t;
for (0 < (i = n < i ? n : i) && (t.rShiftTo(i, t), e.rShiftTo(i, e)); 0 < t.signum();) 0 < (n = t.getLowestSetBit()) && t.rShiftTo(n, t), 0 < (n = e.getLowestSetBit()) && e.rShiftTo(n, e), 0 <= t.compareTo(e) ? (t.subTo(e, t), t.rShiftTo(1, t)) : (e.subTo(t, e), e.rShiftTo(1, e));
return 0 < i && e.lShiftTo(i, e), e
}, m.prototype.isProbablePrime = function (e) {
var t, n = this.abs();
if (1 == n.t && n[0] <= c[c.length - 1]) {
for (t = 0; t < c.length; ++t) if (n[0] == c[t]) return !0;
return !1
}
if (n.isEven()) return !1;
for (t = 1; t < c.length;) {
for (var i = c[t], r = t + 1; r < c.length && i < K;) i *= c[r++];
for (i = n.modInt(i); t < r;) if (i % c[t++] == 0) return !1
}
return n.millerRabin(e)
}, m.prototype.square = function () {
var e = p();
return this.squareTo(e), e
}, u = [], l = Math, h = 52, l.seedrandom = function (e, t) {
var n = [], e = _(function e(t, n, i, r, a) {
if (i = [], a = void 0 === t ? "undefined" : (0, F.default)(t), n && "object" == a) for (r in t) if (r.indexOf("S") < 5) try {
i.push(e(t[r], n - 1))
} catch (e) {
}
return i.length ? i : t + ("string" != a ? "\0" : "")
}(t ? [e, u] : arguments.length ? e : [(new Date).getTime(), u, window], 3), n), i = new X(n);
return _(i.S, u), l.random = function () {
for (var e = i.g(6), t = q, n = 0; e < h;) e = 256 * (e + n), t *= 256, n = i.g(1);
for (; J <= e;) e /= 2, t /= 2, n >>>= 1;
return (e + n) / t
}, e
}, q = l.pow(256, 6), h = l.pow(2, h), J = 2 * h, _(l.random(), u), Z.prototype.nextBytes = function (e) {
for (var t = 0; t < e.length; t++) e[t] = Math.floor(256 * Math.random())
}, S.prototype.init = function (e) {
for (var t, n, i = 0; i < 256; ++i) this.S[i] = i;
for (i = t = 0; i < 256; ++i) t = t + this.S[i] + e[i % e.length] & 255, n = this.S[i], this.S[i] = this.S[t], this.S[t] = n;
this.j = this.i = 0
}, S.prototype.next = function () {
var e;
return this.i = this.i + 1 & 255, this.j = this.j + this.S[this.i] & 255, e = this.S[this.i], this.S[this.i] = this.S[this.j], this.S[this.j] = e, this.S[e + this.S[this.i] & 255]
};
var k, b = 256;
function $() {
var e;
e = (new Date).getTime(), w[D++] ^= 255 & e, w[D++] ^= e >> 8 & 255, w[D++] ^= e >> 16 & 255, w[D++] ^= e >> 24 & 255, b <= D && (D -= b)
}
var w = [], D = 0;
if ("Netscape" == e && B < "5" && window.crypto) for (var Q = window.crypto.random(32), T = 0; T < Q.length; ++T) w[D++] = 255 & Q.charCodeAt(T);
for (; D < b;) T = Math.floor(65536 * Math.random()), w[D++] = T >>> 8, w[D++] = 255 & T;
function ee() {
if (null == k) {
for ($(), (k = new S).init(w), D = 0; D < w.length; ++D) w[D] = 0;
D = 0
}
return k.next()
}
function E() {
}
D = 0, $(), E.prototype.nextBytes = function (e) {
for (var t = 0; t < e.length; ++t) e[t] = ee()
};
var te = function (e) {
function y(e, t) {
var n = (65535 & e) + (65535 & t);
return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n
}
function v(e, t) {
return e >>> t | e << 32 - t
}
for (var t = function (e, t) {
var n, i, r, a, s, o, u, d, l, h, c, _,
f = [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],
m = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225],
p = Array(64);
for (e[t >> 5] |= 128 << 24 - t % 32, e[15 + (64 + t >> 9 << 4)] = t, l = 0; l < e.length; l += 16) {
for (n = m[0], i = m[1], r = m[2], a = m[3], s = m[4], o = m[5], u = m[6], d = m[7], h = 0; h < 64; h++) p[h] = h < 16 ? e[h + l] : y(y(y(v(p[h - 2], 17) ^ v(p[h - 2], 19) ^ p[h - 2] >>> 10, p[h - 7]), v(p[h - 15], 7) ^ v(p[h - 15], 18) ^ p[h - 15] >>> 3), p[h - 16]), c = y(y(y(y(d, v(s, 6) ^ v(s, 11) ^ v(s, 25)), s & o ^ ~s & u), f[h]), p[h]), _ = y(v(n, 2) ^ v(n, 13) ^ v(n, 22), n & i ^ n & r ^ i & r), d = u, u = o, o = s, s = y(a, c), a = r, r = i, i = n, n = y(c, _);
m[0] = y(n, m[0]), m[1] = y(i, m[1]), m[2] = y(r, m[2]), m[3] = y(a, m[3]), m[4] = y(s, m[4]), m[5] = y(o, m[5]), m[6] = y(u, m[6]), m[7] = y(d, m[7])
}
return m
}(function (e) {
for (var t = [], n = 0; n < 8 * e.length; n += 8) t[n >> 5] |= (255 & e.charCodeAt(n / 8)) << 24 - n % 32;
return t
}(e = function (e) {
for (var e = e.replace(/\r\n/g, "\n"), t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
i < 128 ? t += String.fromCharCode(i) : (127 < i && i < 2048 ? t += String.fromCharCode(i >> 6 | 192) : t = (t += String.fromCharCode(i >> 12 | 224)) + String.fromCharCode(i >> 6 & 63 | 128), t += String.fromCharCode(63 & i | 128))
}
return t
}(e)), 8 * e.length), n = "", i = 0; i < 4 * t.length; i++) n += "0123456789abcdef".charAt(t[i >> 2] >> 8 * (3 - i % 4) + 4 & 15) + "0123456789abcdef".charAt(t[i >> 2] >> 8 * (3 - i % 4) & 15);
return n
};
var Y = function (e) {
var t = e;
function n(e, t) {
return e << t | e >>> 32 - t
}
function i(e) {
for (var t = "", n = 7; 0 <= n; n--) t += (e >>> 4 * n & 15).toString(16);
return t
}
for (var r, a, s, o, u, d = Array(80), l = 1732584193, h = 4023233417, c = 2562383102, _ = 271733878, f = 3285377520, m = (t = function (e) {
for (var e = e.replace(/\r\n/g, "\n"), t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
i < 128 ? t += String.fromCharCode(i) : (127 < i && i < 2048 ? t += String.fromCharCode(i >> 6 | 192) : t = (t += String.fromCharCode(i >> 12 | 224)) + String.fromCharCode(i >> 6 & 63 | 128), t += String.fromCharCode(63 & i | 128))
}
return t
}(t)).length, p = [], y = 0; y < m - 3; y += 4) r = t.charCodeAt(y) << 24 | t.charCodeAt(y + 1) << 16 | t.charCodeAt(y + 2) << 8 | t.charCodeAt(y + 3), p.push(r);
switch (m % 4) {
case 0:
y = 2147483648;
break;
case 1:
y = t.charCodeAt(m - 1) << 24 | 8388608;
break;
case 2:
y = t.charCodeAt(m - 2) << 24 | t.charCodeAt(m - 1) << 16 | 32768;
break;
case 3:
y = t.charCodeAt(m - 3) << 24 | t.charCodeAt(m - 2) << 16 | t.charCodeAt(m - 1) << 8 | 128
}
for (p.push(y); p.length % 16 != 14;) p.push(0);
for (p.push(m >>> 29), p.push(m << 3 & 4294967295), t = 0; t < p.length; t += 16) {
for (y = 0; y < 16; y++) d[y] = p[t + y];
for (y = 16; y <= 79; y++) d[y] = n(d[y - 3] ^ d[y - 8] ^ d[y - 14] ^ d[y - 16], 1);
for (r = l, m = h, a = c, s = _, o = f, y = 0; y <= 19; y++) u = n(r, 5) + (m & a | ~m & s) + o + d[y] + 1518500249 & 4294967295, o = s, s = a, a = n(m, 30), m = r, r = u;
for (y = 20; y <= 39; y++) u = n(r, 5) + (m ^ a ^ s) + o + d[y] + 1859775393 & 4294967295, o = s, s = a, a = n(m, 30), m = r, r = u;
for (y = 40; y <= 59; y++) u = n(r, 5) + (m & a | m & s | a & s) + o + d[y] + 2400959708 & 4294967295, o = s, s = a, a = n(m, 30), m = r, r = u;
for (y = 60; y <= 79; y++) u = n(r, 5) + (m ^ a ^ s) + o + d[y] + 3395469782 & 4294967295, o = s, s = a, a = n(m, 30), m = r, r = u;
l = l + r & 4294967295, h = h + m & 4294967295, c = c + a & 4294967295, _ = _ + s & 4294967295, f = f + o & 4294967295
}
return (u = i(l) + i(h) + i(c) + i(_) + i(f)).toLowerCase()
};
function P(e, t) {
return new m(e, t)
}
function C() {
this.n = null, this.e = 0, this.coeff = this.dmq1 = this.dmp1 = this.q = this.p = this.d = null
}
C.prototype.doPublic = function (e) {
return e.modPowInt(this.e, this.n)
}, C.prototype.setPublic = function (e, t) {
null != e && null != t && 0 < e.length && 0 < t.length ? (this.n = P(e, 16), this.e = parseInt(t, 16)) : alert("Invalid RSA public key")
}, C.prototype.encrypt = function (e) {
return null == (e = function (e, t) {
if (t < e.length + 11) throw"Message too long for RSA (n=" + t + ", l=" + e.length + ")";
for (var n = [], i = e.length - 1; 0 <= i && 0 < t;) {
var r = e.charCodeAt(i--);
r < 128 ? n[--t] = r : 127 < r && r < 2048 ? (n[--t] = 63 & r | 128, n[--t] = r >> 6 | 192) : (n[--t] = 63 & r | 128, n[--t] = r >> 6 & 63 | 128, n[--t] = r >> 12 | 224)
}
for (n[--t] = 0, i = new E, r = []; 2 < t;) {
for (r[0] = 0; 0 == r[0];) i.nextBytes(r);
n[--t] = r[0]
}
return n[--t] = 2, n[--t] = 0, new m(n)
}(e, this.n.bitLength() + 7 >> 3)) || null == (e = this.doPublic(e)) ? null : 0 == (1 & (e = e.toString(16)).length) ? e : "0" + e
}, C.prototype.doPrivate = function (e) {
if (null == this.p || null == this.q) return e.modPow(this.d, this.n);
for (var t = e.mod(this.p).modPow(this.dmp1, this.p), e = e.mod(this.q).modPow(this.dmq1, this.q); t.compareTo(e) < 0;) t = t.add(this.p);
return t.subtract(e).multiply(this.coeff).mod(this.p).multiply(this.q).add(e)
}, C.prototype.setPrivate = function (e, t, n) {
null != e && null != t && 0 < e.length && 0 < t.length ? (this.n = P(e, 16), this.e = parseInt(t, 16), this.d = P(n, 16)) : alert("Invalid RSA private key")
}, C.prototype.setPrivateEx = function (e, t, n, i, r, a, s, o) {
null != e && null != t && 0 < e.length && 0 < t.length ? (this.n = P(e, 16), this.e = parseInt(t, 16), this.d = P(n, 16), this.p = P(i, 16), this.q = P(r, 16), this.dmp1 = P(a, 16), this.dmq1 = P(s, 16), this.coeff = P(o, 16)) : alert("Invalid RSA private key")
}, C.prototype.generate = function (e, t) {
var n = new Z, i = e >> 1;
this.e = parseInt(t, 16);
for (var r = new m(t, 16); ;) {
for (; this.p = new m(e - i, 1, n), 0 != this.p.subtract(m.ONE).gcd(r).compareTo(m.ONE) || !this.p.isProbablePrime(10);) ;
for (; this.q = new m(i, 1, n), 0 != this.q.subtract(m.ONE).gcd(r).compareTo(m.ONE) || !this.q.isProbablePrime(10);) ;
this.p.compareTo(this.q) <= 0 && (a = this.p, this.p = this.q, this.q = a);
var a = this.p.subtract(m.ONE), s = this.q.subtract(m.ONE), o = a.multiply(s);
if (0 == o.gcd(r).compareTo(m.ONE)) {
this.n = this.p.multiply(this.q), this.d = r.modInverse(o), this.dmp1 = this.d.mod(a), this.dmq1 = this.d.mod(s), this.coeff = this.q.modInverse(this.p);
break
}
}
}, C.prototype.decrypt = function (e) {
if (null == (e = this.doPrivate(P(e, 16)))) return null;
for (var t = this.n.bitLength() + 7 >> 3, n = e.toByteArray(), i = 0; i < n.length && 0 == n[i];) ++i;
if (n.length - i != t - 1 || 2 != n[i]) return null;
for (++i; 0 != n[i];) if (++i >= n.length) return null;
for (var r = ""; ++i < n.length;) {
var a = 255 & n[i];
a < 128 ? r += String.fromCharCode(a) : 191 < a && a < 224 ? (r += String.fromCharCode((31 & a) << 6 | 63 & n[i + 1]), ++i) : (r += String.fromCharCode((15 & a) << 12 | (63 & n[i + 1]) << 6 | 63 & n[i + 2]), i += 2)
}
return r
};
var R = [],
A = (R.sha1 = "3021300906052b0e03021a05000414", R.sha256 = "3031300d060960864801650304020105000420", []);
function x(e, t, n) {
t /= 4;
for (var e = (0, A[n])(e), n = "00" + R[n] + e, e = "", t = t - 4 - n.length, i = 0; i < t; i += 2) e += "ff";
return sPaddedMessageHex = "0001" + e + n
}
function ne(e, t, n) {
return e = e, t = t, n = n, (i = new C).setPublic(t, n), i.doPublic(e).toString(16).replace(/^1f+00/, "");
var i
}
function ie(e) {
for (var t in R) {
var n = R[t], i = n.length;
if (e.substring(0, i) == n) return [t, e.substring(i)]
}
return []
}
A.sha1 = Y, A.sha256 = te, C.prototype.signString = function (e, t) {
return e = x(e, this.n.bitLength(), t), this.doPrivate(P(e, 16)).toString(16)
}, C.prototype.signStringWithSHA1 = function (e) {
return e = x(e, this.n.bitLength(), "sha1"), this.doPrivate(P(e, 16)).toString(16)
}, C.prototype.signStringWithSHA256 = function (e) {
return e = x(e, this.n.bitLength(), "sha256"), this.doPrivate(P(e, 16)).toString(16)
}, C.prototype.verifyString = function (e, t) {
return t = t.replace(/[ \n]+/g, ""), 0 != (t = ie(this.doPublic(P(t, 16)).toString(16).replace(/^1f+00/, ""))).length && t[1] == (0, A[t[0]])(e)
}, C.prototype.verifyHexSignatureForMessage = function (e, t) {
var n, i, e = P(e, 16);
return t = t, e = e, n = this.n.toString(16), i = this.e.toString(16), 0 != (n = ie(e = ne(e, n, i))).length && (e = n[1]) == (t = (0, A[n[0]])(t))
};
var O, I, W = I = {
Sbox: [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22],
ShiftRowTab: [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11],
Init: function () {
I.Sbox_Inv = Array(256);
for (var e = 0; e < 256; e++) I.Sbox_Inv[I.Sbox[e]] = e;
for (I.ShiftRowTab_Inv = Array(16), e = 0; e < 16; e++) I.ShiftRowTab_Inv[I.ShiftRowTab[e]] = e;
for (I.xtime = Array(256), e = 0; e < 128; e++) I.xtime[e] = e << 1, I.xtime[128 + e] = e << 1 ^ 27
},
Done: function () {
delete I.Sbox_Inv, delete I.ShiftRowTab_Inv, delete I.xtime
},
ExpandKey: function (e) {
var t, n = e.length, i = 1;
switch (n) {
case 16:
t = 176;
break;
case 24:
t = 208;
break;
case 32:
t = 240;
break;
default:
alert("my.ExpandKey: Only key lengths of 16, 24 or 32 bytes allowed!")
}
for (var r = n; r < t; r += 4) {
var a = e.slice(r - 4, r);
r % n == 0 ? (a = [I.Sbox[a[1]] ^ i, I.Sbox[a[2]], I.Sbox[a[3]], I.Sbox[a[0]]], 256 <= (i <<= 1) && (i ^= 283)) : 24 < n && r % n == 16 && (a = [I.Sbox[a[0]], I.Sbox[a[1]], I.Sbox[a[2]], I.Sbox[a[3]]]);
for (var s = 0; s < 4; s++) e[r + s] = e[r + s - n] ^ a[s]
}
},
Encrypt: function (e, t) {
var n = t.length;
I.AddRoundKey(e, t.slice(0, 16));
for (var i = 16; i < n - 16; i += 16) I.SubBytes(e, I.Sbox), I.ShiftRows(e, I.ShiftRowTab), I.MixColumns(e), I.AddRoundKey(e, t.slice(i, i + 16));
I.SubBytes(e, I.Sbox), I.ShiftRows(e, I.ShiftRowTab), I.AddRoundKey(e, t.slice(i, n))
},
Decrypt: function (e, t) {
var n = t.length;
for (I.AddRoundKey(e, t.slice(n - 16, n)), I.ShiftRows(e, I.ShiftRowTab_Inv), I.SubBytes(e, I.Sbox_Inv), n -= 32; 16 <= n; n -= 16) I.AddRoundKey(e, t.slice(n, n + 16)), I.MixColumns_Inv(e), I.ShiftRows(e, I.ShiftRowTab_Inv), I.SubBytes(e, I.Sbox_Inv);
I.AddRoundKey(e, t.slice(0, 16))
},
SubBytes: function (e, t) {
for (var n = 0; n < 16; n++) e[n] = t[e[n]]
},
AddRoundKey: function (e, t) {
for (var n = 0; n < 16; n++) e[n] ^= t[n]
},
ShiftRows: function (e, t) {
for (var n = [].concat(e), i = 0; i < 16; i++) e[i] = n[t[i]]
},
MixColumns: function (e) {
for (var t = 0; t < 16; t += 4) {
var n = e[t + 0], i = e[t + 1], r = e[t + 2], a = e[t + 3], s = n ^ i ^ r ^ a;
e[t + 0] ^= s ^ I.xtime[n ^ i], e[t + 1] ^= s ^ I.xtime[i ^ r], e[t + 2] ^= s ^ I.xtime[r ^ a], e[t + 3] ^= s ^ I.xtime[a ^ n]
}
},
MixColumns_Inv: function (e) {
for (var t = 0; t < 16; t += 4) {
var n = e[t + 0], i = e[t + 1], r = e[t + 2], a = e[t + 3], s = n ^ i ^ r ^ a, o = I.xtime[s],
u = I.xtime[I.xtime[o ^ n ^ r]] ^ s;
s ^= I.xtime[I.xtime[o ^ i ^ a]], e[t + 0] ^= u ^ I.xtime[n ^ i], e[t + 1] ^= s ^ I.xtime[i ^ r], e[t + 2] ^= u ^ I.xtime[r ^ a], e[t + 3] ^= s ^ I.xtime[a ^ n]
}
}
}, e = (O = {}, W.Init(), O.b256to64 = function (e) {
for (var t, n, i = "", r = 0, a = e.length, s = 0; s < a; s++) n = e.charCodeAt(s), 0 == r ? (i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n >> 2 & 63), t = (3 & n) << 4) : 1 == r ? (i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t | n >> 4 & 15), t = (15 & n) << 2) : 2 == r && (i = (i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t | n >> 6 & 3)) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63 & n)), 3 == (r += 1) && (r = 0);
return 0 < r && (i = i + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t) + "="), 1 == r && (i += "="), i
}, O.b64to256 = function (e) {
for (var t, n = "", i = 0, r = 0, a = e.length, s = 0; s < a; s++) 0 <= (t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e.charAt(s))) && (i && (n += String.fromCharCode(r | t >> 6 - i & 255)), r = t << (i = i + 2 & 7) & 255);
return n
}, O.b16to64 = function (e) {
var t, n, i = "";
for (e.length % 2 == 1 && (e = "0" + e), t = 0; t + 3 <= e.length; t += 3) n = parseInt(e.substring(t, t + 3), 16), i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n >> 6) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63 & n);
for (t + 1 == e.length ? (n = parseInt(e.substring(t, t + 1), 16), i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n << 2)) : t + 2 == e.length && (n = parseInt(e.substring(t, t + 2), 16), i += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n >> 2) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((3 & n) << 4)); 0 < (3 & i.length);) i += "=";
return i
}, O.b64to16 = function (e) {
for (var t, n = "", i = 0, r = 0; r < e.length && "=" != e.charAt(r); ++r) (v = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e.charAt(r))) < 0 || (i = 0 == i ? (n += o(v >> 2), t = 3 & v, 1) : 1 == i ? (n += o(t << 2 | v >> 4), t = 15 & v, 2) : 2 == i ? (n = (n += o(t)) + o(v >> 2), t = 3 & v, 3) : (n = (n += o(t << 2 | v >> 4)) + o(15 & v), 0));
return 1 == i && (n += o(t << 2)), n
}, O.string2bytes = function (e) {
for (var t = [], n = 0; n < e.length; n++) t.push(e.charCodeAt(n));
return t
}, O.bytes2string = function (e) {
for (var t = "", n = 0; n < e.length; n++) t += String.fromCharCode(e[n]);
return t
}, O.blockXOR = function (e, t) {
for (var n = Array(16), i = 0; i < 16; i++) n[i] = e[i] ^ t[i];
return n
}, O.blockIV = function () {
var e = new E, t = Array(16);
return e.nextBytes(t), t
}, O.pad16 = function (e) {
var t = e.slice(0), n = (16 - e.length % 16) % 16;
for (i = e.length; i < e.length + n; i++) t.push(0);
return t
}, O.depad = function (e) {
for (e = e.slice(0); 0 == e[e.length - 1];) e = e.slice(0, e.length - 1);
return e
}, O.encryptAESCBC = function (e, t) {
var n = t.slice(0);
W.ExpandKey(n);
for (var i = O.string2bytes(e), i = O.pad16(i), r = O.blockIV(), a = 0; a < i.length / 16; a++) {
var s = i.slice(16 * a, 16 * a + 16), o = r.slice(16 * a, 16 * a + 16), s = O.blockXOR(o, s);
W.Encrypt(s, n), r = r.concat(s)
}
return n = O.bytes2string(r), O.b256to64(n)
}, O.decryptAESCBC = function (e, t) {
var n = t.slice(0);
W.ExpandKey(n);
for (var e = O.b64to256(e), i = O.string2bytes(e), r = [], a = 1; a < i.length / 16; a++) {
var s = i.slice(16 * a, 16 * a + 16), o = i.slice(16 * (a - 1), 16 * (a - 1) + 16);
W.Decrypt(s, n), s = O.blockXOR(o, s), r = r.concat(s)
}
return r = O.depad(r), O.bytes2string(r)
}, O.wrap60 = function (e) {
for (var t = "", n = 0; n < e.length; n++) n % 60 == 0 && 0 != n && (t += "\n"), t += e[n];
return t
}, O.generateAESKey = function () {
var e = Array(16);
return (new E).nextBytes(e), e
}, O.generateRSAKey = function (e, t) {
Math.seedrandom(te(e));
e = new C;
return e.generate(t, "10001"), e
}, O.publicKeyString = function (e) {
return pubkey = e.n.toString(16)
}, O.publicKeyID = function (e) {
var t = e;
function o(e, t) {
var n = 2147483648 & e, i = 2147483648 & t, r = 1073741824 & e, a = 1073741824 & t,
e = (1073741823 & e) + (1073741823 & t);
return r & a ? 2147483648 ^ e ^ n ^ i : r | a ? 1073741824 & e ? 3221225472 ^ e ^ n ^ i : 1073741824 ^ e ^ n ^ i : e ^ n ^ i
}
function n(e, t, n, i, r, a, s) {
return e = o(e, o(o(t & n | ~t & i, r), s)), o(e << a | e >>> 32 - a, t)
}
function i(e, t, n, i, r, a, s) {
return e = o(e, o(o(t & i | n & ~i, r), s)), o(e << a | e >>> 32 - a, t)
}
function r(e, t, n, i, r, a, s) {
return e = o(e, o(o(t ^ n ^ i, r), s)), o(e << a | e >>> 32 - a, t)
}
function a(e, t, n, i, r, a, s) {
return e = o(e, o(o(n ^ (t | ~i), r), s)), o(e << a | e >>> 32 - a, t)
}
function s(e) {
for (var t = "", n = "", i = 0; i <= 3; i++) t += (n = "0" + (n = e >>> 8 * i & 255).toString(16)).substr(n.length - 2, 2);
return t
}
var u, d, l, h, c = function (e) {
for (var t, n = e.length, i = n + 8, i = 16 * ((i - i % 64) / 64 + 1), r = Array(i - 1), a = 0; a < n;) t = a % 4 * 8, r[(a - a % 4) / 4] |= e.charCodeAt(a) << t, a++;
return r[(a - a % 4) / 4] |= 128 << a % 4 * 8, r[i - 2] = n << 3, r[i - 1] = n >>> 29, r
}(t = function (e) {
for (var e = e.replace(/\r\n/g, "\n"), t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
i < 128 ? t += String.fromCharCode(i) : (127 < i && i < 2048 ? t += String.fromCharCode(i >> 6 | 192) : t = (t += String.fromCharCode(i >> 12 | 224)) + String.fromCharCode(i >> 6 & 63 | 128), t += String.fromCharCode(63 & i | 128))
}
return t
}(t)), _ = 1732584193, f = 4023233417, m = 2562383102, p = 271733878;
for (t = 0; t < c.length; t += 16) _ = n(u = _, d = f, l = m, h = p, c[t + 0], 7, 3614090360), p = n(p, _, f, m, c[t + 1], 12, 3905402710), m = n(m, p, _, f, c[t + 2], 17, 606105819), f = n(f, m, p, _, c[t + 3], 22, 3250441966), _ = n(_, f, m, p, c[t + 4], 7, 4118548399), p = n(p, _, f, m, c[t + 5], 12, 1200080426), m = n(m, p, _, f, c[t + 6], 17, 2821735955), f = n(f, m, p, _, c[t + 7], 22, 4249261313), _ = n(_, f, m, p, c[t + 8], 7, 1770035416), p = n(p, _, f, m, c[t + 9], 12, 2336552879), m = n(m, p, _, f, c[t + 10], 17, 4294925233), f = n(f, m, p, _, c[t + 11], 22, 2304563134), _ = n(_, f, m, p, c[t + 12], 7, 1804603682), p = n(p, _, f, m, c[t + 13], 12, 4254626195), m = n(m, p, _, f, c[t + 14], 17, 2792965006), _ = i(_, f = n(f, m, p, _, c[t + 15], 22, 1236535329), m, p, c[t + 1], 5, 4129170786), p = i(p, _, f, m, c[t + 6], 9, 3225465664), m = i(m, p, _, f, c[t + 11], 14, 643717713), f = i(f, m, p, _, c[t + 0], 20, 3921069994), _ = i(_, f, m, p, c[t + 5], 5, 3593408605), p = i(p, _, f, m, c[t + 10], 9, 38016083), m = i(m, p, _, f, c[t + 15], 14, 3634488961), f = i(f, m, p, _, c[t + 4], 20, 3889429448), _ = i(_, f, m, p, c[t + 9], 5, 568446438), p = i(p, _, f, m, c[t + 14], 9, 3275163606), m = i(m, p, _, f, c[t + 3], 14, 4107603335), f = i(f, m, p, _, c[t + 8], 20, 1163531501), _ = i(_, f, m, p, c[t + 13], 5, 2850285829), p = i(p, _, f, m, c[t + 2], 9, 4243563512), m = i(m, p, _, f, c[t + 7], 14, 1735328473), _ = r(_, f = i(f, m, p, _, c[t + 12], 20, 2368359562), m, p, c[t + 5], 4, 4294588738), p = r(p, _, f, m, c[t + 8], 11, 2272392833), m = r(m, p, _, f, c[t + 11], 16, 1839030562), f = r(f, m, p, _, c[t + 14], 23, 4259657740), _ = r(_, f, m, p, c[t + 1], 4, 2763975236), p = r(p, _, f, m, c[t + 4], 11, 1272893353), m = r(m, p, _, f, c[t + 7], 16, 4139469664), f = r(f, m, p, _, c[t + 10], 23, 3200236656), _ = r(_, f, m, p, c[t + 13], 4, 681279174), p = r(p, _, f, m, c[t + 0], 11, 3936430074), m = r(m, p, _, f, c[t + 3], 16, 3572445317), f = r(f, m, p, _, c[t + 6], 23, 76029189), _ = r(_, f, m, p, c[t + 9], 4, 3654602809), p = r(p, _, f, m, c[t + 12], 11, 3873151461), m = r(m, p, _, f, c[t + 15], 16, 530742520), _ = a(_, f = r(f, m, p, _, c[t + 2], 23, 3299628645), m, p, c[t + 0], 6, 4096336452), p = a(p, _, f, m, c[t + 7], 10, 1126891415), m = a(m, p, _, f, c[t + 14], 15, 2878612391), f = a(f, m, p, _, c[t + 5], 21, 4237533241), _ = a(_, f, m, p, c[t + 12], 6, 1700485571), p = a(p, _, f, m, c[t + 3], 10, 2399980690), m = a(m, p, _, f, c[t + 10], 15, 4293915773), f = a(f, m, p, _, c[t + 1], 21, 2240044497), _ = a(_, f, m, p, c[t + 8], 6, 1873313359), p = a(p, _, f, m, c[t + 15], 10, 4264355552), m = a(m, p, _, f, c[t + 6], 15, 2734768916), f = a(f, m, p, _, c[t + 13], 21, 1309151649), _ = a(_, f, m, p, c[t + 4], 6, 4149444226), p = a(p, _, f, m, c[t + 11], 10, 3174756917), m = a(m, p, _, f, c[t + 2], 15, 718787259), f = a(f, m, p, _, c[t + 9], 21, 3951481745), _ = o(_, u), f = o(f, d), m = o(m, l), p = o(p, h);
return (s(_) + s(f) + s(m) + s(p)).toLowerCase()
}, O.publicKeyFromString = function (e) {
var e = e.split("|")[0], t = new C;
return t.setPublic(e, "10001"), t
}, O.encrypt = function (e, t, n) {
var i = "";
try {
i += O.publicKeyFromString(t).encrypt(e) + "?"
} catch (e) {
return {status: "Invalid public key"}
}
return {status: "success", cipher: i}
}, O.decrypt = function (e, t) {
e = e.split("?");
return {status: "success", plaintext: t.decrypt(e[0]), signature: "unsigned"}
}, O);
H.exports = e
}, function (e, t, n) {
e.exports = {default: n(271), __esModule: !0}
}, function (e, t, n) {
n(41), n(75), e.exports = n(57).f("iterator")
}, function (e, t, n) {
e.exports = {default: n(273), __esModule: !0}
}, function (e, t, n) {
n(274), n(67), n(279), n(280), e.exports = n(3).Symbol
}, function (I, W, e) {
"use strict";
function i(e) {
var t = E[e] = g(S[w]);
return t._k = e, t
}
function n(e, t) {
m(e);
for (var n, i = z(t = p(t)), r = 0, a = i.length; r < a;) O(e, n = i[r++], t[n]);
return e
}
function t(e) {
var t = ee.call(this, e = y(e, !0));
return !(this === P && u(E, e) && !u(Y, e)) && (!(t || !u(this, e) || !u(E, e) || u(this, D) && this[D][e]) || t)
}
function r(e, t) {
var n;
if (e = p(e), t = y(t, !0), e !== P || !u(E, t) || u(Y, t)) return !(n = Z(e, t)) || !u(E, t) || u(e, D) && e[D][t] || (n.enumerable = !0), n
}
function a(e) {
for (var t, n = $(p(e)), i = [], r = 0; n.length > r;) u(E, t = n[r++]) || t == D || t == j || i.push(t);
return i
}
function s(e) {
for (var t, n = e === P, i = $(n ? Y : p(e)), r = [], a = 0; i.length > a;) !u(E, t = i[a++]) || n && !u(P, t) || r.push(E[t]);
return r
}
var o = e(6), u = e(18), d = e(14), l = e(8), H = e(70), j = e(275).KEY, h = e(23), c = e(49), _ = e(36),
F = e(35), f = e(7), B = e(57), N = e(58), z = e(276), U = e(277), m = e(13), V = e(16), G = e(24),
p = e(19), y = e(45), v = e(28), g = e(46), J = e(278), q = e(60), M = e(59), K = e(12), X = e(30), Z = q.f,
L = K.f, $ = J.f, S = o.Symbol, k = o.JSON, b = k && k.stringify, w = "prototype", D = f("_hidden"),
Q = f("toPrimitive"), ee = {}.propertyIsEnumerable, T = c("symbol-registry"), E = c("symbols"),
Y = c("op-symbols"), P = Object[w], c = "function" == typeof S && !!M.f, C = o.QObject,
R = !C || !C[w] || !C[w].findChild, A = d && h(function () {
return 7 != g(L({}, "a", {
get: function () {
return L(this, "a", {value: 7}).a
}
})).a
}) ? function (e, t, n) {
var i = Z(P, t);
i && delete P[t], L(e, t, n), i && e !== P && L(P, t, i)
} : L, x = c && "symbol" == typeof S.iterator ? function (e) {
return "symbol" == typeof e
} : function (e) {
return e instanceof S
}, O = function (e, t, n) {
return e === P && O(Y, t, n), m(e), t = y(t, !0), m(n), u(E, t) ? (n.enumerable ? (u(e, D) && e[D][t] && (e[D][t] = !1), n = g(n, {enumerable: v(0, !1)})) : (u(e, D) || L(e, D, v(1, {})), e[D][t] = !0), A(e, t, n)) : L(e, t, n)
};
c || (H((S = function () {
if (this instanceof S) throw TypeError("Symbol is not a constructor!");
var t = F(0 < arguments.length ? arguments[0] : void 0), n = function (e) {
this === P && n.call(Y, e), u(this, D) && u(this[D], t) && (this[D][t] = !1), A(this, t, v(1, e))
};
return d && R && A(P, t, {configurable: !0, set: n}), i(t)
})[w], "toString", function () {
return this._k
}), q.f = r, K.f = O, e(90).f = J.f = a, e(37).f = t, M.f = s, d && !e(27) && H(P, "propertyIsEnumerable", t, !0), B.f = function (e) {
return i(f(e))
}), l(l.G + l.W + l.F * !c, {Symbol: S});
for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ne = 0; te.length > ne;) f(te[ne++]);
for (var ie = X(f.store), re = 0; ie.length > re;) N(ie[re++]);
l(l.S + l.F * !c, "Symbol", {
for: function (e) {
return u(T, e += "") ? T[e] : T[e] = S(e)
}, keyFor: function (e) {
if (!x(e)) throw TypeError(e + " is not a symbol!");
for (var t in T) if (T[t] === e) return t
}, useSetter: function () {
R = !0
}, useSimple: function () {
R = !1
}
}), l(l.S + l.F * !c, "Object", {
create: function (e, t) {
return void 0 === t ? g(e) : n(g(e), t)
},
defineProperty: O,
defineProperties: n,
getOwnPropertyDescriptor: r,
getOwnPropertyNames: a,
getOwnPropertySymbols: s
});
C = h(function () {
M.f(1)
});
l(l.S + l.F * C, "Object", {
getOwnPropertySymbols: function (e) {
return M.f(G(e))
}
}), k && l(l.S + l.F * (!c || h(function () {
var e = S();
return "[null]" != b([e]) || "{}" != b({a: e}) || "{}" != b(Object(e))
})), "JSON", {
stringify: function (e) {
for (var t, n, i = [e], r = 1; r < arguments.length;) i.push(arguments[r++]);
if (n = t = i[1], (V(t) || void 0 !== e) && !x(e)) return U(t) || (t = function (e, t) {
if ("function" == typeof n && (t = n.call(this, e, t)), !x(t)) return t
}), i[1] = t, b.apply(k, i)
}
}), S[w][Q] || e(17)(S[w], Q, S[w].valueOf), _(S, "Symbol"), _(Math, "Math", !0), _(o.JSON, "JSON", !0)
}, function (e, t, n) {
function i(e) {
o(e, r, {value: {i: "O" + ++u, w: {}}})
}
var r = n(35)("meta"), a = n(16), s = n(18), o = n(12).f, u = 0, d = Object.isExtensible || function () {
return !0
}, l = !n(23)(function () {
return d(Object.preventExtensions({}))
}), h = e.exports = {
KEY: r, NEED: !1, fastKey: function (e, t) {
if (!a(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
if (!s(e, r)) {
if (!d(e)) return "F";
if (!t) return "E";
i(e)
}
return e[r].i
}, getWeak: function (e, t) {
if (!s(e, r)) {
if (!d(e)) return !0;
if (!t) return !1;
i(e)
}
return e[r].w
}, onFreeze: function (e) {
return l && h.NEED && d(e) && !s(e, r) && i(e), e
}
}
}, function (e, t, n) {
var o = n(30), u = n(59), d = n(37);
e.exports = function (e) {
var t = o(e), n = u.f;
if (n) for (var i, r = n(e), a = d.f, s = 0; r.length > s;) a.call(e, i = r[s++]) && t.push(i);
return t
}
}, function (e, t, n) {
var i = n(31);
e.exports = Array.isArray || function (e) {
return "Array" == i(e)
}
}, function (e, t, n) {
var i = n(19), r = n(90).f, a = {}.toString,
s = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
e.exports.f = function (e) {
if (!s || "[object Window]" != a.call(e)) return r(i(e));
try {
return r(e)
} catch (e) {
return s.slice()
}
}
}, function (e, t, n) {
n(58)("asyncIterator")
}, function (e, t, n) {
n(58)("observable")
}, function (I, W, H) {
"use strict";
Object.defineProperty(W, "__esModule", {value: !0});
o = Math, m = (y = {}).lib = {}, t = m.Base = {
extend: function (e) {
G.prototype = this;
var t = new G;
return e && t.mixIn(e), t.hasOwnProperty("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)
}
}, u = m.WordArray = t.extend({
init: function (e, t) {
e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length
}, toString: function (e) {
return (e || j).stringify(this)
}, concat: function (e) {
var t = this.words, n = e.words, i = this.sigBytes;
if (e = e.sigBytes, this.clamp(), i % 4) for (var r = 0; r < e; r++) t[i + r >>> 2] |= (n[r >>> 2] >>> 24 - r % 4 * 8 & 255) << 24 - (i + r) % 4 * 8; else if (65535 < n.length) for (r = 0; r < e; r += 4) t[i + r >>> 2] = n[r >>> 2]; else t.push.apply(t, n);
return this.sigBytes += e, this
}, clamp: function () {
var e = this.words, t = this.sigBytes;
e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8, e.length = o.ceil(t / 4)
}, clone: function () {
var e = t.clone.call(this);
return e.words = this.words.slice(0), e
}, random: function (e) {
for (var t = [], n = 0; n < e; n += 4) t.push(4294967296 * o.random() | 0);
return new u.init(t, e)
}
}), _ = y.enc = {}, j = _.Hex = {
stringify: function (e) {
var t = e.words;
e = e.sigBytes;
for (var n = [], i = 0; i < e; i++) {
var r = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;
n.push((r >>> 4).toString(16)), n.push((15 & r).toString(16))
}
return n.join("")
}, parse: function (e) {
for (var t = e.length, n = [], i = 0; i < t; i += 2) n[i >>> 3] |= parseInt(e.substr(i, 2), 16) << 24 - i % 8 * 4;
return new u.init(n, t / 2)
}
}, n = _.Latin1 = {
stringify: function (e) {
var t = e.words;
e = e.sigBytes;
for (var n = [], i = 0; i < e; i++) n.push(String.fromCharCode(t[i >>> 2] >>> 24 - i % 4 * 8 & 255));
return n.join("")
}, parse: function (e) {
for (var t = e.length, n = [], i = 0; i < t; i++) n[i >>> 2] |= (255 & e.charCodeAt(i)) << 24 - i % 4 * 8;
return new u.init(n, t)
}
}, F = _.Utf8 = {
stringify: function (e) {
try {
return decodeURIComponent(escape(n.stringify(e)))
} catch (e) {
throw Error("Malformed UTF-8 data")
}
}, parse: function (e) {
return n.parse(unescape(encodeURIComponent(e)))
}
}, e = m.BufferedBlockAlgorithm = t.extend({
reset: function () {
this._data = new u.init, this._nDataBytes = 0
}, _append: function (e) {
"string" == typeof e && (e = F.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes
}, _process: function (e) {
var t = this._data, n = t.words, i = t.sigBytes, r = this.blockSize, a = i / (4 * r),
a = e ? o.ceil(a) : o.max((0 | a) - this._minBufferSize, 0), i = o.min(4 * (e = a * r), i);
if (e) {
for (var s = 0; s < e; s += r) this._doProcessBlock(n, s);
s = n.splice(0, e), t.sigBytes -= i
}
return new u.init(s, i)
}, clone: function () {
var e = t.clone.call(this);
return e._data = this._data.clone(), e
}, _minBufferSize: 0
}), m.Hasher = e.extend({
cfg: t.extend(), init: function (e) {
this.cfg = this.cfg.extend(e), this.reset()
}, reset: function () {
e.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 (n) {
return function (e, t) {
return new n.init(t).finalize(e)
}
}, _createHmacHelper: function (n) {
return function (e, t) {
return new B.HMAC.init(n, t).finalize(e)
}
}
}), B = y.algo = {};
var o, t, u, j, n, F, e, B, N, z, U, s, i, r, V, a, d, l, h, c, _ = y;
function G() {
}
N = _.lib.WordArray, _.enc.Base64 = {
stringify: function (e) {
var t = e.words, n = e.sigBytes, i = this._map;
e.clamp(), e = [];
for (var r = 0; r < n; r += 3) for (var a = (t[r >>> 2] >>> 24 - r % 4 * 8 & 255) << 16 | (t[r + 1 >>> 2] >>> 24 - (r + 1) % 4 * 8 & 255) << 8 | t[r + 2 >>> 2] >>> 24 - (r + 2) % 4 * 8 & 255, s = 0; s < 4 && r + .75 * s < n; s++) e.push(i.charAt(a >>> 6 * (3 - s) & 63));
if (t = i.charAt(64)) for (; e.length % 4;) e.push(t);
return e.join("")
}, parse: function (e) {
var t = e.length, n = this._map;
!(a = n.charAt(64)) || -1 != (a = e.indexOf(a)) && (t = a);
for (var i, r, a = [], s = 0, o = 0; o < t; o++) o % 4 && (i = n.indexOf(e.charAt(o - 1)) << o % 4 * 2, r = n.indexOf(e.charAt(o)) >>> 6 - o % 4 * 2, a[s >>> 2] |= (i | r) << 24 - s % 4 * 8, s++);
return N.create(a, s)
}, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
};
var f = Math;
function k(e, t, n, i, r, a, s) {
return ((e = e + (t & n | ~t & i) + r + s) << a | e >>> 32 - a) + t
}
function b(e, t, n, i, r, a, s) {
return ((e = e + (t & i | n & ~i) + r + s) << a | e >>> 32 - a) + t
}
function w(e, t, n, i, r, a, s) {
return ((e = e + (t ^ n ^ i) + r + s) << a | e >>> 32 - a) + t
}
function D(e, t, n, i, r, a, s) {
return ((e = e + (n ^ (t | ~i)) + r + s) << a | e >>> 32 - a) + t
}
for (var m = _, J = (y = m.lib).WordArray, p = y.Hasher, y = m.algo, T = [], v = 0; v < 64; v++) T[v] = 4294967296 * f.abs(f.sin(v + 1)) | 0;
function q(e, t, n) {
var i = this._iv;
i ? this._iv = void 0 : i = this._prevBlock;
for (var r = 0; r < n; r++) e[t + r] ^= i[r]
}
y = y.MD5 = p.extend({
_doReset: function () {
this._hash = new J.init([1732584193, 4023233417, 2562383102, 271733878])
}, _doProcessBlock: function (e, t) {
for (var n = 0; n < 16; n++) {
var i = e[r = t + n];
e[r] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8)
}
var n = this._hash.words, r = e[t + 0], i = e[t + 1], a = e[t + 2], s = e[t + 3], o = e[t + 4],
u = e[t + 5], d = e[t + 6], l = e[t + 7], h = e[t + 8], c = e[t + 9], _ = e[t + 10], f = e[t + 11],
m = e[t + 12], p = e[t + 13], y = e[t + 14], v = e[t + 15],
g = k(n[0], S = n[1], L = n[2], M = n[3], r, 7, T[0]), M = k(M, g, S, L, i, 12, T[1]),
L = k(L, M, g, S, a, 17, T[2]), S = k(S, L, M, g, s, 22, T[3]), g = k(g, S, L, M, o, 7, T[4]),
M = k(M, g, S, L, u, 12, T[5]), L = k(L, M, g, S, d, 17, T[6]), S = k(S, L, M, g, l, 22, T[7]),
g = k(g, S, L, M, h, 7, T[8]), M = k(M, g, S, L, c, 12, T[9]), L = k(L, M, g, S, _, 17, T[10]),
S = k(S, L, M, g, f, 22, T[11]), g = k(g, S, L, M, m, 7, T[12]), M = k(M, g, S, L, p, 12, T[13]),
L = k(L, M, g, S, y, 17, T[14]), g = b(g, S = k(S, L, M, g, v, 22, T[15]), L, M, i, 5, T[16]),
M = b(M, g, S, L, d, 9, T[17]), L = b(L, M, g, S, f, 14, T[18]), S = b(S, L, M, g, r, 20, T[19]),
g = b(g, S, L, M, u, 5, T[20]), M = b(M, g, S, L, _, 9, T[21]), L = b(L, M, g, S, v, 14, T[22]),
S = b(S, L, M, g, o, 20, T[23]), g = b(g, S, L, M, c, 5, T[24]), M = b(M, g, S, L, y, 9, T[25]),
L = b(L, M, g, S, s, 14, T[26]), S = b(S, L, M, g, h, 20, T[27]), g = b(g, S, L, M, p, 5, T[28]),
M = b(M, g, S, L, a, 9, T[29]), L = b(L, M, g, S, l, 14, T[30]),
g = w(g, S = b(S, L, M, g, m, 20, T[31]), L, M, u, 4, T[32]), M = w(M, g, S, L, h, 11, T[33]),
L = w(L, M, g, S, f, 16, T[34]), S = w(S, L, M, g, y, 23, T[35]), g = w(g, S, L, M, i, 4, T[36]),
M = w(M, g, S, L, o, 11, T[37]), L = w(L, M, g, S, l, 16, T[38]), S = w(S, L, M, g, _, 23, T[39]),
g = w(g, S, L, M, p, 4, T[40]), M = w(M, g, S, L, r, 11, T[41]), L = w(L, M, g, S, s, 16, T[42]),
S = w(S, L, M, g, d, 23, T[43]), g = w(g, S, L, M, c, 4, T[44]), M = w(M, g, S, L, m, 11, T[45]),
L = w(L, M, g, S, v, 16, T[46]), g = D(g, S = w(S, L, M, g, a, 23, T[47]), L, M, r, 6, T[48]),
M = D(M, g, S, L, l, 10, T[49]), L = D(L, M, g, S, y, 15, T[50]), S = D(S, L, M, g, u, 21, T[51]),
g = D(g, S, L, M, m, 6, T[52]), M = D(M, g, S, L, s, 10, T[53]), L = D(L, M, g, S, _, 15, T[54]),
S = D(S, L, M, g, i, 21, T[55]), g = D(g, S, L, M, h, 6, T[56]), M = D(M, g, S, L, v, 10, T[57]),
L = D(L, M, g, S, d, 15, T[58]), S = D(S, L, M, g, p, 21, T[59]), g = D(g, S, L, M, o, 6, T[60]),
M = D(M, g, S, L, f, 10, T[61]), L = D(L, M, g, S, a, 15, T[62]), S = D(S, L, M, g, c, 21, T[63]);
n[0] = n[0] + g | 0, n[1] = n[1] + S | 0, n[2] = n[2] + L | 0, n[3] = n[3] + M | 0
}, _doFinalize: function () {
var e = this._data, t = e.words, n = 8 * this._nDataBytes, i = 8 * e.sigBytes,
r = (t[i >>> 5] |= 128 << 24 - i % 32, f.floor(n / 4294967296));
for (t[15 + (64 + i >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t[14 + (64 + i >>> 9 << 4)] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8), e.sigBytes = 4 * (t.length + 1), this._process(), t = (e = this._hash).words, n = 0; n < 4; n++) i = t[n], t[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);
return e
}, clone: function () {
var e = p.clone.call(this);
return e._hash = this._hash.clone(), e
}
}), m.MD5 = p._createHelper(y), m.HmacMD5 = p._createHmacHelper(y), y = (m = _).lib, h = y.Base, z = y.WordArray, U = (y = m.algo).EvpKDF = h.extend({
cfg: h.extend({
keySize: 4,
hasher: y.MD5,
iterations: 1
}), init: function (e) {
this.cfg = this.cfg.extend(e)
}, compute: function (e, t) {
for (var n = (s = this.cfg).hasher.create(), i = z.create(), r = i.words, a = s.keySize, s = s.iterations; r.length < a;) {
o && n.update(o);
var o = n.update(e).finalize(t);
n.reset();
for (var u = 1; u < s; u++) o = n.finalize(o), n.reset();
i.concat(o)
}
return i.sigBytes = 4 * a, i
}
}), m.EvpKDF = function (e, t, n) {
return U.create(n).compute(e, t)
}, _.lib.Cipher || (y = (h = _).lib, m = y.Base, s = y.WordArray, i = y.BufferedBlockAlgorithm, r = h.enc.Base64, V = h.algo.EvpKDF, a = y.Cipher = i.extend({
cfg: m.extend(),
createEncryptor: function (e, t) {
return this.create(this._ENC_XFORM_MODE, e, t)
},
createDecryptor: function (e, t) {
return this.create(this._DEC_XFORM_MODE, e, t)
},
init: function (e, t, n) {
this.cfg = this.cfg.extend(n), this._xformMode = e, this._key = t, this.reset()
},
reset: function () {
i.reset.call(this), this._doReset()
},
process: function (e) {
return this._append(e), this._process()
},
finalize: function (e) {
return e && this._append(e), this._doFinalize()
},
keySize: 4,
ivSize: 4,
_ENC_XFORM_MODE: 1,
_DEC_XFORM_MODE: 2,
_createHelper: function (i) {
return {
encrypt: function (e, t, n) {
return ("string" == typeof t ? c : l).encrypt(i, e, t, n)
}, decrypt: function (e, t, n) {
return ("string" == typeof t ? c : l).decrypt(i, e, t, n)
}
}
}
}), y.StreamCipher = a.extend({
_doFinalize: function () {
return this._process(!0)
}, blockSize: 1
}), M = h.mode = {}, (g = (y.BlockCipherMode = m.extend({
createEncryptor: function (e, t) {
return this.Encryptor.create(e, t)
}, createDecryptor: function (e, t) {
return this.Decryptor.create(e, t)
}, init: function (e, t) {
this._cipher = e, this._iv = t
}
})).extend()).Encryptor = g.extend({
processBlock: function (e, t) {
var n = this._cipher, i = n.blockSize;
q.call(this, e, t, i), n.encryptBlock(e, t), this._prevBlock = e.slice(t, t + i)
}
}), g.Decryptor = g.extend({
processBlock: function (e, t) {
var n = this._cipher, i = n.blockSize, r = e.slice(t, t + i);
n.decryptBlock(e, t), q.call(this, e, t, i), this._prevBlock = r
}
}), M = M.CBC = g, g = (h.pad = {}).Pkcs7 = {
pad: function (e, t) {
for (var n = 4 * t, i = (n = n - e.sigBytes % n) << 24 | n << 16 | n << 8 | n, r = [], a = 0; a < n; a += 4) r.push(i);
n = s.create(r, n), e.concat(n)
}, unpad: function (e) {
e.sigBytes -= 255 & e.words[e.sigBytes - 1 >>> 2]
}
}, y.BlockCipher = a.extend({
cfg: a.cfg.extend({mode: M, padding: g}), reset: function () {
a.reset.call(this);
var e, t = (n = this.cfg).iv, n = n.mode;
this._xformMode == this._ENC_XFORM_MODE ? e = n.createEncryptor : (e = n.createDecryptor, this._minBufferSize = 1), this._mode = e.call(n, this, t && t.words)
}, _doProcessBlock: function (e, t) {
this._mode.processBlock(e, t)
}, _doFinalize: function () {
var e, t = this.cfg.padding;
return this._xformMode == this._ENC_XFORM_MODE ? (t.pad(this._data, this.blockSize), e = this._process(!0)) : (e = this._process(!0), t.unpad(e)), e
}, blockSize: 4
}), d = y.CipherParams = m.extend({
init: function (e) {
this.mixIn(e)
}, toString: function (e) {
return (e || this.formatter).stringify(this)
}
}), M = (h.format = {}).OpenSSL = {
stringify: function (e) {
var t = e.ciphertext;
return ((e = e.salt) ? s.create([1398893684, 1701076831]).concat(e).concat(t) : t).toString(r)
}, parse: function (e) {
var t, n = (e = r.parse(e)).words;
return 1398893684 == n[0] && 1701076831 == n[1] && (t = s.create(n.slice(2, 4)), n.splice(0, 4), e.sigBytes -= 16), d.create({
ciphertext: e,
salt: t
})
}
}, l = y.SerializableCipher = m.extend({
cfg: m.extend({format: M}), encrypt: function (e, t, n, i) {
i = this.cfg.extend(i);
var r = e.createEncryptor(n, i);
return t = r.finalize(t), r = r.cfg, d.create({
ciphertext: t,
key: n,
iv: r.iv,
algorithm: e,
mode: r.mode,
padding: r.padding,
blockSize: e.blockSize,
formatter: i.format
})
}, decrypt: function (e, t, n, i) {
return i = this.cfg.extend(i), t = this._parse(t, i.format), e.createDecryptor(n, i).finalize(t.ciphertext)
}, _parse: function (e, t) {
return "string" == typeof e ? t.parse(e, this) : e
}
}), h = (h.kdf = {}).OpenSSL = {
execute: function (e, t, n, i) {
return i = i || s.random(8), e = V.create({keySize: t + n}).compute(e, i), n = s.create(e.words.slice(t), 4 * n), e.sigBytes = 4 * t, d.create({
key: e,
iv: n,
salt: i
})
}
}, c = y.PasswordBasedCipher = l.extend({
cfg: l.cfg.extend({kdf: h}), encrypt: function (e, t, n, i) {
return n = (i = this.cfg.extend(i)).kdf.execute(n, e.keySize, e.ivSize), i.iv = n.iv, (e = l.encrypt.call(this, e, t, n.key, i)).mixIn(n), e
}, decrypt: function (e, t, n, i) {
return i = this.cfg.extend(i), t = this._parse(t, i.format), n = i.kdf.execute(n, e.keySize, e.ivSize, t.salt), i.iv = n.iv, l.decrypt.call(this, e, t, n.key, i)
}
}));
for (var g = _, m = g.lib.BlockCipher, M = g.algo, L = [], K = [], X = [], Z = [], $ = [], Q = [], S = [], E = [], ee = [], te = [], Y = [], P = 0; P < 256; P++) Y[P] = P < 128 ? P << 1 : P << 1 ^ 283;
for (var C = 0, R = 0, P = 0; P < 256; P++) {
var A = R ^ R << 1 ^ R << 2 ^ R << 3 ^ R << 4, x = (L[C] = A = A >>> 8 ^ 255 & A ^ 99, Y[K[A] = C]),
ne = Y[x], ie = Y[ne], O = 257 * Y[A] ^ 16843008 * A;
X[C] = O << 24 | O >>> 8, Z[C] = O << 16 | O >>> 16, $[C] = O << 8 | O >>> 24, Q[C] = O, S[A] = (O = 16843009 * ie ^ 65537 * ne ^ 257 * x ^ 16843008 * C) << 24 | O >>> 8, E[A] = O << 16 | O >>> 16, ee[A] = O << 8 | O >>> 24, te[A] = O, C ? (C = x ^ Y[Y[Y[ie ^ x]]], R ^= Y[Y[R]]) : C = R = 1
}
var re = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], M = M.AES = m.extend({
_doReset: function () {
for (var e, t = (i = this._key).words, n = i.sigBytes / 4, i = 4 * ((this._nRounds = n + 6) + 1), r = this._keySchedule = [], a = 0; a < i; a++) a < n ? r[a] = t[a] : (e = r[a - 1], a % n ? 6 < n && 4 == a % n && (e = L[e >>> 24] << 24 | L[e >>> 16 & 255] << 16 | L[e >>> 8 & 255] << 8 | L[255 & e]) : (e = L[(e = e << 8 | e >>> 24) >>> 24] << 24 | L[e >>> 16 & 255] << 16 | L[e >>> 8 & 255] << 8 | L[255 & e], e ^= re[a / n | 0] << 24), r[a] = r[a - n] ^ e);
for (t = this._invKeySchedule = [], n = 0; n < i; n++) a = i - n, e = n % 4 ? r[a] : r[a - 4], t[n] = n < 4 || a <= 4 ? e : S[L[e >>> 24]] ^ E[L[e >>> 16 & 255]] ^ ee[L[e >>> 8 & 255]] ^ te[L[255 & e]]
}, encryptBlock: function (e, t) {
this._doCryptBlock(e, t, this._keySchedule, X, Z, $, Q, L)
}, decryptBlock: function (e, t) {
var n = e[t + 1];
e[t + 1] = e[t + 3], e[t + 3] = n, this._doCryptBlock(e, t, this._invKeySchedule, S, E, ee, te, K), n = e[t + 1], e[t + 1] = e[t + 3], e[t + 3] = n
}, _doCryptBlock: function (e, t, n, i, r, a, s, o) {
for (var u = this._nRounds, d = e[t] ^ n[0], l = e[t + 1] ^ n[1], h = e[t + 2] ^ n[2], c = e[t + 3] ^ n[3], _ = 4, f = 1; f < u; f++) var m = i[d >>> 24] ^ r[l >>> 16 & 255] ^ a[h >>> 8 & 255] ^ s[255 & c] ^ n[_++], p = i[l >>> 24] ^ r[h >>> 16 & 255] ^ a[c >>> 8 & 255] ^ s[255 & d] ^ n[_++], y = i[h >>> 24] ^ r[c >>> 16 & 255] ^ a[d >>> 8 & 255] ^ s[255 & l] ^ n[_++], c = i[c >>> 24] ^ r[d >>> 16 & 255] ^ a[l >>> 8 & 255] ^ s[255 & h] ^ n[_++], d = m, l = p, h = y;
m = (o[d >>> 24] << 24 | o[l >>> 16 & 255] << 16 | o[h >>> 8 & 255] << 8 | o[255 & c]) ^ n[_++], p = (o[l >>> 24] << 24 | o[h >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & d]) ^ n[_++], y = (o[h >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[d >>> 8 & 255] << 8 | o[255 & l]) ^ n[_++], c = (o[c >>> 24] << 24 | o[d >>> 16 & 255] << 16 | o[l >>> 8 & 255] << 8 | o[255 & h]) ^ n[_++], e[t] = m, e[t + 1] = p, e[t + 2] = y, e[t + 3] = c
}, keySize: 8
});
g.AES = m._createHelper(M), W.default = _
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.LocalService = void 0;
var i = s(n(56)), r = s(n(1)), a = s(n(2));
function s(e) {
return e && e.__esModule ? e : {default: e}
}
n = function () {
function e() {
(0, r.default)(this, e)
}
return (0, a.default)(e, [{
key: "createClientObject", value: function (e, t, n, i) {
return {
socket: e,
id: t,
playURL: n,
deviceSerial: i.deviceSerial || "",
verificationCode: i.verificationCode || "",
resolve: null,
reject: null,
stoping: !1
}
}
}, {
key: "playCmd", value: function (e) {
e = {
sequence: 0,
cmd: "realplay",
deviceSerial: e.deviceSerial,
verificationCode: e.verificationCode,
url: e.playURL
};
return (0, i.default)(e)
}
}, {
key: "playbackCmd", value: function (e, t, n) {
e = {
sequence: 0,
cmd: "playback",
deviceSerial: e.deviceSerial,
verificationCode: e.verificationCode,
url: e.playURL,
startTime: t,
endTime: n
};
return (0, i.default)(e)
}
}]), e
}();
t.LocalService = n
}, function (e, t) {
e.exports = function (e) {
return e.webpackPolyfill || (e.deprecate = function () {
}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
enumerable: !0,
get: function () {
return e.l
}
}), Object.defineProperty(e, "id", {
enumerable: !0, get: function () {
return e.i
}
}), e.webpackPolyfill = 1), e
}
}, function (e, t, n) {
var i = {
"./af": 92,
"./af.js": 92,
"./ar": 93,
"./ar-dz": 94,
"./ar-dz.js": 94,
"./ar-kw": 95,
"./ar-kw.js": 95,
"./ar-ly": 96,
"./ar-ly.js": 96,
"./ar-ma": 97,
"./ar-ma.js": 97,
"./ar-sa": 98,
"./ar-sa.js": 98,
"./ar-tn": 99,
"./ar-tn.js": 99,
"./ar.js": 93,
"./az": 100,
"./az.js": 100,
"./be": 101,
"./be.js": 101,
"./bg": 102,
"./bg.js": 102,
"./bm": 103,
"./bm.js": 103,
"./bn": 104,
"./bn-bd": 105,
"./bn-bd.js": 105,
"./bn.js": 104,
"./bo": 106,
"./bo.js": 106,
"./br": 107,
"./br.js": 107,
"./bs": 108,
"./bs.js": 108,
"./ca": 109,
"./ca.js": 109,
"./cs": 110,
"./cs.js": 110,
"./cv": 111,
"./cv.js": 111,
"./cy": 112,
"./cy.js": 112,
"./da": 113,
"./da.js": 113,
"./de": 114,
"./de-at": 115,
"./de-at.js": 115,
"./de-ch": 116,
"./de-ch.js": 116,
"./de.js": 114,
"./dv": 117,
"./dv.js": 117,
"./el": 118,
"./el.js": 118,
"./en-au": 119,
"./en-au.js": 119,
"./en-ca": 120,
"./en-ca.js": 120,
"./en-gb": 121,
"./en-gb.js": 121,
"./en-ie": 122,
"./en-ie.js": 122,
"./en-il": 123,
"./en-il.js": 123,
"./en-in": 124,
"./en-in.js": 124,
"./en-nz": 125,
"./en-nz.js": 125,
"./en-sg": 126,
"./en-sg.js": 126,
"./eo": 127,
"./eo.js": 127,
"./es": 128,
"./es-do": 129,
"./es-do.js": 129,
"./es-mx": 130,
"./es-mx.js": 130,
"./es-us": 131,
"./es-us.js": 131,
"./es.js": 128,
"./et": 132,
"./et.js": 132,
"./eu": 133,
"./eu.js": 133,
"./fa": 134,
"./fa.js": 134,
"./fi": 135,
"./fi.js": 135,
"./fil": 136,
"./fil.js": 136,
"./fo": 137,
"./fo.js": 137,
"./fr": 138,
"./fr-ca": 139,
"./fr-ca.js": 139,
"./fr-ch": 140,
"./fr-ch.js": 140,
"./fr.js": 138,
"./fy": 141,
"./fy.js": 141,
"./ga": 142,
"./ga.js": 142,
"./gd": 143,
"./gd.js": 143,
"./gl": 144,
"./gl.js": 144,
"./gom-deva": 145,
"./gom-deva.js": 145,
"./gom-latn": 146,
"./gom-latn.js": 146,
"./gu": 147,
"./gu.js": 147,
"./he": 148,
"./he.js": 148,
"./hi": 149,
"./hi.js": 149,
"./hr": 150,
"./hr.js": 150,
"./hu": 151,
"./hu.js": 151,
"./hy-am": 152,
"./hy-am.js": 152,
"./id": 153,
"./id.js": 153,
"./is": 154,
"./is.js": 154,
"./it": 155,
"./it-ch": 156,
"./it-ch.js": 156,
"./it.js": 155,
"./ja": 157,
"./ja.js": 157,
"./jv": 158,
"./jv.js": 158,
"./ka": 159,
"./ka.js": 159,
"./kk": 160,
"./kk.js": 160,
"./km": 161,
"./km.js": 161,
"./kn": 162,
"./kn.js": 162,
"./ko": 163,
"./ko.js": 163,
"./ku": 164,
"./ku.js": 164,
"./ky": 165,
"./ky.js": 165,
"./lb": 166,
"./lb.js": 166,
"./lo": 167,
"./lo.js": 167,
"./lt": 168,
"./lt.js": 168,
"./lv": 169,
"./lv.js": 169,
"./me": 170,
"./me.js": 170,
"./mi": 171,
"./mi.js": 171,
"./mk": 172,
"./mk.js": 172,
"./ml": 173,
"./ml.js": 173,
"./mn": 174,
"./mn.js": 174,
"./mr": 175,
"./mr.js": 175,
"./ms": 176,
"./ms-my": 177,
"./ms-my.js": 177,
"./ms.js": 176,
"./mt": 178,
"./mt.js": 178,
"./my": 179,
"./my.js": 179,
"./nb": 180,
"./nb.js": 180,
"./ne": 181,
"./ne.js": 181,
"./nl": 182,
"./nl-be": 183,
"./nl-be.js": 183,
"./nl.js": 182,
"./nn": 184,
"./nn.js": 184,
"./oc-lnc": 185,
"./oc-lnc.js": 185,
"./pa-in": 186,
"./pa-in.js": 186,
"./pl": 187,
"./pl.js": 187,
"./pt": 188,
"./pt-br": 189,
"./pt-br.js": 189,
"./pt.js": 188,
"./ro": 190,
"./ro.js": 190,
"./ru": 191,
"./ru.js": 191,
"./sd": 192,
"./sd.js": 192,
"./se": 193,
"./se.js": 193,
"./si": 194,
"./si.js": 194,
"./sk": 195,
"./sk.js": 195,
"./sl": 196,
"./sl.js": 196,
"./sq": 197,
"./sq.js": 197,
"./sr": 198,
"./sr-cyrl": 199,
"./sr-cyrl.js": 199,
"./sr.js": 198,
"./ss": 200,
"./ss.js": 200,
"./sv": 201,
"./sv.js": 201,
"./sw": 202,
"./sw.js": 202,
"./ta": 203,
"./ta.js": 203,
"./te": 204,
"./te.js": 204,
"./tet": 205,
"./tet.js": 205,
"./tg": 206,
"./tg.js": 206,
"./th": 207,
"./th.js": 207,
"./tk": 208,
"./tk.js": 208,
"./tl-ph": 209,
"./tl-ph.js": 209,
"./tlh": 210,
"./tlh.js": 210,
"./tr": 211,
"./tr.js": 211,
"./tzl": 212,
"./tzl.js": 212,
"./tzm": 213,
"./tzm-latn": 214,
"./tzm-latn.js": 214,
"./tzm.js": 213,
"./ug-cn": 215,
"./ug-cn.js": 215,
"./uk": 216,
"./uk.js": 216,
"./ur": 217,
"./ur.js": 217,
"./uz": 218,
"./uz-latn": 219,
"./uz-latn.js": 219,
"./uz.js": 218,
"./vi": 220,
"./vi.js": 220,
"./x-pseudo": 221,
"./x-pseudo.js": 221,
"./yo": 222,
"./yo.js": 222,
"./zh-cn": 223,
"./zh-cn.js": 223,
"./zh-hk": 224,
"./zh-hk.js": 224,
"./zh-mo": 225,
"./zh-mo.js": 225,
"./zh-tw": 226,
"./zh-tw.js": 226
};
function r(e) {
e = a(e);
return n(e)
}
function a(e) {
if (n.o(i, e)) return i[e];
throw(e = new Error("Cannot find module '" + e + "'")).code = "MODULE_NOT_FOUND", e
}
r.keys = function () {
return Object.keys(i)
}, r.resolve = a, (e.exports = r).id = 284
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.JSPlayCtrl = void 0;
var i = r(n(1)), n = r(n(2));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
var o = {id: null, cmd: null, data: null, errorCode: 0, status: null}, n = ((0, n.default)(a, [{
key: "PlayM4_SetStreamOpenMode", value: function (e) {
return this.iPort = this.oWASM._JSPlayM4_GetPort(), 1 !== this.oWASM._JSPlayM4_SetStreamOpenMode(this.iPort, e) ? 0 : 1
}
}, {
key: "PlayM4_OpenStream", value: function (e, t, n) {
if (this.iPort < 0) return 0;
if (!e || t <= 0 || n <= 0) return 0;
this.bPlay = !1, this.bPause = !1, this.bOnebyOne = !1, this.bIsFirstFrame = !0, this.bIsGetYUV = !1, this.bIsInput = !1;
var i = this.oWASM._malloc(t);
return i ? (this.oWASM.writeArrayToMemory(e, i), 1 !== this.oWASM._JSPlayM4_OpenStream(this.iPort, i, t, n) ? (this.oWASM._free(i), i = null, this.oWASM._JSPlayM4_FreePort(this.iPort), this.iPort = -1, 0) : (this.oWASM._JSPlayM4_SetDisplayBuf(this.iPort, 1), this.oWASM._free(i), i = null, 1)) : 0
}
}, {
key: "PlayM4_SetDisplayBuf", value: function (e) {
this.oWASM._JSPlayM4_SetDisplayBuf(this.iPort, e)
}
}, {
key: "PlayM4_OpenPlayerSDKPrintLog", value: function (e) {
e ? (console.log("JSPlaySDKInterface.js bFlag:" + e), this.oWASM._JSPlayM4_SetPrintLogFlag(this.iPort, 2)) : this.oWASM._JSPlayM4_SetPrintLogFlag(this.iPort, 0)
}
}, {
key: "SetDecodeThreadNum", value: function (e) {
this.oWASM._JSPlayM4_SetDecodeThreadNum(this.iPort, e)
}
}, {
key: "PlayM4_SetSecretKey", value: function () {
return 1
}
}, {
key: "PlayM4_RenderPrivateData", value: function (e, t) {
return this.oWASM._JSPlayM4_RenderPrivateData(this.iPort, e, t)
}
}, {
key: "PlayM4_RenderPrivateDataEx", value: function (e, t, n) {
return this.oWASM._JSPlayM4_RenderPrivateDataEx(this.iPort, e, t, n)
}
}, {
key: "stringToBytes", value: function (e) {
for (var t = void 0, n = void 0, i = [], r = 0; r < e.length; r++) {
for (t = e.charCodeAt(r), n = []; n.push(255 & t), t >>= 8;) ;
i = i.concat(n.reverse())
}
return i
}
}, {
key: "PlayM4_Play", value: function () {
if (this.pCanvasData = this.oWASM._malloc(128), null === this.pCanvasData) return 0;
this.bOnebyOne && (this.bPlayRateChange = !1, this.bOnebyOne = !1, this.bPause = !1);
!document.getElementById(this.szCanvasID) && this.clonedCanvas && this.clonedCanvasParentNode && this.clonedCanvasParentNode.appendChild(this.clonedCanvas), 0 < this.iCanvasWidth && 0 < this.iCanvasHeight && this.PlayM4_SetCanvasSize(this.iCanvasWidth, this.iCanvasHeight);
var e = this.stringToBytes("#" + this.szCanvasID),
t = this.oWASM.HEAPU8.subarray(this.pCanvasData, this.pCanvasData + 128), n = new Uint8Array(128);
t.set(n, 0), t.set(new Uint8Array(e));
return 1 !== this.oWASM._JSPlayM4_Play(this.iPort, this.pCanvasData) ? 0 : (this.oWASM._JSPlayM4_SetFrameInfoCallBack(this.iPort, 1), this.bPlay = !0, this.bPause = !1, this.bOnebyOne = !1, this.bPlaySound = !1, this.bPlayRateChange = !1, this.bOnlyPlaySound = !1, 1)
}
}, {
key: "PlayM4_OneByOne_Play", value: function () {
this.oWASM._JSPlayM4_Play(this.iPort, this.pCanvasData), this.bPlayRateChange = !1, this.bOnebyOne = !1, this.bPause = !1
}
}, {
key: "Sleep", value: function (e) {
for (var t = (new Date).getTime(); (new Date).getTime() - t < e;) ;
}
}, {
key: "PlayM4_InputData", value: function (e, t) {
var n = 1;
if (0 < t) {
var i = this.oWASM._malloc(t);
if (null === i) return 0;
var r = new Uint8Array(e.buffer);
this.oWASM.writeArrayToMemory(r, i), this.bIsFirstFrame && this.inputDataFun(), this.bOnebyOne ? 1 !== this.oWASM._JSPlayM4_InputData(this.iPort, i, t) && (11 === (n = this.oWASM._JSPlayM4_GetLastError(this.iPort)) && (this.setCallBack(this, "OnebyOne", 0, 0, !1), this.bIsFirstFrame = !0), this.aInputDataBuffer.push(e)) : 1 !== this.oWASM._JSPlayM4_InputData(this.iPort, i, t) && (n = this.oWASM._JSPlayM4_GetLastError(this.iPort)), this.oWASM._free(i), i = null
}
return n
}
}, {
key: "inputDataFun", value: function () {
if (this.bIsGetYUV = !1, this.bPlay && (!this.bPause || this.bOnebyOne) || this.bOnlyPlaySound) for (; 0 < this.aInputDataBuffer.length;) {
var e = this.aInputDataBuffer.shift(),
t = this.oWASM._JSPlayM4_InputData(this.iPort, e, e.byteLength);
if (1 !== t) if (11 === this.oWASM._JSPlayM4_GetLastError(this.iPort)) {
this.bIsFirstFrame = !0, this.aInputDataBuffer.unshift(e);
break
}
}
this.bIsFirstFrame = !1
}
}, {
key: "PlayM4_Stop", value: function () {
this.bPlaySound && (this.PlayM4_StopSound(), this.bPlaySound = !1), this.bPlay = !1, this.bOnebyOne = !1, this.bPause = !1, this.oWASM._JSPlayM4_SetFrameInfoCallBack(this.iPort, 0), this.PlayM4_SetDisplayRegion(null, !1), this.oWASM._JSPlayM4_Stop(this.iPort), this.oWASM._JSPlayM4_CloseStream(this.iPort), this.oWASM._JSPlayM4_FreePort(this.iPort), this.iPort = -1;
var e = document.getElementById(this.szCanvasID);
e && (this.clonedCanvas = e.cloneNode(!0), this.clonedCanvasParentNode = e.parentNode, this.clonedCanvasParentNode.replaceChild(this.clonedCanvas, e)), null !== this.pCanvasData && (this.oWASM._free(this.pCanvasData), this.pCanvasData = null)
}
}, {
key: "PlayM4_PlayRate", value: function (e) {
return this.bPlayRateChange = 1 !== e, this.iInputDataLen = 5e3 * e, 1
}
}, {
key: "PlayM4_Fast", value: function (e) {
this.bPlayRateChange = 1 !== e, this.oWASM._JSPlayM4_Fast(this.iPort)
}
}, {
key: "PlayM4_Slow", value: function (e) {
this.bPlayRateChange = 1 !== e, this.oWASM._JSPlayM4_Slow(this.iPort)
}
}, {
key: "PlayM4_Pause", value: function (e) {
return !this.bPlay || this.bOnebyOne ? 2 : ("boolean" == typeof e && (this.bPause = e, this.bIsFirstFrame = !0, e ? (this.bPlaySound && (this.PlayM4_StopSound(), this.bPlaySound = !0), this.oWASM._JSPlayM4_Pause(this.iPort, 1)) : (this.bPlaySound && this.PlayM4_PlaySound(), this.oWASM._JSPlayM4_Pause(this.iPort, 0))), 1)
}
}, {
key: "PlayM4_OneByOne", value: function () {
return this.bPlay ? (this.oWASM._JSPlayM4_GetSourceBufferRemain(this.iPort) < this.oWASM._JSPlayM4_GetBufferValue(this.iPort, 1) / 2 && (this.bIsInputBufOver = !1, this.setCallBack(this, "OnebyOne", 0, 31, !0)), this.iInputDataLen = 5e3, this.oWASM._JSPlayM4_OneByOne(this.iPort), this.bPause = !0, this.bOnebyOne = !0, this.bPlayRateChange = !0, 1) : 2
}
}, {
key: "PlayM4_PlaySound", value: function (e) {
return e < 0 || 16 < e || 1 === this.oWASM._JSPlayM4_PlaySound(this.iPort) && (this.bPlaySound = !0, this.oWASM._JSPlayM4_SetANRParam(3)), 1
}
}, {
key: "PlayM4_StopSound", value: function () {
return this.bPlaySound ? (1 === this.oWASM._JSPlayM4_StopSound(this.iPort) && (this.bPlaySound = !1), 1) : 2
}
}, {
key: "PlayM4_SetSecretKey", value: function () {
}
}, {
key: "PlayM4_SetDecodeFrameType", value: function (e) {
return 0 !== e && 1 !== e || (this.nDecFrameType = e, this.oWASM._JSPlayM4_SetDecodeFrameType(this.iPort, e)), 1
}
}, {
key: "PlayM4_SetIFrameDecInterval", value: function (e) {
return 1 !== this.nDecFrameType ? 2 : (e < 0 || (this.oWASM._JSPlayM4_SetDecodeFrameType(this.iPort, 1), this.oWASM._JSPlayM4_SetIFrameDecInterval(this.iPort, e)), 1)
}
}, {
key: "PlayM4_SetDisplayRegion", value: function (e, t) {
if (null === this.szCanvasID) return 2;
if (!0 !== t) return 1 === this.oWASM._JSPlayM4_SetDisplayRegion(this.iPort, this.pCanvasData, 0, this.iYUVWidth, 0, this.iYUVHeight) ? (this.iZoomNum = 0, this.bDisRect = !1, 1) : this.PlayM4_GetLastError();
if (null == e) return 1;
if ("number" != typeof e.left || "number" != typeof e.top || "number" != typeof e.right || "number" != typeof e.bottom) return 1;
if (e.right < 0 || e.left < 0 || e.top < 0 || e.bottom < 0) return 1;
var n, t = e.left, i = e.right, r = e.top, e = e.bottom,
a = document.getElementById(this.szCanvasID).getBoundingClientRect();
if (this.iCanvasWidth = a.width, this.iCanvasHeight = a.height, i - t < 16 || e - r < 16 || i - t > this.iCanvasWidth || e - r > this.iCanvasHeight) return 1;
e = 0 !== this.iZoomNum ? (t = Math.round(t / this.iRatio_x) + this.stDisplayRect.left, r = Math.round(r / this.iRatio_y) + this.stDisplayRect.top, i = Math.round(i / this.iRatio_x) + this.stDisplayRect.left, Math.round(e / this.iRatio_y) + this.stDisplayRect.top) : (a = this.iYUVWidth / this.iCanvasWidth, n = this.iYUVHeight / this.iCanvasHeight, t = Math.round(t * a), r = Math.round(r * n), i = Math.round(i * a), Math.round(e * n)), this.stDisplayRect = {
top: r,
left: t,
right: i,
bottom: e
}, this.bDisRect = !0;
a = e - r;
return this.iRatio_x = this.iCanvasWidth / (i - t), this.iRatio_y = this.iCanvasHeight / a, this.iZoomNum++, this.oWASM._JSPlayM4_SetDisplayRegion(this.iPort, this.pCanvasData, this.stDisplayRect.left, this.stDisplayRect.right, this.stDisplayRect.top, this.stDisplayRect.bottom)
}
}, {
key: "PlayM4_GetJPEG", value: function (e) {
var t, n = this.iYUVWidth * this.iYUVHeight * 4 + 60, i = this.oWASM._malloc(n),
r = this.oWASM._malloc(4);
null !== i && (this.oWASM._JSPlayM4_GetJPEG(this.iPort, i, n, r), 0 < (n = this.oWASM.getValue(r, "i32")) ? ((t = new Uint8Array(n)).set(this.oWASM.HEAPU8.subarray(i, i + n)), e(t)) : e(6), this.oWASM._free(i), this.oWASM._free(r), i = null)
}
}, {
key: "PlayM4_GetBMP", value: function (e) {
var t, n = this.iYUVWidth * this.iYUVHeight * 4 + 60, i = this.oWASM._malloc(n),
r = this.oWASM._malloc(4);
null !== i && (this.oWASM._JSPlayM4_GetBMP(this.iPort, i, n, r), 0 < (n = this.oWASM.getValue(r, "i32")) ? ((t = new Uint8Array(n)).set(this.oWASM.HEAPU8.subarray(i, i + n)), e(t)) : e(6), this.oWASM._free(i), this.oWASM._free(r), i = null)
}
}, {
key: "PlayM4_SetVolume", value: function (e) {
return this.oWASM._JSPlayM4_SetVolume(this.iPort, e)
}
}, {
key: "PlayM4_GetVolume", value: function (e) {
var t;
return e && "function" == typeof e ? null === (t = this.oWASM._JSPlayM4_GetVolume(this.iPort)) ? 63 : (e(Math.round(t)), 1) : 1
}
}, {
key: "PlayM4_GetDecodeFrameType", value: function () {
return this.nDecFrameType
}
}, {
key: "PlayM4_GetSdkVersion", value: function () {
return this.oWASM.JSPlayM4_GetSDKVersion()
}
}, {
key: "PlayM4_SetCanvasSize", value: function (e, t) {
!document.getElementById(this.szCanvasID) && this.clonedCanvas && (this.iCanvasWidth = e, this.iCanvasHeight = t, this.clonedCanvas.width = e, this.clonedCanvas.height = t), -1 < this.iPort && this.oWASM._JSPlayM4_SetCanvasSize(this.iPort, e, t)
}
}, {
key: "PlayM4_SetAntialias", value: function (e) {
return this.oWASM._JSPlayM4_SetAntialias(this.iPort, e)
}
}, {
key: "PlayM4_GetSourceBufferRemain", value: function () {
return this.oWASM._JSPlayM4_GetSourceBufferRemain(this.iPort)
}
}, {
key: "PlayM4_GetBufferValue", value: function (e) {
return this.oWASM._JSPlayM4_GetBufferValue(this.iPort, e)
}
}, {
key: "PlayM4_GetLastError", value: function () {
return this.oWASM._JSPlayM4_GetLastError(this.iPort)
}
}, {
key: "PlayM4_GetFrameInfo", value: function (e) {
var t, n;
e && "function" == typeof e && (t = {
port: 0,
frameType: 0,
frameSize: 0,
width: 0,
height: 0,
timeStamp: 0,
frameRate: 0,
bitPerSample: 0,
samplesPerSec: 0,
channel: 0,
frameNum: 0,
cropLeft: 0,
cropRight: 0,
cropTop: 0,
cropBottom: 0,
year: 0,
month: 0,
week: 0,
day: 0,
hour: 0,
minute: 0,
second: 0,
milliseconds: 0
}, n = this.oWASM._JSPlayM4_GetFrameInfo(this.iPort), t.port = this.oWASM.HEAP32[n >> 2], t.frameType = this.oWASM.HEAP32[n + 4 >> 2], t.frameSize = this.oWASM.HEAP32[n + 8 >> 2], t.width = this.oWASM.HEAP32[n + 12 >> 2], t.height = this.oWASM.HEAP32[n + 16 >> 2], t.timeStamp = this.oWASM.HEAP32[n + 20 >> 2], t.frameRate = this.oWASM.HEAP32[n + 24 >> 2], t.bitPerSample = this.oWASM.HEAP32[n + 28 >> 2], t.samplesPerSec = this.oWASM.HEAP32[n + 32 >> 2], t.channel = this.oWASM.HEAP32[n + 36 >> 2], t.frameNum = this.oWASM.HEAP32[n + 40 >> 2], t.cropLeft = this.oWASM.HEAP32[n + 44 >> 2], t.cropRight = this.oWASM.HEAP32[n + 48 >> 2], t.cropTop = this.oWASM.HEAP32[n + 52 >> 2], t.cropBottom = this.oWASM.HEAP32[n + 56 >> 2], t.year = this.oWASM.HEAP16[n + 60 >> 1], t.month = this.oWASM.HEAP16[n + 62 >> 1], t.week = this.oWASM.HEAP16[n + 64 >> 1], t.day = this.oWASM.HEAP16[n + 66 >> 1], t.hour = this.oWASM.HEAP16[n + 68 >> 1], t.minute = this.oWASM.HEAP16[n + 70 >> 1], t.second = this.oWASM.HEAP16[n + 72 >> 1], t.milliseconds = this.oWASM.HEAP16[n + 74 >> 1], e(t))
}
}, {
key: "PlayM4_ReversePlay", value: function () {
return this.oWASM._JSPlayM4_ReversePlay(this.iPort)
}
}, {
key: "PlayM4_SetAdditionDataCallBack", value: function (e, t) {
return this.oWASM._JSPlayM4_SetAdditionDataCallBack(this.iPort, e, t)
}
}]), a);
function a(e, t, n, s) {
(0, i.default)(this, a), this.szCanvasID = e, this.clonedCanvas = null, this.oWASM = null, this.iPort = -1, this.pCanvasData = null, this.iYUVWidth = 0, this.iYUVHeight = 0, this.bPlay = !1, this.bPause = !1, this.bOnebyOne = !1, this.bIsFirstFrame = !0, this.bIsGetYUV = !1, this.bIsInput = !1, this.iZoomNum = 0, this.iCanvasWidth = 0, this.iCanvasHeight = 0, this.nDecFrameType = 0, n && "function" == typeof n && (this.fnCallBack = n), this.aInputDataBuffer = [], this.setCallBack = function (e, t, n, i, r) {
var a = o;
a.id = s, a.cmd = t, a.data = n, a.errorCode = i, a.status = r, (a.instance = e).fnCallBack(a)
}, this.aInputDataLens = [], this.aInputDataBuffer = [], this.bIsGetYUV = !1, this.bIsFirstFrame = !0, this.iInputMaxBufSize = 5242880, this.bIsInput = !1, this.bIsInputBufOver = !1, this.iInputDataLen = 5e3, t && (this.oWASM = t)
}
t.JSPlayCtrl = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.JSPlayCtrl = void 0;
var i = u(n(53)), r = u(n(54)), a = u(n(1)), s = u(n(2)), o = u(n(11));
function u(e) {
return e && e.__esModule ? e : {default: e}
}
var d = 28944, l = 28945, h = 29217, c = 29280, f = 29281, m = 29282, p = 8193, y = 8192, v = 4096,
g = {width: 0, height: 0, frameNum: 0, yuvData: null},
M = {width: 0, height: 0, frameNum: 0, yuvData: null},
L = {sampleRate: 0, channel: 0, bitsPerSample: 0, length: 0, pcmData: null}, _ = !1, S = !1, k = !1,
b = {id: null, cmd: null, data: null, errorCode: 0, status: null};
function w(n) {
return new o.default(function (e) {
var t = document.createElement("script");
t.type = "text/javascript", t.src = n, t.onload = function () {
e()
}, document.body.appendChild(t)
})
}
var D;
t.JSPlayCtrl = ((0, s.default)(T, [{
key: "_loadRenderFiles",
value: (D = (0, r.default)(i.default.mark(function e() {
return i.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if (S && _) {
e.next = 5;
break
}
return e.next = 3, o.default.all([w(this.szBasePath + "AudioRenderer.js"), w(this.szBasePath + "SuperRender_10.js")]);
case 3:
_ = S = !0;
case 5:
case"end":
return e.stop()
}
}, e, this)
})), function () {
return D.apply(this, arguments)
})
}, {
key: "PlayM4_SetCurrentFrameNum", value: function (e, t) {
return null != this.decodeWorker && null != this.oSuperRender && this.bPlay ? e < 0 || 0 !== t && 1 !== t ? this.iLastErrorCode = 0 : this.PlayM4_SetPlayPosition(0, e, t) : this.iLastErrorCode = 2
}
}, {
key: "PlayM4_SetPlayPosition", value: function (e, t, n) {
return null != this.decodeWorker && null != this.oSuperRender && this.bPlay ? 0 !== e && 1 !== e || t < 0 || 0 !== n && 1 !== n ? this.iLastErrorCode = 0 : (this.SetPlayPositionFlag = !0, this.iFrameNumOrTime = t, this.bSetPlayPositionType = n, this.decodeWorker.postMessage({
command: "SetPlayPosition",
data: this.iFrameNumOrTime,
type: e
}), this.aAudioBuffer.splice(0, this.aAudioBuffer.length), this.iAudioBufferSize = 0, this.aVideoFrameBuffer.splice(0, this.aVideoFrameBuffer.length), this.aInputDataBuffer.splice(0, this.aInputDataBuffer.length), this.aInputDataLens.splice(0, this.aInputDataLens.length), this.bIsFirstFrame = !0, this.bIsInputBufOver = !1, this.iLastErrorCode = 1) : this.iLastErrorCode = 2
}
}, {
key: "PlayM4_OpenPlayerSDKPrintLog", value: function (e) {
return k = !0 === e, this.decodeWorker.postMessage({
command: "printLog",
data: e
}), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_DownloadYUVdata", value: function () {
return this.bWriteYUVData = !0, this.iLastErrorCode = 1
}
}, {
key: "PlayM4_DownloadPCMdata", value: function () {
return this.bWritePCMData = !0, this.iLastErrorCode = 1
}
}, {
key: "PlayM4_SetDecCallBack", value: function (e) {
return k && console.log(">>>JS MainThread-PlayM4_SetDecCallBack"), e && "function" == typeof e ? (this.DecCallBackFun = e, this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_SetDisplayCallBack", value: function (e) {
return k && console.log(">>>JS MainThread-PlayM4_SetDisplayCallBack"), e && "function" == typeof e ? (this.DisplayCallBackFun = e, this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_SetPCMCallBack", value: function (e) {
return k && console.log(">>>JS MainThread-PlayM4_SetDisplayCallBack"), e && "function" == typeof e ? (this.PCMCallBackFun = e, this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_SetStreamOpenMode", value: function (e) {
return null == e || void 0 === e || 0 !== e && 1 !== e ? this.iLastErrorCode = 0 : (this.streamOpenMode = e, k && console.log(">>>JS PlayM4_SetStreamOpenMode nMode:" + e), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_DownloadRTPData", value: function (e) {
this.downloadRTP = e
}
}, {
key: "PlayM4_OpenStream", value: function (e, t, n) {
if (k && console.log(">>>JS PlayM4_OpenStream 1 nSysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), null == this.decodeWorker) return this.iLastErrorCode = 2;
if (this.downloadRTP && (i = new Uint8Array(e.buffer), this.DownloadRTPData(i), console.log("write 40 hik head")), null == e || t <= 0 || n <= 0) return this.iLastErrorCode = 0;
this.bPlay = !1, this.bPause = !1, this.bOnebyOne = !1, this.bIsFirstFrame = !0, this.bIsGetYUV = !1, this.bIsInput = !1;
var i = this.checkAudioType(e);
return this.bAudioTypeSupport = 1 === i, this.decodeWorker.postMessage({
command: "SetStreamOpenMode",
data: this.streamOpenMode
}), k && console.log(">>>JS PlayM4_OpenStream 2 nSysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), this.decodeWorker.postMessage({
command: "OpenStream",
data: e,
dataSize: t,
bufPoolSize: n
}), k && console.log(">>>JS PlayM4_OpenStream 3 nSysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), this.bOpenStream = !0, this.iLastErrorCode = 1
}
}, {
key: "PlayM4_CloseStream", value: function () {
return k && console.log(">>>JS PlayM4_CloseStream 1 nSysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), null === this.decodeWorker || !1 === this.bOpenStream ? this.iLastErrorCode = 2 : (this.bOnlyPlaySound = !1, this.PlayM4_Stop(), this.decodeWorker.postMessage({command: "CloseStream"}), null !== this.oSuperRender && (this.oSuperRender.SR_Destroy(), this.oSuperRender = null), null !== this.audioRenderer && (this.audioRenderer.Stop(), this.audioRenderer = null), this.aAudioBuffer.splice(0, this.aAudioBuffer.length), this.aVideoFrameBuffer.splice(0, this.aVideoFrameBuffer.length), this.aInputDataBuffer.splice(0, this.aInputDataBuffer.length), this.aInputDataLens.splice(0, this.aInputDataLens.length), this.aAudioEncBuffer.splice(0, this.aAudioEncBuffer.length), this.aVideoYUVBuffer.splice(0, this.aVideoYUVBuffer.length), this.aAudioPCMBuffer.splice(0, this.aAudioPCMBuffer.length), this.aRawDataBuffer.splice(0, this.aRawDataBuffer.length), this.bOpenStream = !1, this.iAudioBufferSize = 0, this.szOSDTime = null, this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_Destroy", value: function () {
return k && console.log(">>>JS PlayM4_Destroy 1 nSysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), null === this.decodeWorker || (this.PlayM4_CloseStream(), this.decodeWorker.terminate(), this.decodeWorker = null), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_InputData", value: function (e, t) {
var n = this.aInputDataBuffer.length;
if (4 === t) {
var i = new Uint8Array(e.buffer);
if (1 === i[0] && 2 === i[1] && 3 === i[2] && 4 === i[3]) return k && console.log(">>>JS PlaySDKInterface PlayM4_InputData:intput end"), this.bIsFirstFrame ? (k && console.log(">>>JS inputData FirstTime"), this.inputDataFun()) : this.bIsGetYUV ? this.inputDataFun() : this.bIsInput = !0, i = null, this.iLastErrorCode = 1
}
if (n + t > this.iInputMaxBufSize) return console.log("input over"), this.inputDataFun(), this.iLastErrorCode = 11;
var r = null, a = t;
switch (this.streamOpenMode) {
case 1:
r = new Uint8Array(e.buffer), this.downloadRTP && (this.DownloadRTPData(r), this.rtpNum++, console.log("rtpNUm:" + this.rtpNum)), this.aInputDataLens.push(t);
break;
case 0:
var a = t + 4, s = new Uint32Array([t]), s = new Uint8Array(s.buffer);
(r = new Uint8Array(a)).set(s, 0), r.set(e, 4), this.downloadRTP && (this.DownloadRTPData(r), this.rtpNum++, console.log("rtpNUm:" + this.rtpNum)), 0, this.aInputDataLens.push(t + 4);
break;
default:
return this.iLastErrorCode = 16
}
for (var o = 0; o < a; o++) this.aInputDataBuffer[n + o] = r[o];
return this.bPlay && null !== this.decodeWorker && !1 !== this.bOpenStream && (r = null, k && console.log(">>>JS PlayM4_InputData 1 nSize:%d, iInputBufLen:%d, iInputMaxBufSize;%d", t, this.aInputDataBuffer.length, this.iInputMaxBufSize), this.bOnlyPlaySound ? (k && console.log(">>>JS PlayM4_InputData: OnlyPlaySound"), this.inputDataFun()) : this.bIsFirstFrame ? (k && console.log(">>>JS PlayM4_InputData is firstFrame"), this.inputDataFun()) : this.bIsGetYUV ? (k && console.log(">>>JS PlayM4_InputData is GetYUV"), this.inputDataFun()) : (k && console.log(">>>JS PlayM4_InputData 1-3 sysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), this.bIsInput = !0), this.iLastErrorCode = 1), 1
}
}, {
key: "DownloadRTPData", value: function (e) {
if (this.bWriteRTPData) {
for (var t = new Uint8Array(e), n = this.aRTPDataBuffer.length, i = 0, r = t.length; i < r; i++) this.aRTPDataBuffer[n + i] = t[i];
this.iRTPDataSize++, t = null
}
this.bWriteRTPData && 200 <= this.iRTPDataSize && (console.log("download200RTPdata"), e = new Uint8Array(this.aRTPDataBuffer), this.downloadFile(e, "RTP.data"), this.aRTPDataBuffer.splice(0, this.aRTPDataBuffer.length), this.bWriteRTPData = !1, this.iRTPDataSize = 0, this.rtpNum = 0, this.downloadRTP = !1)
}
}, {
key: "PlayM4_Play", value: function (e) {
if (null === this.decodeWorker) return this.iLastErrorCode = 2;
if (k && console.log(">>>JS PlayM4_Play canvasID: " + e), null === e) this.bOnlyPlaySound = !0, this.sCanvasId = null; else {
if ("string" != typeof e) return this.iLastErrorCode = 0;
if (this.bOnebyOne && (this.bPlayRateChange = !1, this.bOnebyOne = !1, this.bPause = !1, this.draw()), this.bPlay) return this.iLastErrorCode = 1;
if (null == this.oSuperRender && (this.oSuperRender = new SuperRender(e, this.szBasePath), null == this.oSuperRender)) return this.iLastErrorCode = 61;
this.sCanvasId = e, this.bPlay = !0, this.bPause = !1, this.bOnebyOne = !1, this.bPlaySound = !1, this.bPlayRateChange = !1, this.bOnlyPlaySound = !1, this.draw()
}
return null == this.audioRenderer && (this.audioRenderer = new AudioRenderer, null == this.audioRenderer) ? this.iLastErrorCode = 61 : this.iLastErrorCode = 1
}
}, {
key: "PlayM4_Stop", value: function () {
if (k && console.log(">>>JS PlayM4_Stop 1"), null == this.decodeWorker || null == this.oSuperRender) return this.iLastErrorCode = 2;
if (!this.bPlay) return this.iLastErrorCode = 2;
this.bPlaySound && (this.PlayM4_StopSound(), this.bPlaySound = !0), this.bPlay = !1, this.bOnebyOne = !1, this.bPause = !1, this.oSuperRender.SR_SetDisplayRect(null), this.iZoomNum = 0, this.bDisRect = !1, this.oSuperRender.SR_DisplayFrameData(this.nWidth, this.nHeight, null);
var e = document.getElementById(this.sCanvasId);
return e && (this.clonedCanvas = e.cloneNode(!0), this.clonedCanvasParentNode = e.parentNode, this.clonedCanvasParentNode.replaceChild(this.clonedCanvas, e)), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_PlayRate", value: function (e) {
return null == this.decodeWorker ? this.iLastErrorCode = 2 : (this.bPlayRateChange = 1 !== e, this.iInputDataLen = 20480 * (e = e < 1 ? 1 : e), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_Pause", value: function (e) {
return null == this.decodeWorker || null == this.oSuperRender || !this.bPlay || this.bOnebyOne ? this.iLastErrorCode = 2 : "boolean" != typeof e ? this.iLastErrorCode = 0 : (this.bPause = e, this.bIsFirstFrame = !0, k && console.log(">>>JS PlayM4_Pause:" + e), e ? this.bPlaySound && (this.PlayM4_StopSound(), this.bPlaySound = !0) : (this.bPlaySound && this.PlayM4_PlaySound(), this.draw()), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_OneByOne", value: function (e) {
return null != this.decodeWorker && null != this.oSuperRender && this.bPlay ? 10 < e || e <= 0 ? this.iLastErrorCode = 0 : (e = e || 1, this.iInputDataLen = 20480, this.FrameForwardLen = e, this.bPause = !0, this.bOnebyOne = !0, this.bIsFirstFrame = !0, this.draw(), this.iLastErrorCode = 1) : this.iLastErrorCode = 2
}
}, {
key: "PlayM4_PlaySound", value: function (e) {
return null === this.decodeWorker || !1 === this.bOpenStream ? this.iLastErrorCode = 2 : this.bAudioTypeSupport ? e < 0 || 16 < e ? this.iLastErrorCode = 0 : null == this.audioRenderer && (this.audioRenderer = new AudioRenderer, null == this.audioRenderer) ? this.iLastErrorCode = 61 : (this.audioRenderer.SetWndNum(e), this.audioRenderer.oAudioContext.resume(), this.bPlaySound = !0, this.iLastErrorCode = 1) : this.iLastErrorCode = 16
}
}, {
key: "PlayM4_StopSound", value: function () {
return null != this.decodeWorker && null != this.audioRenderer && this.bPlaySound ? (this.bPlaySound = !1, this.iLastErrorCode = 1) : this.iLastErrorCode = 2
}
}, {
key: "PlayM4_SetDisplayBuf", value: function (e) {
return null == this.decodeWorker ? this.iLastErrorCode = 2 : e <= 0 ? this.iLastErrorCode = 0 : (this.YUVBufferSize = e, this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_SetSecretKey", value: function (e, t, n) {
if (null == this.decodeWorker || !1 === this.bOpenStream) return this.iLastErrorCode = 2;
if (null == t) return this.iLastErrorCode = 0;
if (1 === e) {
if (128 !== n) return this.iLastErrorCode = 0;
if (null == t || void 0 === t) return this.iLastErrorCode = 0
} else if (0 !== e) return this.iLastErrorCode = 0;
return this.decodeWorker.postMessage({
command: "SetSecretKey",
data: t,
nKeyType: e,
nKeyLen: n
}), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_SetDecodeFrameType", value: function (e) {
return null == this.decodeWorker || null == this.oSuperRender ? this.iLastErrorCode = 2 : 0 !== e && 1 !== e ? this.iLastErrorCode = 0 : (k && (console.log(">>>JS PlayM4_SetDecodeFrameType"), console.log(e)), this.nDecFrameType = e, this.decodeWorker.postMessage({
command: "SetDecodeFrameType",
data: e
}), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_SetIFrameDecInterval", value: function (e) {
return 1 !== this.nDecFrameType ? this.iLastErrorCode = 2 : e < 0 ? this.iLastErrorCode = 0 : (this.decodeWorker.postMessage({
command: "SetIFrameDecInterval",
data: e
}), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_SetLostFrameMode", value: function (e) {
return e < 0 || 1 < e ? 0 : (this.decodeWorker.postMessage({command: "SetLostFrameMode", data: e}), 1)
}
}, {
key: "PlayM4_SetDisplayRegion", value: function (e, t) {
if (k && console.log("PlayM4_SetDisplayRegion "), null === this.decodeWorker || !1 === this.bPlay || null === this.oSuperRender || null === this.canvasId) return this.iLastErrorCode = 2;
if (!0 === t) {
if (null == e) return k && console.log("PlayM4_SetDisplayRegion: dipalyRect is null"), this.iLastErrorCode = 0;
if ("number" != typeof e.left || "number" != typeof e.top || "number" != typeof e.right || "number" != typeof e.bottom) return this.iLastErrorCode = 0;
if (e.right < 0 || e.left < 0 || e.top < 0 || e.bottom < 0) return k && console.log("PlayM4_SetDisplayRegion: dipalyRect rectParameter is wrong"), this.iLastErrorCode = 0;
var t = e.left, n = e.right, i = e.top, e = e.bottom,
r = document.getElementById(this.sCanvasId).getBoundingClientRect();
if (this.iCanvasWidth = r.width, this.iCanvasHeight = r.height, n - t < 16 || e - i < 16 || n - t > this.iCanvasWidth || e - i > this.iCanvasHeight) return this.iLastErrorCode = 0;
0 !== this.iZoomNum && (t = Math.round(t / this.iRatio_x) + this.stDisplayRect.left, i = Math.round(i / this.iRatio_y) + this.stDisplayRect.top, n = Math.round(n / this.iRatio_x) + this.stDisplayRect.left, e = Math.round(e / this.iRatio_y) + this.stDisplayRect.top), this.stDisplayRect = {
top: i,
left: t,
right: n,
bottom: e
}, this.oSuperRender.SR_SetDisplayRect(this.stDisplayRect), this.bDisRect = !0;
r = e - i;
this.iRatio_x = this.iCanvasWidth / (n - t), this.iRatio_y = this.iCanvasHeight / r, this.iZoomNum++
} else this.oSuperRender.SR_SetDisplayRect(null), this.iZoomNum = 0, this.bDisRect = !1;
return (this.bPause || this.bOnebyOne || this.bPlayRateChange) && this.oSuperRender.SR_DisplayFrameData(this.nWidth, this.nHeight, new Uint8Array(this.aDisplayBuf)), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_GetBMP", value: function (e) {
return this.getPic(e, "GetBMP")
}
}, {
key: "PlayM4_GetJPEG", value: function (e) {
return this.getPic(e, "GetJPEG")
}
}, {
key: "PlayM4_SetVolume", value: function (e) {
return null == this.decodeWorker || null == this.audioRenderer ? this.iLastErrorCode = 2 : e < 0 || 100 < e ? this.iLastErrorCode = 0 : (this.audioRenderer.SetVolume(e / 100), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_GetVolume", value: function (e) {
return null == this.decodeWorker || null == this.audioRenderer ? this.iLastErrorCode = 2 : e && "function" == typeof e ? null === (t = this.audioRenderer.GetVolume()) ? 63 : (e(10 * Math.round(10 * t)), this.iLastErrorCode = 1) : this.iLastErrorCode = 0;
var t
}
}, {
key: "PlayM4_GetOSDTime", value: function (e) {
return null != this.decodeWorker && this.bPlay ? e && "function" == typeof e ? (e(this.szOSDTime), this.iLastErrorCode = 1) : this.iLastErrorCode = 0 : this.iLastErrorCode = 2
}
}, {
key: "PlayM4_IsVisible", value: function (e) {
return this.bVisibility = e, k && console.log(">>>JS PlayM4_IsVisible visibility:" + e), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_GetSdkVersion", value: function () {
return "20211104"
}
}, {
key: "PlayM4_GetBuildDate", value: function () {
return "20210923"
}
}, {
key: "PlayM4_GetInputBufSize", value: function () {
return this.aInputDataBuffer.length
}
}, {
key: "PlayM4_SetInputBufSize", value: function (e) {
return 0 < e ? (this.iInputMaxBufSize = e, this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_GetYUVBufSize", value: function () {
return this.aVideoFrameBuffer.length
}
}, {
key: "PlayM4_GetFrameResolution", value: function (e) {
return null == this.decodeWorker ? this.iLastErrorCode = 2 : e && "function" == typeof e ? (e(this.nWidth, this.nHeight), this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_RegisterYUVBufSizeCB", value: function (e) {
return e && "function" == typeof e ? (this.YUVBufSizeCBFun = e, this.iLastErrorCode = 1) : this.iLastErrorCode = 0
}
}, {
key: "PlayM4_UnRegisterYUVBufSizeCB", value: function () {
return null != this.YUVBufSizeCBFun && (this.YUVBufSizeCBFun = null), this.iLastErrorCode = 1
}
}, {
key: "PlayM4_ClearCanvas", value: function () {
return null == this.oSuperRender ? this.iLastErrorCode = 2 : (this.oSuperRender.SR_DisplayFrameData(this.nWidth, this.nHeight, null), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_ReleaseInputBuffer", value: function () {
return null === this.aInputDataBuffer ? this.iLastErrorCode = 2 : (this.aInputDataBuffer.splice(0, this.aInputDataBuffer.length), this.aInputDataLens.splice(0, this.aInputDataLens.length), this.iLastErrorCode = 1)
}
}, {
key: "PlayM4_GetDecodeFrameType", value: function () {
return this.nDecFrameType
}
}, {
key: "PlayM4_CreateAudEncode", value: function (e) {
return k && console.log(">>>JS PlayM4_CreateAudEncode 1 nEncoderType:" + e), null == this.decodeWorker ? 79 : e < 1 || 6 < e || 5 === e ? 71 : (this.decodeWorker.postMessage({
command: "CreateAudEncode",
encodertype: e
}), k && console.log(">>>JS PlayM4_CreateAudEncode 2 nEncoderType:" + e), 1)
}
}, {
key: "PlayM4_SetAudEncodeParam", value: function (e, t, n, i) {
return k && console.log(">>>JS PlayM4_SetAudEncodeParam 1 nSampleRate:" + e + ",nChannel:" + t + " ,nBitRate:" + n + " ,nBitWidth:" + i), null == this.decodeWorker ? 79 : 1 != t || 16 != i ? 71 : (this.decodeWorker.postMessage({
command: "SetAudEncodeParam",
samplerate: e,
channel: t,
bitrate: n,
bitwidth: i
}), k && console.log(">>>JS PlayM4_SetAudEncodeParam 2 nSampleRate:" + e + ",nChannel:" + t + " ,nBitRate:" + n + " ,nBitWidth:" + i), 1)
}
}, {
key: "PlayM4_InputAudEncodeData", value: function (e, t) {
return k && console.log(">>>JS PlayM4_InputAudEncodeData 1 dataSize:" + t), null == this.decodeWorker ? 79 : (k && console.log(">>>JS PlayM4_InputAudEncodeData 2 dataSize:" + t + ", nSysTime:" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), this.decodeWorker.postMessage({
command: "InputAudEncodeData",
data: e,
dataSize: t
}), 1)
}
}, {
key: "PlayM4_DestroyAudEncode", value: function () {
return k && console.log(">>>JS MainThread-PlayM4_DestroyAudEncode 1 "), null == this.decodeWorker ? 79 : (this.aAudioEncBuffer.splice(0, this.aAudioEncBuffer.length), this.iAudioEncBufferSize = 0, this.decodeWorker.postMessage({command: "DestroyAudEncode"}), 1)
}
}, {
key: "PlayM4_GetAudioEmcBuf", value: function () {
return this.aAudioEncBuffer
}
}, {
key: "PlayM4_RegisterAudEncodeCB", value: function (e) {
return k && console.log(">>>JS PlayM4_RegisterAudEncodeCB 1 callback:" + e), e && "function" == typeof e ? (this.AudEncodeDataCBFun = e, k && console.log(">>>JS PlayM4_RegisterAudEncodeCB 2 callback:" + e), 1) : 0
}
}, {
key: "downloadFile", value: function (e, t) {
var n = e,
e = (e instanceof Blob || e instanceof File || (n = new Blob([e])), window.URL.createObjectURL(n)),
n = window.document.createElement("a"),
e = (n.href = e, n.download = t, document.createEvent("MouseEvents"));
e.initEvent("click", !0, !0), n.dispatchEvent(e)
}
}, {
key: "PlayM4_GetLastError", value: function () {
return this.iLastErrorCode
}
}]), T);
function T(e, t, s) {
if ((0, a.default)(this, T), null == e || void 0 === e || "string" != typeof e) return 0;
if (this.szBasePath = e, !t || "function" != typeof t) return 0;
this.fnCallBack = t, this.decodeWorker = null, this.streamOpenMode = null, this.bOpenStream = !1, this.iFrameNumOrTime = 0, this.bSetPlayPositionType = 0, this.audioRenderer = null, this.aAudioBuffer = [], this.iAudioBufferSize = 0, this.bWriteAudEnc = !1, this.iAudioEncBufferSize = 0, this.aAudioEncBuffer = [], this.oSuperRender = null, this.aVideoFrameBuffer = [], this.YUVBufferSize = 1, this.szOSDTime = null, this.bWriteYUVData = !1, this.iYUV10size = 0, this.aVideoYUVBuffer = [], this.bWritePCMData = !1, this.iAudioBuffer500Size = 0, this.aAudioPCMBuffer = [], this.bWriteRawData = !1, this.iRawDataSize = 0, this.aRawDataBuffer = [], this.bWriteRTPData = !0, this.iRTPDataSize = 0, this.aRTPDataBuffer = [], this.downloadRTP = !1, this.rtpNum = 0, this.bPlaySound = !1, this.bPlay = !1, this.bPause = !1, this.bOnebyOne = !1, this.bPlayRateChange = !1, this.bAudioTypeSupport = !0, this.audioNum = 0, this.videoNum = 0, this.SetPlayPositionFlag = !1, this.FrameForwardLen = 1, this.bOnlyPlaySound = !1, this.dataCallBackFun = null, this.YUVBufSizeCBFun = null, this.AudEncodeDataCBFun = null, this.DecCallBackFun = null, this.DisplayCallBackFun = null, this.PCMCallBackFun = null, this.DecInfoYUV = g, this.DisplayInfoYUV = M, this.DecInfoPCM = L, this.nWidth = 0, this.nHeight = 0, this.nSPSCropLeft = 0, this.nSPSCropRight = 0, this.nSPSCropTop = 0, this.nSPSCropBottom = 0, this.sCanvasId = null, this.aDisplayBuf = null, this.bVisibility = !0, this.nDecFrameType = 0, this.iCanvasWidth = 0, this.iCanvasHeight = 0, this.iZoomNum = 0, this.iRatio_x = 1, this.iRatio_y = 1, this.stDisplayRect = {
top: 0,
left: 0,
right: 0,
bottom: 0
}, this.bDisRect = !1, this.stYUVRect = {
top: 0,
left: 0,
right: 0,
bottom: 0
}, this.aInputDataLens = [], this.aInputDataBuffer = [], this.bIsGetYUV = !1, this.bIsFirstFrame = !0, this.iInputMaxBufSize = 5242880, this.bIsInput = !1, this.bIsInputBufOver = !1, this.iInputDataLen = 20480;
var _ = this;
this.iLastErrorCode = 1, this.setCallBack = function (e, t, n, i, r) {
var a = b;
a.id = s, a.cmd = t, a.data = n, a.errorCode = i, a.status = r, e.fnCallBack(a)
}, this._loadRenderFiles(), this.convertErrorCode = function (e) {
switch (e) {
case 1:
return this.iLastErrorCode = 1;
case 98:
return this.iLastErrorCode = 0;
default:
return this.iLastErrorCode = e
}
}, this.arrayBufferCopy = function (e) {
for (var t = e.byteLength, n = new Uint8Array(t), i = new Uint8Array(e), r = 0, r = 0; r < t; r++) n[r] = i[r];
return n
}, this.inputDataFun = function () {
var e = 0;
if (_.bIsGetYUV = !1, _.bIsInputBufOver) {
k && console.log(">>>JS inputDataFun over!");
var t = new Uint8Array(1), n = {command: "InputData", data: new Uint8Array(t).buffer, dataSize: 0};
_.decodeWorker.postMessage(n, [n.data])
} else if (_.bPlay && (!_.bPause || _.bOnebyOne) || this.bOnlyPlaySound) {
for (; 0 < _.aInputDataLens.length && !((e += _.aInputDataLens.shift()) > _.iInputDataLen);) ;
k && console.log(">>>JS inputDataFun-len:%d,totalSize:%d", e, _.aInputDataBuffer.length), t = _.aInputDataBuffer.splice(0, e);
n = {command: "InputData", data: new Uint8Array(t).buffer, dataSize: e};
_.decodeWorker.postMessage(n, [n.data])
}
t = null
}, this.getPic = function (e, t) {
if (null == this.decodeWorker || null == this.oSuperRender) return this.iLastErrorCode = 2;
if (!this.bPlay) return this.iLastErrorCode = 2;
if (!e || "function" != typeof e) return this.iLastErrorCode = 0;
var n;
if (this.dataCallBackFun = e, 0 === this.iZoomNum) this.stYUVRect.left = 0, this.stYUVRect.top = 0, this.stYUVRect.right = 0, this.stYUVRect.bottom = 0; else if (0 === this.iCanvasWidth || 0 === this.iCanvasHeight ? (this.stYUVRect.left = 0, this.stYUVRect.top = 0, this.stYUVRect.right = 0, this.stYUVRect.bottom = 0) : (e = this.nWidth / this.iCanvasWidth, n = this.nHeight / this.iCanvasHeight, this.stYUVRect.left = Math.round(this.stDisplayRect.left * e), this.stYUVRect.top = Math.round(this.stDisplayRect.top * n), this.stYUVRect.right = Math.round(this.stDisplayRect.right * e), this.stYUVRect.bottom = Math.round(this.stDisplayRect.bottom * n)), this.stYUVRect.right - this.stYUVRect.left < 32 || this.stYUVRect.bottom - this.stYUVRect.top < 32) return this.iLastErrorCode = 0;
if (null == this.aDisplayBuf) return this.iLastErrorCode = 2;
e = {
command: t,
data: this.arrayBufferCopy(this.aDisplayBuf).buffer,
width: this.nWidth,
height: this.nHeight,
rect: this.stYUVRect
};
return k && console.log(">>>JS capture nWidth = %d,nWidth = %d", this.nWidth, this.nHeight), this.decodeWorker.postMessage(e), this.iLastErrorCode = 1
}, this.createWorker = function (c) {
if (window.Worker) {
if (null == this.decodeWorker && (this.decodeWorker = new Worker(_.szBasePath + "DecodeWorker.js"), k && console.log(">>>JS createWorker success!!!!!!!!!!!!!!!!!!!!!!!!!"), null == this.decodeWorker)) return this.iLastErrorCode = 60;
this.decodeWorker.onmessage = function (e) {
var t = null, n = e.data;
switch (n.function) {
case"printLog":
console.log("print JSPlayerSDK log failed");
break;
case"loaded":
c.setCallBack(c, t = "loaded", 0, 0, !0);
break;
case"SetStreamOpenMode":
t = "SetStreamOpenMode";
break;
case"OpenStream":
if (t = "OpenStream", 1 === n.errorCode) return void (_.bOpenStream = !0);
break;
case"InputData":
t = "InputData", 11 === n.errorCode && (_.bIsInputBufOver = !0, _.inputDataFun(), k && console.log(">>>JS InputData PLAYM4_BUF_OVER")), 31 === n.errorCode && (_.bIsInputBufOver = !1, k && console.log(">>>JS InputData PLAYM4_NEED_MORE_DATA"));
break;
case"GetFrameData":
if (t = "GetFrameData", !_.bOnlyPlaySound) {
if (k && console.log(">>>JS mainthread display GetFrameData 1-1"), null != n.data && null != n.frameInfo && (n.frameInfo.width, n.frameInfo.height), !_.bPlay) return;
if (!_.bIsFirstFrame && 31 === n.errorCode) {
_.bIsInputBufOver = !1, setTimeout(_.inputDataFun(), 5);
break
}
_.bIsInputBufOver ? _.inputDataFun() : "videoType" === n.type && (0 < _.aInputDataLens.length && _.bIsInput ? (_.inputDataFun(), _.bIsInput = !1) : _.bIsGetYUV = !0, _.bIsFirstFrame = !1)
}
if (k && console.log(">>>JS mainthread display GetFrameData bVisibility:" + _.bVisibility), _.bVisibility) if (1 === n.errorCode) switch (n.type) {
case"videoType":
if (k && console.log(">>>JS mainthread display GetFrameData type:" + n.type), null == n.data || null == n.frameInfo) return this.iLastErrorCode = 0;
if (null != _.DecCallBackFun && (k && console.log(">>>JS MainThread-GetYUVData"), _.DecInfoYUV.height = n.frameInfo.height, _.DecInfoYUV.width = n.frameInfo.width, _.DecInfoYUV.frameNum = n.frameInfo.frameNum, _.DecInfoYUV.yuvData = new Uint8Array(n.data), _.DecCallBackFun(_.DecInfoYUV)), _.bIsFirstFrame = !1, c.nWidth = n.frameInfo.width, c.nHeight = n.frameInfo.height, c.nSPSCropLeft = n.frameInfo.cropLeft, c.nSPSCropRight = n.frameInfo.cropRight, c.nSPSCropTop = n.frameInfo.cropTop, c.nSPSCropBottom = n.frameInfo.cropBottom, (o = new Object).data = n.data, o.osdTime = n.osd, o.nWidth = n.frameInfo.width, o.nHeight = n.frameInfo.height, o.frameNum = n.frameInfo.frameNum, o.timeStamp = n.frameInfo.timeStamp, c.bWriteYUVData) {
for (var i = new Uint8Array(n.data), r = c.aVideoYUVBuffer.length, a = 0, s = i.length; a < s; a++) c.aVideoYUVBuffer[r + a] = i[a];
c.iYUV10size++, i = null
}
c.bWriteYUVData && 20 <= c.iYUV10size && (u = new Uint8Array(c.aVideoYUVBuffer), c.downloadFile(u, "videoYUV.data"), c.aVideoYUVBuffer.splice(0, c.aVideoYUVBuffer.length), c.bWriteYUVData = !1, c.iYUV10size = 0, u = null), k && console.log(">>>JS mainthread getVideoInfo Width:" + o.nWidth + ",height:" + o.nHeight + ",frameNum:" + o.frameNum), c.aVideoFrameBuffer.push(o);
var o = null, u = c.aVideoFrameBuffer.length;
if (5 < u && (k && console.log(">>>JS render loose frame iYUVNum:%d", u), c.bOnebyOne || c.aVideoFrameBuffer.splice(0, 2)), c.SetPlayPositionFlag && 1 === c.bSetPlayPositionType && (n.frameInfo.frameNum === c.iFrameNumOrTime || n.frameInfo.timeStamp === c.iFrameNumOrTime)) {
c.setCallBack(c, "SetFrameNum", 0, 0, !1), c.bIsFirstFrame = !0;
break
}
if (c.bOnebyOne && 15 <= c.aVideoFrameBuffer.length) {
c.setCallBack(c, "OnebyOne", 0, 0, !1), c.bIsFirstFrame = !0;
break
}
break;
case"audioType":
if (k && console.log(">>>JS mainthread display GetFrameData 2-3 type:" + n.type + ",bPlaySound:" + c.bPlaySound + ",!bPlayRateChange:" + !c.bPlayRateChange + ",bOnlyPlaySound:" + _.bOnlyPlaySound), c.bPlaySound && !c.bPlayRateChange || _.bOnlyPlaySound) {
k && console.log(">>>JS mainthread display GetFrameData 2-4 type" + n.type + "bOnlyPlaySound:" + _.bOnlyPlaySound), null != _.PCMCallBackFun && (k && console.log(">>>JS MainThread-GetYUVData"), _.DecInfoPCM.sampleRate = n.frameInfo.samplesPerSec, _.DecInfoPCM.channel = n.frameInfo.channels, _.DecInfoPCM.bitsPerSample = n.frameInfo.bitsPerSample, _.DecInfoPCM.pcmData = new Uint8Array(n.data), _.DecInfoPCM.length = _.DecInfoPCM.pcmData.length, _.PCMCallBackFun(_.DecInfoPCM));
for (var i = new Uint8Array(n.data), r = c.aAudioBuffer.length, a = 0, s = i.length; a < s; a++) c.aAudioBuffer[r + a] = i[a];
if (c.iAudioBufferSize++, i = null, k && console.log(">>>JS play sound 1 iAudioBufferNum:%d, BufferLen:%d", c.iAudioBufferSize, c.aAudioBuffer.length), c.bWritePCMData) {
for (i = new Uint8Array(n.data), r = c.aAudioPCMBuffer.length, a = 0, s = i.length; a < s; a++) c.aAudioPCMBuffer[r + a] = i[a];
console.log("audio_type num:" + c.iAudioBuffer500Size + ", len:" + i.length), c.iAudioBuffer500Size++, i = null
}
c.bWritePCMData && 100 <= c.iAudioBuffer500Size && (o = new Uint8Array(c.aAudioPCMBuffer), c.downloadFile(o, "audioPCM.data"), c.aAudioPCMBuffer.splice(0, c.aAudioPCMBuffer.length), c.bWritePCMData = !1, c.iAudioBuffer500Size = 0, o = null), 25 <= c.iAudioBufferSize && (k && console.log(">>>JS play sound 2 iAudioBufferNum:%d, BufferLen:%d", c.iAudioBufferSize, c.aAudioBuffer.length), c.audioRenderer.Play(c.aAudioBuffer, c.aAudioBuffer.length, n.frameInfo), k && console.log(">>>JS mainthread display Audio push 3 sysTime:" + ((new Date).getMonth() + 1) + "-" + (new Date).getDate() + " " + (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), c.aAudioBuffer.splice(0, c.aAudioBuffer.length), c.aAudioBuffer.length = 0, c.iAudioBufferSize = 0)
}
break;
case"privateType":
k && console.log(">>>JS mainthread display GetFrameData 2-5 type" + n.type + "bOnlyPlaySound:" + _.bOnlyPlaySound);
break;
default:
k && console.log(">>>JS mainthread display GetFrameData 2-6 type:" + n.type + ",bOnlyPlaySound:" + _.bOnlyPlaySound)
} else k && console.log(">>>JS mainthread GetFrameData is not Ok,errorCode:" + n.errorCode);
break;
case"GetRawData":
if (t = "GetRawData", c.bWriteRawData) {
for (var d = new Uint8Array(n.data), l = c.aRawDataBuffer.length, a = 0, s = d.length; a < s; a++) c.aRawDataBuffer[l + a] = d[a];
c.iRawDataSize++, d = null
}
c.bWriteRawData && 100 <= c.iRawDataSize && (h = new Uint8Array(c.aRawDataBuffer), c.downloadFile(h, "rawBuffer.data"), c.aRawDataBuffer.splice(0, c.aRawDataBuffer.length), c.bWriteRawData = !1, c.iRawDataSize = 0, h = null);
break;
case"PlaySound":
t = "PlaySound";
break;
case"SetPlayPosition":
console.log(">>>JS mainthread SetPlayPosition error,errorCode:" + n.errorCode);
break;
case"GetJPEG":
var t = "GetJPEG", h = n.data;
c.dataCallBackFun(h);
break;
case"GetBMP":
t = "GetBMP";
var h = n.data;
c.dataCallBackFun(h);
break;
case"GetAudEncodeData":
if (k && console.log(">>>JS MainThread-GetAudEncodeData 1"), t = "GetAudEncodeData", 1 === n.errorCode) {
if (null != _.AudEncodeDataCBFun && (k && console.log(">>>JS GetAudEncodeData 1 dataSize" + n.dataSize + ", nSysTime:" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds()), _.AudEncodeDataCBFun(new Uint8Array(n.data)), k && console.log(">>>JS GetAudEncodeData 2 dataSize" + n.dataSize + ", nSysTime:" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "." + (new Date).getMilliseconds())), c.bWriteAudEnc) {
for (i = new Uint8Array(n.data), r = c.aAudioEncBuffer.length, a = 0, s = i.length; a < s; a++) c.aAudioEncBuffer[r + a] = i[a];
c.iAudioEncBufferSize++, i = null
}
c.bWriteAudEnc && 200 <= c.iAudioEncBufferSize && (h = new Uint8Array(c.aAudioEncBuffer), c.downloadFile(h, "Enc.AAC"), c.aAudioEncBuffer.splice(0, c.aAudioEncBuffer.length), c.bWriteAudEnc = !1, c.iAudioEncBufferSize = 0, h = null)
} else k && console.log(">>>JS MainThread-GetAudEncodeData 2 err")
}
"GetFrameData" === t && "GetAudEncodeData" === t && 16 !== n.errorCode && 101 !== n.errorCode && 100 !== n.errorCode && 48 !== n.errorCode || c.setCallBack(c, t, 0, c.convertErrorCode(n.errorCode), !0)
}
}
}, this.createWorker(_), this.draw = function () {
if (_.bPlay) {
if (!_.bPause || _.bOnebyOne) {
requestAnimationFrame(_.draw);
var e = _.aVideoFrameBuffer.length;
if (null != _.YUVBufSizeCBFun && _.YUVBufSizeCBFun(e), _.bOnebyOne) {
if (e <= 8 && _.setCallBack(_, "OnebyOne", 0, 31, !0), e <= _.FrameForwardLen + 1) return void _.setCallBack(_, "OnebyOne", 0, 31, !0);
for (var t = _.FrameForwardLen; 1 < t;) {
_.aVideoFrameBuffer.shift();
t--
}
_.bOnebyOne = !1
}
if (k && console.log(">>>JS Draw aVideoFrameBuffer.length == " + e), e > _.YUVBufferSize) {
e = _.aVideoFrameBuffer.shift();
if (_.SetPlayPositionFlag) {
if (k && console.log(">>>JS SetPlayPositionFlag frameNumOrTime:" + _.iFrameNumOrTime + ",currentFrameNum:" + e.frameNum), e.frameNum != _.iFrameNumOrTime) return void (k && console.log(">>>JS frameNum!= frameNumOrTime:" + e.frameNum));
1 === _.bSetPlayPositionType && (_.bPause = !0), _.SetPlayPositionFlag = !1
}
k && console.log(">>>after display frameNum:" + e.frameNum), _.aDisplayBuf = e.data;
var n = new Uint8Array(_.aDisplayBuf);
k && console.log(">>>JS SR_DisplayFrameData 1 nWidth:%d, nHeight:%d, nWidth1:%d, nHeight1:%d", e.nWidth, e.nHeight, _.nWidth, _.nHeight), _.oSuperRender.SR_DisplayFrameData(e.nWidth, e.nHeight, n, e.nWidth - _.nSPSCropLeft - _.nSPSCropRight, e.nHeight - _.nSPSCropTop - _.nSPSCropBottom), null != _.DisplayCallBackFun && (k && console.log(">>>JS MainThread-DisplayCallBackFun"), _.DisplayInfoYUV.height = e.nHeight, _.DisplayInfoYUV.width = e.nWidth, _.DisplayInfoYUV.frameNum = e.frameNum, _.DisplayInfoYUV.yuvData = new Uint8Array(n), _.DisplayCallBackFun(_.DisplayInfoYUV)), k && _.bOnebyOne && console.log("OneByOne frameNum:" + e.frameNum), k && console.log(">>>JS SR_DisplayFrameData 2 nWidth:%d, nHeight:%d, nWidth1:%d, nHeight1:%d", e.nWidth, e.nHeight, _.nWidth, _.nHeight), n = null, _.szOSDTime = e.osdTime
} else _.setCallBack(_, "Play", 0, 31, !0)
}
} else _.bPlay || (k && console.log(">>>JS mainThread stop play jsplaySDKInterface"), _.aVideoFrameBuffer.splice(0, _.aVideoFrameBuffer.length), _.aAudioBuffer.splice(0, _.aAudioBuffer.length))
}, this.checkAudioType = function (e) {
var t, e = [e[12], e[13], 0, 0];
switch (255 & e[t = 0] | (255 & e[t + 1]) << 8 | (255 & e[t + 2]) << 16 | (255 & e[t + 3]) << 24) {
case l:
case d:
case h:
case m:
case f:
case c:
case p:
case y:
case v:
return this.iLastErrorCode = 1;
default:
return this.iLastErrorCode = 16
}
}
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.JSTalkCtrl = void 0;
var i = r(n(1)), n = r(n(2));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
var s = {id: null, cmd: null, data: null, errorCode: 0, status: null}, a = null,
n = (window.JSAUDIOCOM_EncodeDataCBFun = function (e, t, n, i) {
a && null != a.AudEncodeDataCBFun && a.AudEncodeDataCBFun(new Uint8Array(t))
}, (0, n.default)(o, [{
key: "Talk_CreateAudEncode", value: function (e) {
this.iTalkEncodePort = this.oTalkWASM._JSAUDIOCOM_CreateEncodeHandle(e), console.log("_JSAUDIOCOM_CreateEncodeHandle port :" + this.iTalkEncodePort)
}
}, {
key: "Talk_SetAudEncodeParam", value: function (e, t, n, i) {
0 == this.oTalkWASM._JSAUDIOCOM_RegisterEncodeDataCallBack(this.iTalkEncodePort, t, i, e, n) && (t = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkEncodePort), console.log("resEncodeDataCallBack resError :" + t)), 1 !== this.oTalkWASM._JSAUDIOCOM_StartEncode(this.iTalkEncodePort) && (i = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkEncodePort), console.log("_JSAUDIOCOM_StartEncode resError :" + i))
}
}, {
key: "Talk_RegisterAudEncodeCB", value: function (e) {
return e && "function" == typeof e ? (this.AudEncodeDataCBFun = e, 1) : 0
}
}, {
key: "Talk_InputAudEncodeData", value: function (e, t) {
var n = this.oTalkWASM._malloc(t);
if (null === n) return console.log("inputdata malloc failed!!!"), -1;
e = new Uint8Array(e), e = void this.oTalkWASM.writeArrayToMemory(e, n);
try {
e = this.oTalkWASM._JSAUDIOCOM_InputEncodeData(this.iTalkEncodePort, n, t)
} catch (e) {
console.error(e)
}
return 1 !== e && (t = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkEncodePort), console.log("_JSAUDIOCOM_InputEncodeData resError :" + t)), null !== n && (this.oTalkWASM._free(n), n = null), 1
}
}, {
key: "Talk_DestroyAudEncode", value: function () {
return this.oTalkWASM._JSAUDIOCOM_StopEncode(this.iTalkEncodePort), this.oTalkWASM._JSAUDIOCOM_ReleaseEncodeHandle(this.iTalkEncodePort), this.iTalkEncodePort = -1, 1
}
}, {
key: "Talk_CreateAuDecode", value: function () {
this.oTalkWASM._JSAUDIOCOM_LoadLibrary(), this.oTalkWASM._JSAUDIOCOM_GetPlayDeviceNum();
var e = this.oTalkWASM._JSAUDIOCOM_GetOnePlayDeviceName(0);
this.iTalkDecodePort = this.oTalkWASM._JSAUDIOCOM_CreatePlayHandle(), console.log("JSAUDIOCOM getNameRes:" + e + ", port:" + this.iTalkDecodePort)
}
}, {
key: "Talk_SetAudDecodeParam", value: function (e, t, n, i, r) {
1 !== this.oTalkWASM._JSAUDIOCOM_OpenStream(this.iTalkDecodePort, t, i, e, n, r) && (t = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkDecodePort), console.log("_JSAUDIOCOM_OpenStream resError :" + t))
}
}, {
key: "Talk_OpenStreamDecodeData", value: function () {
var e;
1 !== this.oTalkWASM._JSAUDIOCOM_StartPlay(this.iTalkDecodePort) && (e = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkDecodePort), console.log("_JSAUDIOCOM_StartPlay resError :" + e))
}
}, {
key: "Talk_InputAudDecodeData", value: function (e, t) {
var n = this.oTalkWASM._malloc(t);
if (null === n) return console.log("inputdata malloc failed!!!"), -1;
var e = new Uint8Array(e);
return this.oTalkWASM.writeArrayToMemory(e, n), 1 !== this.oTalkWASM._JSAUDIOCOM_InputStreamData(this.iTalkDecodePort, n, t) && (e = this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkDecodePort), console.log("_JSAUDIOCOM_InputStreamData resError :" + e)), null !== n && (this.oTalkWASM._free(n), 0), 1
}
}, {
key: "Talk_DestroyAudDecode", value: function () {
this.oTalkWASM._JSAUDIOCOM_StopPlay(this.iTalkDecodePort), this.oTalkWASM._JSAUDIOCOM_ReleasePlayHandle(this.iTalkDecodePort), this.iTalkDecodePort = -1
}
}, {
key: "Talk_SetTalkLogFlag", value: function (e) {
this.oTalkWASM._JSAUDIOCOM_SetPrintLogFlag(this.iTalkDecodePort, e), this.oTalkWASM._JSAUDIOCOM_SetPrintLogFlag(this.iTalkEncodePort, e)
}
}, {
key: "Talk_SetVolume", value: function (e) {
return this.oTalkWASM._JSAUDIOCOM_SetVolume(this.iTalkDecodePort, e)
}
}, {
key: "Talk_GetVolume", value: function (e) {
if (e && "function" == typeof e) return e(this.oTalkWASM._JSAUDIOCOM_GetVolume(this.iTalkDecodePort)), RETURN_OK
}
}, {
key: "Talk_GetLastError", value: function () {
return this.oTalkWASM._JSAUDIOCOM_GetLastError(this.iTalkDecodePort)
}
}]), o);
function o(e, t) {
var n = this,
t = ((0, i.default)(this, o), a = this, t && "function" == typeof t && (this.fnCallBack = t), this.setCallBack = function (e, t, n, i, r) {
var a = s;
a.cmd = t, a.data = n, a.errorCode = i, a.status = r, e.fnCallBack(a)
}, this.iTalkEncodePort = -1, this.iTalkDecodePort = -1, this.AudEncodeDataCBFun = null, this.oTalkWASM = null, e),
e = document.createElement("script");
e.type = "text/javascript", e.src = t, e.onload = function () {
JSAudioInterComModule().then(function (e) {
n.oTalkWASM = e, n.setCallBack(n, "loaded")
})
}, document.body.appendChild(e)
}
t.JSTalkCtrl = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.StorageManager = void 0;
var i = h(n(53)), r = h(n(54)), u = h(n(11)), o = h(n(1)), a = h(n(2)), d = h(n(87)), s = n(86), l = h(n(55));
function h(e) {
return e && e.__esModule ? e : {default: e}
}
var c = new Uint8Array([1, 2, 3, 4]);
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem, window.URL = window.URL || window.webkitURL;
(0, a.default)(f, [{
key: "init", value: function () {
var n = this,
i = (0 === this.iStreamType ? this.szPath = "Web/RecordFiles/" : 1 === this.iStreamType && (this.szPath = "Web/PlaybackFiles/"), this.szPath += this.getDateDir(), this.szPath.split("/"));
return new u.default(function (t) {
window.requestFileSystem(window.TEMPORARY, n.options.iFileSize, function (e) {
n.createDir(e.root, i, function () {
t()
})
}, n.errorHandler)
})
}
}, {
key: "getDateDir", value: function () {
return s.oTool.dateFormat(new Date, "yyyy-MM-dd")
}
}, {
key: "createDir", value: function (e, t, n) {
var i = this;
t.length ? e.getDirectory(t[0], {create: !0}, function (e) {
i.createDir(e, t.slice(1), n)
}, this.errorHandler) : n()
}
}, {
key: "errorHandler", value: function () {
}
}, {
key: "openFile", value: function () {
var t = this;
window.requestFileSystem(window.TEMPORARY, this.options.iFileSize, function (e) {
e.root.getFile(t.szPath + "/" + t.szFileName, {create: !0}, function (e) {
e.createWriter(function (e) {
e.onwriteend = function () {
t.writeFile(e)
}, e.onerror = function () {
}
}, t.errorHandler)
}, t.errorHandler)
}, this.errorHandler)
}
}, {
key: "writeFileHeader", value: function (n) {
var i = this;
window.requestFileSystem(window.TEMPORARY, this.options.iFileSize, function (e) {
e.root.getFile(i.szFileName, {create: !0}, function (e) {
e.createWriter(function (e) {
i.bStart = !0, e.onwriteend = function () {
i.writeFile(e)
}, e.onerror = function () {
}, e.seek(e.length);
var t = new Blob([n]);
e.write(t)
}, i.errorHandler)
}, function (e) {
console.log("getFile error:", e.message)
})
}, this.errorHandler)
}
}, {
key: "writeFileContent", value: function (e) {
this.aStreamList.push(e)
}
}, {
key: "writeFile", value: function (e) {
var t = this;
if (0 < this.aStreamList.length) {
var n = this.aStreamList.shift();
if (e.seek(e.length), e.length >= this.options.iFileSize) return void (this.options.cbEventHandler && this.options.cbEventHandler(3001, this.szUUID));
n = new Blob([n]);
e.write(n)
} else !1 === this.bStop && setTimeout(function () {
t.writeFile(e)
}, 500);
5 !== this.iPackType && 0 === this.aStreamList.length && !0 === this.bStop && this.bStart && (this.bStart = !1, this.stopWriteFile()), this.getStopData && 0 === this.aStreamList.length && (this.bStart = !1, this.stopWriteFile(), this.getStopData = !1)
}
}, {
key: "stopWriteFile", value: function () {
var t, a = this;
return new u.default((t = (0, r.default)(i.default.mark(function e(r) {
return i.default.wrap(function (e) {
for (; ;) switch (e.prev = e.next) {
case 0:
if (a.bStop) {
e.next = 2;
break
}
return e.abrupt("return", r());
case 2:
if ((!a.getStopData || 0 < a.aStreamList.length) && 5 === a.iPackType) return e.abrupt("return", r());
e.next = 4;
break;
case 4:
if (0 < a.aStreamList.length && 5 !== a.iPackType) return e.abrupt("return", r());
e.next = 6;
break;
case 6:
return a.options.cbStreamCB && a.options.cbStreamCB(c), a.options.cbStreamCB = null, e.next = 10, window.requestFileSystem(window.TEMPORARY, a.options.iFileSize, function (e) {
e.root.getFile(a.szFileName, {create: !1}, function (i) {
i.file(function (e) {
var t, n;
r(), t = i.toURL(), e = e.name, (n = window.document.createElement("a")).href = t, n.download = e, (t = document.createEvent("MouseEvents")).initEvent("click", !0, !0), n.dispatchEvent(t), a.bStop = !1
})
}, a.errorHandler)
}, a.errorHandler);
case 10:
case"end":
return e.stop()
}
}, e, a)
})), function (e) {
return t.apply(this, arguments)
}))
}
}]);
var _ = f;
function f(e, t, n, i, r) {
(0, o.default)(this, f), this.szUUID = e, this.szFileName = t, this.iStreamType = n, this.szPath = "", this.bStart = !1, this.getStopData = !1, this.aStreamList = [], this.options = r, this.iPackType = i, this.bStop = !1
}
(0, a.default)(p, [{
key: "init", value: function () {
var n = this;
return new u.default(function (e, t) {
n.initFileSystem().then(function () {
!0 === n.isTranse ? n.initWorker().then(function () {
e(n.szUUID)
}, function (e) {
t(e)
}) : e(n.szUUID)
}, function (e) {
t(e)
})
})
}
}, {
key: "initFileSystem", value: function () {
var n = this;
return new u.default(function (e, t) {
2 !== n.options.irecordType && (n.oFileSystem = new _(n.szUUID, n.szFileName, n.iStreamType, n.iPackType, n.options), n.oFileSystem.init().then(function () {
e()
}, function (e) {
t(e)
})), e()
})
}
}, {
key: "initWorker", value: function () {
var i = this;
return new u.default(function (n) {
i.oWorker = new Worker(i.szBasePath + "systemTransform-worker.js"), i.oWorker.onmessage = function (e) {
var e = e.data, t = i.iPackType;
1 === i.options.iPackage && (t = 12), "loaded" === e.type ? i.oWorker.postMessage({
type: "create",
buf: i.aHeadBuf.buffer,
len: 40,
packType: t
}) : "created" === e.type ? n() : "outputData" === e.type && (t = new Uint8Array(e.buf), 2 !== i.options.irecordType && (1 === e.dType ? i.oFileSystem.writeFileHeader(t) : i.oFileSystem.writeFileContent(t), 6 === e.dType && (i.oFileSystem.getStopData = !0)), 1 !== i.options.irecordType && (i.options.cbStreamCB && i.options.cbStreamCB(t), 6 === e.dType && 2 === i.options.irecordType && (i.options.cbStreamCB && i.options.cbStreamCB(c), i.options.cbStreamCB = null)))
}
})
}
}, {
key: "inputData", value: function (e) {
var t;
!0 === this.isTranse ? this.oWorker && (t = new Uint8Array(e), this.oWorker.postMessage({
type: "inputData",
buf: t.buffer,
len: t.length
})) : (2 !== this.options.irecordType && (!0 === this.bHead ? (1 === this.iPackType ? (this.oFileSystem.writeFileHeader(this.aHeadBuf), this.oFileSystem.writeFileContent(e)) : this.oFileSystem.writeFileHeader(e), this.bHead = !1) : this.oFileSystem.writeFileContent(e)), 1 !== this.options.irecordType && (!0 === this.bHead && (this.options.cbStreamCB && this.options.cbStreamCB(this.aHeadBuf), this.bHead = !1), this.options.cbStreamCB && this.options.cbStreamCB(e)))
}
}, {
key: "stopRecord", value: function () {
var n = this;
return new u.default(function (e, t) {
!0 === n.isTranse && (n.oWorker ? n.oWorker.postMessage({type: "release"}) : t()), n.oFileSystem ? (n.oFileSystem.bStop = !0, n.oFileSystem.stopWriteFile().then(function () {
n.bHead = !0, e()
}, function () {
t()
})) : (5 !== n.iPackType && (n.options.cbStreamCB && n.options.cbStreamCB(c), n.options.cbStreamCB = null), e())
})
}
}]);
var m = p;
function p(e, t, n, i, r, a, s) {
(0, o.default)(this, p), this.szBasePath = e, this.szUUID = t, this.szFileName = n, this.aHeadBuf = new Uint8Array(i), this.iPackType = r, this.iStreamType = a, this.oWorker = null, this.oFileSystem = null, this.options = s, this.bHead = !0, this.isTranse = !0, (2 === i[8] && 0 === i[9] && 2 === r || "audio" === i || 1 === r) && (this.isTranse = !1)
}
n = function () {
function n(e, t) {
(0, o.default)(this, n), this.szBasePath = e, this.oStorageList = {}, this.options = {
iFileSize: 1073741824,
irecordType: 1,
cbStreamCB: null
}
}
return (0, a.default)(n, [{
key: "startRecord", value: function (e, t, n, i, r) {
var a = this, s = d.default.v4(), r = l.default.extend(this.options, r),
o = new m(this.szBasePath, s, e, t, n, i, r);
return new u.default(function (t, n) {
o.init().then(function (e) {
a.oStorageList[e] = o, t(e)
}, function (e) {
n(e)
})
})
}
}, {
key: "inputData", value: function (e, t) {
e = this.oStorageList[e];
e && e.inputData(t)
}
}, {
key: "stopRecord", value: function (i) {
var r = this;
return new u.default(function (e, t) {
var n = r.oStorageList[i];
n ? n.stopRecord().then(function () {
delete r.oStorageList[i], e()
}, function () {
t()
}) : t()
})
}
}]), n
}();
t.StorageManager = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.ESCanvas = void 0;
var g = function (e, t, n) {
return t && i(e.prototype, t), n && i(e, n), e
};
function i(e, t) {
for (var n = 0; n < t.length; n++) {
var i = t[n];
i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
}
}
var n = n(55), M = (n = n) && n.__esModule ? n : {default: n};
function L(e, t) {
if (e) return !t || "object" != typeof t && "function" != typeof t ? e : t;
throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
}
function S(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function k(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
n = function () {
var m = null;
function l() {
m.oContext.clearRect(0, 0, m.m_iCanvasWidth, m.m_iCanvasHeight);
for (var e = 0, t = m.aShapes.length; e < t; e++) m.aShapes[e].draw()
}
function h(e) {
m.aShapes.length < m.iMaxShapeNumSupport && m.aShapes.push(e)
}
function t() {
var r = !1, a = 0, s = 0, o = "draw", u = null;
function d() {
for (var e = -1, t = 0, n = m.aShapes.length; t < n; t++) if (m.aShapes[t].m_bChoosed) {
e = t;
break
}
return e
}
m.oCanvas[0].oncontextmenu = function () {
return !1
}, m.oCanvas[0].onselectstart = function () {
return !1
}, m.oCanvas.unbind(), m.oCanvas.bind("mousedown", function (e) {
if (m.oCanvas[0].id === e.target.id) if (2 === e.button) m.bPolygonDrawing && u && u.m_aPoint.length >= u.m_iMinClosed && (u.m_bClosed = !0, m.bPolygonDrawing = !1, u.setPointInfo(u.m_aPoint), h(u), l(), r = !1, m.bDrawShapeMultiOneTime || (m.bDrawStatus = !1), window.onDrawShapeEvent && window.onDrawShapeEvent(u.m_szType, "onDrawEnd", u.m_szId)); else if (0 === e.button) {
if (a = e.offsetX, s = e.offsetY, o = "draw", !m.bPolygonDrawing) {
var t = d();
if ("stretch" !== (o = -1 !== t && m.aShapes[t].inArc(e.offsetX, e.offsetY, 5) ? "stretch" : o)) for (var n = 0, i = m.aShapes.length; n < i; n++) m.aShapes[n].inShape(e.offsetX, e.offsetY) ? (m.aShapes[n].m_bChoosed = !0, m.aShapes[n].getMouseDownPoints(e.offsetX, e.offsetY), o = "drag", window.onDrawShapeEvent && window.onDrawShapeEvent(m.aShapes[n].m_szType, "onChoose", m.aShapes[n].m_szId)) : m.aShapes[n].m_bChoosed = !1;
m.oCanvas[0].style.cursor = "drag" === o ? "move" : "default", "draw" === o && 1 === m.aShapes.length && 1 === m.aShapes[0].m_iRedrawMode && (m.deleteRepeatPolyonById(m.aShapes[0].m_szId), m.bDrawStatus = !0), m.bDrawStatus && !m.bDrawShapeMultiOneTime && (o = "draw")
}
if ("draw" === o && m.bDrawStatus) {
if (m.iMaxShapeNumSupport <= m.aShapes.length && "Grid" !== m.szShapeType && "Point" !== m.szShapeType) return;
"Rect" === m.szShapeType ? u = new c : "Grid" === m.szShapeType ? 0 === m.aShapes.length && h(u = new _) : "Polygon" === m.szShapeType ? (m.bPolygonDrawing || (m.bPolygonDrawing = !0, (u = new f).m_szId = m.oCurrentShapeInfo.szId || "", u.m_szTips = m.oCurrentShapeInfo.szTips || "", u.m_iMinClosed = m.oCurrentShapeInfo.iMinClosed || 3, u.m_iMaxPointNum = m.oCurrentShapeInfo.iMaxPointNum || 11, u.m_iPolygonType = m.oCurrentShapeInfo.iPolygonType, u.m_szDrawColor = m.oCurrentShapeInfo.szDrawColor, u.m_szFillColor = m.oCurrentShapeInfo.szFillColor, u.m_iTranslucent = m.oCurrentShapeInfo.iTranslucent, u.m_iRedrawMode = m.oCurrentShapeInfo.iRedrawMode), 1 === u.m_iPolygonType && (u.addPoint(a, s), u.m_aPoint.length === u.m_iMaxPointNum && (u.m_bClosed = !0, m.bPolygonDrawing = !1, h(u), l(), r = !1, m.bDrawShapeMultiOneTime || (m.bDrawStatus = !1), window.onDrawShapeEvent && window.onDrawShapeEvent(u.m_szType, "onDrawEnd", u.m_szId)))) : "Point" === m.szShapeType && (m.clearShapeByType("Point"), (u = new p).m_szId = m.oCurrentShapeInfo.szId || "", u.m_szDrawColor = m.oCurrentShapeInfo.szDrawColor, u.setPointInfo([[a, s]]), h(u), l())
}
r = !0
}
}), m.oCanvas.bind("mousemove", function (e) {
var t;
m.bPolygonDrawing ? m.bDrawStatus && r && ("Polygon" === m.szShapeType && 0 === u.m_iPolygonType && (u.m_bClosed = !0), l(), u.move(e.offsetX, e.offsetY, a, s)) : -1 < (t = d()) ? r && ("drag" === o ? (m.aShapes[t].drag(e.offsetX, e.offsetY), window.onDrawShapeEvent && window.onDrawShapeEvent(m.aShapes[t].m_szType, "onDrag", m.aShapes[t].m_szId)) : "stretch" === o && (m.aShapes[t].stretch(e.offsetX, e.offsetY), window.onDrawShapeEvent && window.onDrawShapeEvent(m.aShapes[t].m_szType, "onStretch", m.aShapes[t].m_szId))) : m.bDrawStatus && r && ("Rect" === m.szShapeType ? u.move([[a, s], [e.offsetX, e.offsetY]]) : "Grid" === m.szShapeType && m.aShapes[0].move(a, s, e.offsetX, e.offsetY))
}), m.oCanvas.bind("mouseup", function (e) {
var t;
m.oCanvas[0].style.cursor = "default", null != u && "draw" === o && ("Rect" === m.szShapeType ? (2 < Math.abs(e.offsetX - a) && 2 < Math.abs(e.offsetY - s) && (h(u), m.bDrawShapeMultiOneTime || (m.bDrawStatus = !1)), m.oEventCallback && (t = {
startPos: [],
endPos: []
}, e.offsetX > a && e.offsetY > s ? (t.startPos = u.m_aPoint[0] || [e.offsetX, e.offsetY], t.endPos = u.m_aPoint[2] || [e.offsetX, e.offsetY]) : (t.startPos = u.m_aPoint[2] || [e.offsetX, e.offsetY], t.endPos = u.m_aPoint[0] || [e.offsetX, e.offsetY]), m.oEventCallback && m.oEventCallback(t), m.clearAllShape()), u = null) : "Polygon" === m.szShapeType && 0 === u.m_iPolygonType && m.bPolygonDrawing && 2 < Math.abs(e.offsetX - a) && 2 < Math.abs(e.offsetY - s) && (h(u), m.bPolygonDrawing = !1, m.bDrawShapeMultiOneTime || (m.bDrawStatus = !1), window.onDrawShapeEvent && window.onDrawShapeEvent(u.m_szType, "onDrawEnd", u.m_szId))), r = !!m.bPolygonDrawing, m.bPolygonDrawing || l()
}), m.oCanvas.bind("dblclick", function () {
m.bDrawStatus && "Grid" === m.szShapeType && (m.aShapes[0].m_szGridMap = "fffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffc", l())
}), m.oCanvas.bind("mouseout", function () {
m.oCanvas[0].style.cursor = "default", r = !!m.bPolygonDrawing
})
}
g(n, [{
key: "draw", value: function () {
}
}, {
key: "drag", value: function (e, t) {
for (var n = this.m_aPoint.length, i = 0, i = 0; i < n; i++) if (this.m_aPoint[i][0] + e - this.m_iDriftStartX > m.m_iCanvasWidth || this.m_aPoint[i][1] + t - this.m_iDriftStartY > m.m_iCanvasHeight || this.m_aPoint[i][0] + e - this.m_iDriftStartX < 0 || this.m_aPoint[i][1] + t - this.m_iDriftStartY < 0) return this.m_iDriftStartX = e, void (this.m_iDriftStartY = t);
for (i = 0; i < n; i++) this.m_aPoint[i][0] = this.m_aPoint[i][0] + e - this.m_iDriftStartX, this.m_aPoint[i][1] = this.m_aPoint[i][1] + t - this.m_iDriftStartY;
this.m_iDriftStartX = e, this.m_iDriftStartY = t, this.setPointInfo(this.m_aPoint), l()
}
}, {
key: "stretch", value: function (e, t) {
0 === this.m_iEditType && (-1 !== this.m_iIndexChoosePoint && (this.m_aPoint[this.m_iIndexChoosePoint][0] = e, this.m_aPoint[this.m_iIndexChoosePoint][1] = t), this.setPointInfo(this.m_aPoint), l())
}
}, {
key: "inShape", value: function (e, t) {
for (var n = !1, i = this.m_aPoint.length, r = 0, a = i - 1; r < i; a = r++) this.m_aPoint[r][1] > t != this.m_aPoint[a][1] > t && e < (this.m_aPoint[a][0] - this.m_aPoint[r][0]) * (t - this.m_aPoint[r][1]) / (this.m_aPoint[a][1] - this.m_aPoint[r][1]) + this.m_aPoint[r][0] && (n = !n);
return n
}
}, {
key: "inArc", value: function (e, t, n) {
for (var i = !1, r = 0, a = this.m_aPoint.length; r < a; r++) if (Math.sqrt((e - this.m_aPoint[r][0]) * (e - this.m_aPoint[r][0]) + (t - this.m_aPoint[r][1]) * (t - this.m_aPoint[r][1])) < n) {
i = !0, this.m_iIndexChoosePoint = r;
break
}
return i
}
}, {
key: "getMouseDownPoints", value: function (e, t) {
this.m_iDriftStartX = e, this.m_iDriftStartY = t
}
}, {
key: "getPointInfo", value: function () {
return this.m_aPoint
}
}, {
key: "setPointInfo", value: function (e) {
null != e && 0 < e.length && (this.m_aPoint = e, this.setEdgePoints(e))
}
}, {
key: "addPoint", value: function (e, t) {
this.m_aPoint.length < this.m_iMaxPointNum && this.m_aPoint.push([e, t]), this.m_aPoint.length === this.m_iMaxPointNum && this.setPointInfo(this.m_aPoint)
}
}, {
key: "setEdgePoints", value: function (e) {
for (var t = 0, n = e.length; t < n; t++) 0 === t ? (this.m_oEdgePoints.top.x = e[t][0], this.m_oEdgePoints.top.y = e[t][1], this.m_oEdgePoints.left.x = e[t][0], this.m_oEdgePoints.left.y = e[t][1], this.m_oEdgePoints.right.x = e[t][0], this.m_oEdgePoints.right.y = e[t][1], this.m_oEdgePoints.bottom.x = e[t][0], this.m_oEdgePoints.bottom.y = e[t][1]) : (e[t][1] < this.m_oEdgePoints.top.y && (this.m_oEdgePoints.top.x = e[t][0], this.m_oEdgePoints.top.y = e[t][1]), e[t][0] > this.m_oEdgePoints.right.x && (this.m_oEdgePoints.right.x = e[t][0], this.m_oEdgePoints.right.y = e[t][1]), e[t][1] > this.m_oEdgePoints.bottom.y && (this.m_oEdgePoints.bottom.x = e[t][0], this.m_oEdgePoints.bottom.y = e[t][1]), e[t][0] < this.m_oEdgePoints.left.x && (this.m_oEdgePoints.left.x = e[t][0], this.m_oEdgePoints.left.y = e[t][1]))
}
}]);
var e = n;
function n() {
k(this, n), this.m_szId = "", this.m_aPoint = [], this.m_bChoosed = !1, this.m_szDrawColor = m.oShapeStyle.szDrawColor, this.m_szFillColor = m.oShapeStyle.szFillColor, this.m_iTranslucent = m.oShapeStyle.iTranslucent, this.m_iIndexChoosePoint = -1, this.m_iDriftStartX = 0, this.m_iDriftStartY = 0, this.m_oEdgePoints = {
top: {
x: 0,
y: 0
}, left: {x: 0, y: 0}, right: {x: 0, y: 0}, bottom: {x: 0, y: 0}
}, this.m_szTips = "", this.m_iEditType = 0, this.m_iMinClosed = 3, this.m_iMaxPointNum = 11, this.m_bClosed = !1, this.m_iRedrawMode = 0
}
S(i, e), g(i, [{
key: "setPointInfo", value: function (e) {
if (null != e) {
for (var t = e[0][0], n = e[0][1], i = e[0][0], r = e[0][1], a = 0, s = e.length; a < s; a++) t > e[a][0] && (t = e[a][0]), n > e[a][1] && (n = e[a][1]), i < e[a][0] && (i = e[a][0]), r < e[a][1] && (r = e[a][1]);
this.m_aPoint = [[t, n], [i, n], [i, r], [t, r]]
}
}
}, {
key: "draw", value: function () {
m.oContext.fillStyle = this.m_szFillColor, m.oContext.strokeStyle = this.m_szDrawColor;
var e = this.m_aPoint[0][0], t = this.m_aPoint[0][1], n = this.m_aPoint[2][0] - e,
i = this.m_aPoint[2][1] - t;
if (m.oContext.globalAlpha = this.m_iTranslucent, m.oContext.fillRect(e, t, n, i), m.oContext.globalAlpha = 1, m.oContext.fillText(this.m_szTips, (e + this.m_aPoint[2][0]) / 2, (t + this.m_aPoint[2][1]) / 2), this.m_bChoosed) {
var r = Math.round(n / 2), a = Math.round(i / 2);
if (0 === this.m_iEditType) for (var s = [e, e + r, e + n, e, e + n, e, e + r, e + n], o = [t, t, t, t + a, t + a, t + i, t + i, t + i], u = 0; u < 8; u++) m.oContext.beginPath(), m.oContext.arc(s[u], o[u], 3, 0, 360, !1), m.oContext.fillStyle = this.m_szDrawColor, m.oContext.closePath(), m.oContext.fill()
}
m.oContext.strokeRect(e, t, n, i)
}
}, {
key: "stretch", value: function (e, t) {
0 === this.m_iEditType && (0 === this.m_iIndexChoosePoint ? e < this.m_aPoint[2][0] && t < this.m_aPoint[2][1] && (this.m_aPoint[0][0] = e, this.m_aPoint[0][1] = t, this.m_aPoint[3][0] = e, this.m_aPoint[1][1] = t) : 1 === this.m_iIndexChoosePoint ? t < this.m_aPoint[2][1] && (this.m_aPoint[0][1] = t, this.m_aPoint[1][1] = t) : 2 === this.m_iIndexChoosePoint ? e > this.m_aPoint[3][0] && t < this.m_aPoint[3][1] && (this.m_aPoint[1][0] = e, this.m_aPoint[1][1] = t, this.m_aPoint[2][0] = e, this.m_aPoint[0][1] = t) : 3 === this.m_iIndexChoosePoint ? e < this.m_aPoint[2][0] && (this.m_aPoint[0][0] = e, this.m_aPoint[3][0] = e) : 4 === this.m_iIndexChoosePoint ? e > this.m_aPoint[0][0] && (this.m_aPoint[1][0] = e, this.m_aPoint[2][0] = e) : 5 === this.m_iIndexChoosePoint ? e < this.m_aPoint[1][0] && t > this.m_aPoint[1][1] && (this.m_aPoint[3][0] = e, this.m_aPoint[3][1] = t, this.m_aPoint[0][0] = e, this.m_aPoint[2][1] = t) : 6 === this.m_iIndexChoosePoint ? t > this.m_aPoint[1][1] && (this.m_aPoint[2][1] = t, this.m_aPoint[3][1] = t) : 7 === this.m_iIndexChoosePoint && e > this.m_aPoint[0][0] && t > this.m_aPoint[0][1] && (this.m_aPoint[2][0] = e, this.m_aPoint[2][1] = t, this.m_aPoint[1][0] = e, this.m_aPoint[3][1] = t), l())
}
}, {
key: "move", value: function (e) {
l(), this.m_bChoosed = !0;
var t = e[0][0], n = e[0][1], i = e[1][0], e = e[1][1];
this.setPointInfo([[t, n], [i, n], [i, e], [t, e]]), this.draw()
}
}, {
key: "inArc", value: function (e, t, n) {
for (var i = this.m_aPoint[0][0], r = this.m_aPoint[0][1], a = this.m_aPoint[2][0] - i, s = this.m_aPoint[2][1] - r, o = Math.round(a / 2), u = Math.round(s / 2), d = [i, i + o, i + a, i, i + a, i, i + o, i + a], l = [r, r, r, r + u, r + u, r + s, r + s, r + s], h = 0; h < 8; h++) if (Math.sqrt((e - d[h]) * (e - d[h]) + (t - l[h]) * (t - l[h])) < n) return this.m_iIndexChoosePoint = h, !0;
return !1
}
}]);
var c = i;
function i() {
k(this, i);
var e = L(this, (i.__proto__ || Object.getPrototypeOf(i)).call(this));
return e.m_szType = "Rect", e
}
S(r, e), g(r, [{
key: "draw", value: function () {
var e, t, n, i;
"true" === this.m_szEnabled && (e = this.m_aPoint[0][0], t = this.m_aPoint[0][1], n = this.m_aPoint[2][0] - e, i = this.m_aPoint[2][1] - t, m.oContext.beginPath(), m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.globalAlpha = 1, m.oContext.rect(e, t, n, i), m.oContext.font = "15px serif", m.oContext.strokeText(this.m_szText, e, t + 15), m.oContext.stroke())
}
}, {
key: "drag", value: function (e, t) {
var n = this.m_aPoint.length, i = 0;
if ("0" === this.m_szAlignment) {
for (i = 0; i < n; i++) if (this.m_aPoint[i][1] + t - this.m_iDriftStartY > m.m_iCanvasHeight || this.m_aPoint[i][0] + e - this.m_iDriftStartX < 0 || this.m_aPoint[i][1] + t - this.m_iDriftStartY < 0) return this.m_iDriftStartX = e, void (this.m_iDriftStartY = t);
for (i = 0; i < n; i++) this.m_aPoint[i][0] = this.m_aPoint[i][0] + e - this.m_iDriftStartX, this.m_aPoint[i][1] = this.m_aPoint[i][1] + t - this.m_iDriftStartY
} else if ("1" === this.m_szAlignment || "2" === this.m_szAlignment) {
for (i = 0; i < n; i++) if (this.m_aPoint[i][1] + t - this.m_iDriftStartY > m.m_iCanvasHeight || this.m_aPoint[i][1] + t - this.m_iDriftStartY < 0) return this.m_iDriftStartX = e, void (this.m_iDriftStartY = t);
for (i = 0; i < n; i++) this.m_aPoint[i][1] = this.m_aPoint[i][1] + t - this.m_iDriftStartY
}
this.m_iDriftStartX = e, this.m_iDriftStartY = t, this.setEdgePoints(this.m_aPoint), l()
}
}, {
key: "stretch", value: function () {
}
}]);
var a = r;
function r(e, t) {
k(this, r);
var n = L(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this));
return n.m_szType = "RectOSD", n.m_szOSDType = "overlay-date", n.m_szText = e || "", n.m_szEnabled = t || "", n.m_szDateStyle = "", n.m_szClockType = "", n.m_szDisplayWeek = "", n.m_szId = "", n.m_szAlignment = "0", n
}
S(s, e), g(s, [{
key: "draw", value: function () {
for (var e = m.m_iCanvasWidth / this.m_iGridColNum, t = m.m_iCanvasHeight / this.m_iGridRowNum, n = "", i = 0; i < this.m_iGridRowNum; i++) {
for (var r = this.m_szGridMap.substring(6 * i, 6 * i + 6), a = parseInt("f" + r, 16).toString(2).split("").slice(4), s = "", o = 0; o < this.m_iGridColNum; o++) {
var u = "",
u = "1" === a[o] ? (m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.globalAlpha = 1, m.oContext.strokeRect(e * o, t * i, e, t), "1") : "0";
this.m_aAddGridMap.length && 1 === this.m_aAddGridMap[i][o] && (m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.strokeRect(e * o, t * i, e, t), u = "1"), s += u
}
n += parseInt("1111" + s + "00", 2).toString(16).substring(1)
}
this.m_szGridMap = n
}
}, {
key: "move", value: function (e, t, n, i) {
for (var r = m.m_iCanvasWidth / this.m_iGridColNum, a = m.m_iCanvasHeight / this.m_iGridRowNum, s = Math.floor(e / r), o = Math.floor(t / a), u = Math.floor(Math.abs(n - e) / r), d = Math.floor(Math.abs(i - t) / a), l = 1, h = 1, l = 0 < n - e ? 1 : -1, h = 0 < i - t ? 1 : -1, c = [], _ = 0; _ < this.m_iGridRowNum; _++) {
c[_] = [];
for (var f = 0; f < this.m_iGridColNum; f++) c[_][f] = 1 === l ? 1 === h ? o <= _ && _ <= o + d && s <= f && f <= s + u ? 1 : 0 : _ <= o && o - d <= _ && s <= f && f <= s + u ? 1 : 0 : 1 === h ? o <= _ && _ <= o + d && f <= s && s - u <= f ? 1 : 0 : _ <= o && o - d <= _ && f <= s && s - u <= f ? 1 : 0
}
this.m_aAddGridMap = c, this.draw()
}
}]);
var _ = s;
function s() {
k(this, s);
var e = L(this, (s.__proto__ || Object.getPrototypeOf(s)).call(this));
return e.m_szType = "Grid", e.m_iGridColNum = 22, e.m_iGridRowNum = 18, e.m_szGridMap = "", e.m_aAddGridMap = [], e
}
S(u, e), g(u, [{
key: "draw", value: function () {
0 === this.m_iLineType ? this.drawNormalLine() : 1 === this.m_iLineType ? this.drawArrowLine() : 3 === this.m_iLineType ? this.drawCrossLine() : 4 === this.m_iLineType && this.drawLineCount()
}
}, {
key: "drawNormalLine", value: function () {
if (m.oContext.globalAlpha = 1, 0 < this.m_aPoint.length) {
m.oContext.beginPath(), m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.lineWidth = 2, m.oContext.moveTo(this.m_aPoint[0][0], this.m_aPoint[0][1]);
for (var e = 1, t = this.m_aPoint.length; e < t; e++) m.oContext.lineTo(this.m_aPoint[e][0], this.m_aPoint[e][1]);
if (m.oContext.stroke(), this.m_bChoosed) for (var n = 0, i = this.m_aPoint.length; n < i; n++) m.oContext.beginPath(), m.oContext.fillStyle = this.m_szDrawColor, m.oContext.arc(this.m_aPoint[n][0], this.m_aPoint[n][1], 3, 0, 2 * Math.PI, !0), m.oContext.closePath(), m.oContext.fill();
"" !== this.m_szTips && (m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.fillText(this.m_szTips, this.m_aPoint[0][0] + 10, this.m_aPoint[0][1] + 4))
}
}
}, {
key: "drawArrowLine", value: function (e, t, n, i, r, a, s, o) {
a = void 0 !== a ? a : 30, s = void 0 !== s ? s : 10, o = void 0 !== o ? o : 1;
var u = 180 * Math.atan2(n - r, t - i) / Math.PI, d = (u + a) * Math.PI / 180,
u = (u - a) * Math.PI / 180, a = s * Math.cos(d), d = s * Math.sin(d), l = s * Math.cos(u),
s = s * Math.sin(u), u = (m.oContext.save(), m.oContext.beginPath(), t - a);
m.oContext.moveTo(u, n - d), m.oContext.lineTo(t, n), m.oContext.lineTo(t - l, n - s), m.oContext.moveTo(t, n), m.oContext.lineTo(i, r), 1 === e && (m.oContext.moveTo(i + a, r + d), m.oContext.lineTo(i, r), m.oContext.lineTo(i + l, r + s)), m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.lineWidth = o, m.oContext.stroke(), m.oContext.restore()
}
}, {
key: "drawCrossLine", value: function () {
this.drawNormalLine();
var e = (this.m_aPoint[0][0] + this.m_aPoint[1][0]) / 2,
t = (this.m_aPoint[0][1] + this.m_aPoint[1][1]) / 2,
n = 180 * Math.atan2(t - this.m_aPoint[0][1], e - this.m_aPoint[0][0]) / Math.PI,
i = (90 + n) * Math.PI / 180, n = (n - 90) * Math.PI / 180, r = 25 * Math.cos(i),
i = 25 * Math.sin(i), a = 25 * Math.cos(n), n = 25 * Math.sin(n), s = 0, o = 0, s = e - r,
o = t - i, r = 0, i = 0,
i = 0 === this.m_iDirection ? (r = -10, -15) : 1 === this.m_iDirection ? r = 10 : (r = 10, -15);
0 !== this.m_iDirection && this.drawArrowLine(0, s, o, e, t), m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.font = "8px", m.oContext.strokeText("A", s + r, o + 4), s = e - a, o = t - n, 1 !== this.m_iDirection && this.drawArrowLine(0, s, o, e, t), m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.font = "8px", m.oContext.strokeText("B", s + i, o + 4)
}
}, {
key: "drawLineCount", value: function () {
this.drawNormalLine();
var e = (this.m_aPoint[0][0] + this.m_aPoint[1][0]) / 2,
t = (this.m_aPoint[0][1] + this.m_aPoint[1][1]) / 2,
n = 180 * Math.atan2(t - this.m_aPoint[0][1], e - this.m_aPoint[0][0]) / Math.PI,
i = (90 + n) * Math.PI / 180, n = (n - 90) * Math.PI / 180, r = 25 * Math.cos(i),
i = 25 * Math.sin(i), a = 25 * Math.cos(n), n = 25 * Math.sin(n), s = 0, o = 0, s = e - r,
o = t - i;
1 === this.m_iArrowType ? this.drawArrowLine(0, s = e - a, o = t - n, e, t) : 0 === this.m_iArrowType && this.drawArrowLine(0, s, o, e, t), this.m_aCrossArrowPoint = [[e, t], [s, o]]
}
}, {
key: "inShape", value: function (e, t) {
for (var n = !1, i = 0, r = this.m_aPoint.length - 1; i < r; i++) {
var a = Math.sqrt((this.m_aPoint[i + 1][0] - this.m_aPoint[i][0]) * (this.m_aPoint[i + 1][0] - this.m_aPoint[i][0]) + (this.m_aPoint[i + 1][1] - this.m_aPoint[i][1]) * (this.m_aPoint[i + 1][1] - this.m_aPoint[i][1]));
Math.sqrt((e - this.m_aPoint[i][0]) * (e - this.m_aPoint[i][0]) + (t - this.m_aPoint[i][1]) * (t - this.m_aPoint[i][1])) + Math.sqrt((e - this.m_aPoint[i + 1][0]) * (e - this.m_aPoint[i + 1][0]) + (t - this.m_aPoint[i + 1][1]) * (t - this.m_aPoint[i + 1][1])) - a < 1 && (n = !0)
}
return n
}
}]);
var o = u;
function u() {
k(this, u);
var e = L(this, (u.__proto__ || Object.getPrototypeOf(u)).call(this));
return e.m_szType = "Line", e.m_iLineType = 0, e.m_iDirection = 0, e.m_iArrowType = 0, e.m_aCrossArrowPoint = [], e
}
S(d, e), g(d, [{
key: "setPointInfo", value: function (e) {
if (null != e) {
if (0 === this.m_iPolygonType) {
for (var t = e[0][0], n = e[0][1], i = e[0][0], r = e[0][1], a = 0, s = e.length; a < s; a++) t > e[a][0] && (t = e[a][0]), n > e[a][1] && (n = e[a][1]), i < e[a][0] && (i = e[a][0]), r < e[a][1] && (r = e[a][1]);
this.m_aPoint = [[t, n], [i, n], [i, r], [t, r]]
} else this.m_iPolygonType, this.m_aPoint = e;
this.setEdgePoints(e)
}
}
}, {
key: "draw", value: function () {
if (0 < this.m_aPoint.length) {
m.oContext.fillStyle = this.m_szFillColor, m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.globalAlpha = 1;
var e = 0, t = 0;
if (this.m_bChoosed) for (e = 0, t = this.m_aPoint.length; e < t; e++) m.oContext.beginPath(), m.oContext.arc(this.m_aPoint[e][0], this.m_aPoint[e][1], 3, 0, 360, !1), m.oContext.fillStyle = this.m_szDrawColor, m.oContext.closePath(), m.oContext.fill();
for (m.oContext.beginPath(), m.oContext.moveTo(this.m_aPoint[0][0], this.m_aPoint[0][1]), e = 0, t = this.m_aPoint.length; e < t; e++) 0 !== e && m.oContext.lineTo(this.m_aPoint[e][0], this.m_aPoint[e][1]);
m.oContext.stroke(), this.m_bClosed && (m.oContext.fillText(this.m_szTips, (this.m_oEdgePoints.left.x + this.m_oEdgePoints.right.x) / 2, (this.m_oEdgePoints.top.y + this.m_oEdgePoints.bottom.y) / 2), m.oContext.closePath(), m.oContext.stroke(), m.oContext.globalAlpha = this.m_iTranslucent, m.oContext.fill())
}
}
}, {
key: "move", value: function (e, t, n, i) {
if (1 === this.m_iPolygonType) {
if (this.m_aPoint.length < this.m_iMaxPointNum && 0 < this.m_aPoint.length) {
m.oContext.fillStyle = this.m_szFillColor, m.oContext.strokeStyle = this.m_szDrawColor, m.oContext.globalAlpha = 1;
for (var r = 0, a = 0, r = 0, a = this.m_aPoint.length; r < a; r++) m.oContext.beginPath(), m.oContext.arc(this.m_aPoint[r][0], this.m_aPoint[r][1], 3, 0, 360, !1), m.oContext.fillStyle = this.m_szDrawColor, m.oContext.closePath(), m.oContext.fill();
for (m.oContext.beginPath(), m.oContext.moveTo(this.m_aPoint[0][0], this.m_aPoint[0][1]), r = 0, a = this.m_aPoint.length; r < a; r++) 0 !== r && m.oContext.lineTo(this.m_aPoint[r][0], this.m_aPoint[r][1]);
m.oContext.lineTo(e, t), m.oContext.closePath(), m.oContext.stroke()
}
} else 0 === this.m_iPolygonType && (this.m_bChoosed = !0, this.setPointInfo([[n, i], [e, i], [e, t], [n, t]]), this.draw())
}
}, {
key: "stretch", value: function (e, t) {
0 === this.m_iEditType && (1 === this.m_iPolygonType ? -1 !== this.m_iIndexChoosePoint && (this.m_aPoint[this.m_iIndexChoosePoint][0] = e, this.m_aPoint[this.m_iIndexChoosePoint][1] = t) : 0 === this.m_iIndexChoosePoint ? e < this.m_aPoint[2][0] && t < this.m_aPoint[2][1] && (this.m_aPoint[0][0] = e, this.m_aPoint[0][1] = t, this.m_aPoint[3][0] = e, this.m_aPoint[1][1] = t) : 1 === this.m_iIndexChoosePoint ? e > this.m_aPoint[3][0] && t < this.m_aPoint[3][1] && (this.m_aPoint[1][0] = e, this.m_aPoint[1][1] = t, this.m_aPoint[2][0] = e, this.m_aPoint[0][1] = t) : 2 === this.m_iIndexChoosePoint ? e > this.m_aPoint[0][0] && t > this.m_aPoint[0][1] && (this.m_aPoint[2][0] = e, this.m_aPoint[2][1] = t, this.m_aPoint[1][0] = e, this.m_aPoint[3][1] = t) : 3 === this.m_iIndexChoosePoint && e < this.m_aPoint[1][0] && t > this.m_aPoint[1][1] && (this.m_aPoint[3][0] = e, this.m_aPoint[3][1] = t, this.m_aPoint[0][0] = e, this.m_aPoint[2][1] = t), this.setPointInfo(this.m_aPoint), l())
}
}]);
var f = d;
function d() {
k(this, d);
var e = L(this, (d.__proto__ || Object.getPrototypeOf(d)).call(this));
return e.m_szType = "Polygon", e.m_iPolygonType = 1, e
}
S(y, e), g(y, [{
key: "draw", value: function () {
m.oContext.beginPath(), m.oContext.fillStyle = this.m_szDrawColor, m.oContext.globalAlpha = 1, m.oContext.arc(this.m_aPoint[0][0], this.m_aPoint[0][1], 10, 0, 2 * Math.PI, !0), m.oContext.closePath(), m.oContext.fill()
}
}, {
key: "drag", value: function () {
}
}, {
key: "stretch", value: function () {
}
}]);
var p = y;
function y() {
k(this, y);
var e = L(this, (y.__proto__ || Object.getPrototypeOf(y)).call(this));
return e.m_szType = "Point", e.m_szId = "", e
}
function v(e) {
k(this, v), (m = this).oCanvas = (0, M.default)("#" + e), this.oContext = this.oCanvas[0].getContext("2d"), this.aShapes = [], this.bDrawStatus = !1, this.szShapeType = "Rect", this.iMaxShapeNumSupport = 10, this.bDrawShapeMultiOneTime = !0, this.oCurrentShapeInfo = {}, this.oEventCallback = null, this.oShapeStyle = {
szDrawColor: "#ff0000",
szFillColor: "#343434",
iTranslucent: .7
}, this.bPolygonDrawing = !1, this.m_iCanvasWidth = this.oCanvas.width(), this.m_iCanvasHeight = this.oCanvas.height(), this.m_iHorizontalResolution = 0, this.m_iVerticalResolution = 0, this.m_szDisplayMode = "", this.m_szVideoFormat = "", t(), this.aShapes.length = 0
}
return g(v, [{
key: "setDrawMutiShapeOneTime", value: function (e) {
this.bDrawShapeMultiOneTime = e
}
}, {
key: "setMaxShapeSupport", value: function (e) {
this.iMaxShapeNumSupport = e
}
}, {
key: "getMaxShapeSupport", value: function () {
return this.iMaxShapeNumSupport
}
}, {
key: "setDrawStatus", value: function (e, t) {
this.bDrawStatus = e, t && e && (this.oEventCallback = t), e || (this.oEventCallback = null)
}
}, {
key: "setShapeType", value: function (e) {
this.szShapeType = e, l()
}
}, {
key: "setCurrentShapeInfo", value: function (e) {
this.oCurrentShapeInfo = e || {
szId: "",
szTips: "",
iMinClosed: 3,
iMaxPointNum: 11,
iPolygonType: 1,
iRedrawMode: 0
}
}
}, {
key: "getShapeType", value: function () {
return this.szShapeType
}
}, {
key: "getAllShapesInfo", value: function () {
for (var e = [], t = 0, n = this.aShapes.length; t < n; t++) "Grid" === this.aShapes[t].m_szType ? e.push({
szType: this.aShapes[t].m_szType,
szGridMap: this.aShapes[t].m_szGridMap,
iGridColNum: this.aShapes[t].m_iGridColNum,
iGridRowNum: this.aShapes[t].m_iGridRowNum
}) : "RectOSD" === this.aShapes[t].m_szType ? e.push({
szType: this.aShapes[t].m_szType,
szText: this.aShapes[t].m_szText,
szEnabled: this.aShapes[t].m_szEnabled,
szOSDType: this.aShapes[t].m_szOSDType,
iPositionX: this.aShapes[t].m_aPoint[0][0],
iPositionY: this.aShapes[t].m_aPoint[0][1],
szDateStyle: this.aShapes[t].m_szDateStyle,
szClockType: this.aShapes[t].m_szClockType,
szDisplayWeek: this.aShapes[t].m_szDisplayWeek,
szId: this.aShapes[t].m_szId,
szAlignment: this.aShapes[t].m_szAlignment
}) : e.push({
szType: this.aShapes[t].m_szType,
aPoint: this.aShapes[t].m_aPoint,
szId: this.aShapes[t].m_szId,
bChoosed: this.aShapes[t].m_bChoosed
});
return e
}
}, {
key: "deleteRepeatPolyonById", value: function (e) {
var t = this.getAllShapesInfo(), n = t.length;
if (0 < n) for (var i = 0; i < n; i++) "Polygon" === t[i].szType && t[i].szId === e && this.deleteShape(i)
}
}, {
key: "getShapesInfoByType", value: function (e) {
for (var t = [], n = 0, i = this.aShapes.length; n < i; n++) this.aShapes[n].m_szType === e && ("Grid" === this.aShapes[n].m_szType ? t.push({
szType: this.aShapes[n].m_szType,
szGridMap: this.aShapes[n].m_szGridMap,
iGridColNum: this.aShapes[n].m_iGridColNum,
iGridRowNum: this.aShapes[n].m_iGridRowNum
}) : "RectOSD" === this.aShapes[n].m_szType ? t.push({
szType: this.aShapes[n].m_szType,
szText: this.aShapes[n].m_szText,
szEnabled: this.aShapes[n].m_szEnabled,
szOSDType: this.aShapes[n].m_szOSDType,
iPositionX: this.aShapes[n].m_aPoint[0][0],
iPositionY: this.aShapes[n].m_aPoint[0][1],
szDateStyle: this.aShapes[n].m_szDateStyle,
szClockType: this.aShapes[n].m_szClockType,
szDisplayWeek: this.aShapes[n].m_szDisplayWeek,
szId: this.aShapes[n].m_szId,
szAlignment: this.aShapes[n].m_szAlignment
}) : "Polygon" === e ? t.push({
szType: this.aShapes[n].m_szType,
szId: this.aShapes[n].m_szId,
iPolygonType: this.aShapes[n].m_iPolygonType,
iMinClosed: this.aShapes[n].m_iMinClosed,
iMaxPointNum: this.aShapes[n].m_iMaxPointNum,
iEditType: this.aShapes[n].m_iEditType,
aPoint: this.aShapes[n].m_aPoint,
bClosed: this.aShapes[n].m_bClosed,
szTips: this.aShapes[n].m_szTips,
szDrawColor: this.aShapes[n].m_szDrawColor,
szFillColor: this.aShapes[n].m_szFillColor,
iTranslucent: this.aShapes[n].m_iTranslucent
}) : "Line" === e ? t.push({
szType: this.aShapes[n].m_szType,
szId: this.aShapes[n].m_szId,
aPoint: this.aShapes[n].m_aPoint,
szTips: this.aShapes[n].m_szTips,
iLineType: this.aShapes[n].m_iLineType,
iDirection: this.aShapes[n].m_iDirection,
iArrowType: this.aShapes[n].m_iArrowType,
szDrawColor: this.aShapes[n].m_szDrawColor,
aCrossArrowPoint: this.aShapes[n].m_aCrossArrowPoint
}) : "Rect" === e ? t.push({
szType: this.aShapes[n].m_szType,
iEditType: this.aShapes[n].m_iEditType,
aPoint: this.aShapes[n].m_aPoint,
szTips: this.aShapes[n].m_szTips,
szDrawColor: this.aShapes[n].m_szDrawColor,
szFillColor: this.aShapes[n].m_szFillColor,
iTranslucent: this.aShapes[n].m_iTranslucent
}) : t.push({szType: this.aShapes[n].m_szType, aPoint: this.aShapes[n].m_aPoint}));
return t
}
}, {
key: "setShapesInfoByType", value: function (e, t) {
t = t || [];
var n = null;
if ("Rect" === e || "Polygon" === e || "Line" === e || "Point" === e) for (var i = 0, r = t.length; i < r; i++) "Rect" === e ? ((n = new c).m_iEditType = t[i].iEditType, n.m_szTips = t[i].szTips || "", n.m_szDrawColor = t[i].szDrawColor, n.m_szFillColor = t[i].szFillColor, n.m_iTranslucent = t[i].iTranslucent, n.m_iRedrawMode = t[i].iRedrawMode) : "Polygon" === e ? (n = new f, 0 === t[i].iPolygonType ? n.m_bClosed = !0 : n.m_bClosed = t[i].bClosed, n.m_szTips = t[i].szTips || "", n.m_szId = t[i].szId || "", n.m_iPolygonType = t[i].iPolygonType, n.m_iMinClosed = t[i].iMinClosed || 3, n.m_iMaxPointNum = t[i].iMaxPointNum || 11, n.m_iEditType = t[i].iEditType, n.m_szDrawColor = t[i].szDrawColor, n.m_szFillColor = t[i].szFillColor, n.m_iTranslucent = t[i].iTranslucent, n.m_iRedrawMode = t[i].iRedrawMode) : "Line" === e ? ((n = new o).m_iLineType = t[i].iLineType, n.m_szTips = t[i].szTips || "", n.m_szId = t[i].szId, n.m_iDirection = t[i].iDirection, n.m_iArrowType = t[i].iArrowType, n.m_szDrawColor = t[i].szDrawColor, n.setPointInfo(t[i].aPoint)) : "Point" === e && ((n = new p).m_szId = t[i].szId, n.m_szDrawColor = t[i].szDrawColor, n.setPointInfo(t[i].aPoint)), n.setPointInfo(t[i].aPoint), 0 === i && (n.m_bChoosed = !0), h(n); else "Grid" === e && ((n = new _).m_szGridMap = t[0].szGridMap || "", n.m_iGridColNum = t[0].iGridColNum || 22, n.m_iGridRowNum = t[0].iGridRowNum || 18, h(n));
l()
}
}, {
key: "addOSDShape", value: function (e, t, n, i, r) {
n || i || (i = n = 0), r = r || {};
t = new a(e, t), e = 10 * e.length;
t.m_szOSDType = r.szOSDType || "", t.m_szDateStyle = r.szDateStyle || "", t.m_szClockType = r.szClockType || "", t.m_szDisplayWeek = r.szDisplayWeek || "", t.m_szId = r.szId || "", t.m_szAlignment = "" + r.szAlignment || "0", "0" === t.m_szAlignment ? t.m_aPoint = [[n, i], [e + n, i], [e + n, i + 20], [n, i + 20]] : "1" === t.m_szAlignment ? t.m_aPoint = [[0, i], [e, i], [e, i + 20], [0, i + 20]] : "2" === t.m_szAlignment ? t.m_aPoint = [[this.m_iCanvasWidth - e, i], [this.m_iCanvasWidth, i], [this.m_iCanvasWidth, i + 20], [this.m_iCanvasWidth - e, i + 20]] : t.m_aPoint = [[n, i], [e + n, i], [e + n, i + 20], [n, i + 20]], h(t), l()
}
}, {
key: "selectShapeById", value: function (e, t) {
for (var n = 0, i = m.aShapes.length; n < i; n++) e === m.aShapes[n].m_szType && (t === m.aShapes[n].m_szId ? m.aShapes[n].m_bChoosed = !0 : m.aShapes[n].m_bChoosed = !1);
l()
}
}, {
key: "setCanvasSize", value: function (e, t) {
0 < e && 0 < t && (this.m_iCanvasWidth = e, this.m_iCanvasHeight = t, l())
}
}, {
key: "setDrawStyle", value: function (e, t, n) {
this.oShapeStyle = {szDrawColor: e, szFillColor: t, iTranslucent: n}
}
}, {
key: "clearAllShape", value: function () {
this.aShapes.length = 0, m.bPolygonDrawing = !1, l()
}
}, {
key: "clearShapeByType", value: function (e) {
for (var t = this.aShapes.length; 0 < t; t--) this.aShapes[t - 1].m_szType === e && ("Grid" === e ? (this.aShapes[t - 1].m_szGridMap = "", this.aShapes[t - 1].m_aAddGridMap = []) : this.aShapes.splice(t - 1, 1));
"Polygon" === e && (m.bPolygonDrawing = !1), l()
}
}, {
key: "deleteShape", value: function (e) {
this.aShapes.length > e && this.aShapes.splice(e, 1), l()
}
}, {
key: "updateCanvas", value: function (e) {
this.oCanvas = (0, M.default)("#" + e), this.oContext = this.oCanvas[0].getContext("2d"), this.m_iCanvasWidth = this.oCanvas.width(), this.m_iCanvasHeight = this.oCanvas.height(), t()
}
}, {
key: "resizeCanvas", value: function () {
this.m_iCanvasWidth = this.oCanvas.width(), this.m_iCanvasHeight = this.oCanvas.height()
}
}, {
key: "canvasRedraw", value: function () {
l()
}
}]), v
}();
t.ESCanvas = n
}, function (e, t, n) {
"use strict";
e.exports = n(291).default
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = _(n(9)), r = _(n(227)), a = _(n(301)), s = n(15), o = _(n(317)), u = _(n(333)), d = _(n(39)),
l = n(234), h = _(n(64)), c = n(5);
function _(e) {
return e && e.__esModule ? e : {default: e}
}
r.default.install();
n = {
createPlayer: function (e, t) {
if (null == e || "object" !== (void 0 === e ? "undefined" : (0, i.default)(e))) throw new c.InvalidArgumentException("MediaDataSource must be an javascript object!");
if (e.hasOwnProperty("type")) return new ("flv" !== e.type ? u : o).default(e, t);
throw new c.InvalidArgumentException("MediaDataSource must has type field to indicate video file type!")
}, isSupported: function () {
return a.default.supportMSEH264Playback()
}, getFeatureList: function () {
return a.default.getFeatureList()
}
};
n.BaseLoader = s.BaseLoader, n.LoaderStatus = s.LoaderStatus, n.LoaderErrors = s.LoaderErrors, n.Events = d.default, n.ErrorTypes = l.ErrorTypes, n.ErrorDetails = l.ErrorDetails, n.FlvPlayer = o.default, n.NativePlayer = u.default, n.LoggingControl = h.default, Object.defineProperty(n, "version", {
enumerable: !0,
get: function () {
return "__VERSION__"
}
}), t.default = n
}, function (e, t, n) {
n(293), e.exports = n(3).Object.assign
}, function (e, t, n) {
var i = n(8);
i(i.S + i.F, "Object", {assign: n(294)})
}, function (e, t, n) {
"use strict";
var c = n(14), _ = n(30), f = n(59), m = n(37), p = n(24), y = n(72), r = Object.assign;
e.exports = !r || n(23)(function () {
var e = {}, t = {}, n = Symbol(), i = "abcdefghijklmnopqrst";
return e[n] = 7, i.split("").forEach(function (e) {
t[e] = e
}), 7 != r({}, e)[n] || Object.keys(r({}, t)).join("") != i
}) ? function (e, t) {
for (var n = p(e), i = arguments.length, r = 1, a = f.f, s = m.f; r < i;) for (var o, u = y(arguments[r++]), d = a ? _(u).concat(a(u)) : _(u), l = d.length, h = 0; h < l;) o = d[h++], c && !s.call(u, o) || (n[o] = u[o]);
return n
} : r
}, function (e, t, n) {
n(296), e.exports = n(3).Object.setPrototypeOf
}, function (e, t, n) {
var i = n(8);
i(i.S, "Object", {setPrototypeOf: n(297).set})
}, function (e, t, r) {
function a(e, t) {
if (i(e), !n(t) && null !== t) throw TypeError(t + ": can't set as prototype!")
}
var n = r(16), i = r(13);
e.exports = {
set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, n, i) {
try {
(i = r(22)(Function.call, r(60).f(Object.prototype, "__proto__").set, 2))(e, []), n = !(e instanceof Array)
} catch (e) {
n = !0
}
return function (e, t) {
return a(e, t), n ? e.__proto__ = t : i(e, t), e
}
}({}, !1) : void 0), check: a
}
}, function (e, t, n) {
!function (ie, re) {
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
* @version v4.2.8+1e68dce6
*/
e.exports = function () {
"use strict";
function i(e) {
var t = typeof e;
return e !== null && (t === "object" || t === "function")
}
function u(e) {
return typeof e === "function"
}
var e = void 0;
if (Array.isArray) e = Array.isArray; else e = function (e) {
return Object.prototype.toString.call(e) === "[object Array]"
};
var n = e, r = 0, t = void 0, a = void 0, s = function e(t, n) {
p[r] = t;
p[r + 1] = n;
r += 2;
if (r === 2) if (a) a(y); else v()
};
function o(e) {
a = e
}
function d(e) {
s = e
}
var l = typeof window !== "undefined" ? window : undefined, h = l || {},
c = h.MutationObserver || h.WebKitMutationObserver,
_ = typeof self === "undefined" && typeof ie !== "undefined" && {}.toString.call(ie) === "[object process]",
f = typeof Uint8ClampedArray !== "undefined" && typeof importScripts !== "undefined" && typeof MessageChannel !== "undefined";
function I() {
return function () {
return ie.nextTick(y)
}
}
function W() {
if (typeof t !== "undefined") return function () {
t(y)
};
return m()
}
function H() {
var e = 0;
var t = new c(y);
var n = document.createTextNode("");
t.observe(n, {characterData: true});
return function () {
n.data = e = ++e % 2
}
}
function j() {
var e = new MessageChannel;
e.port1.onmessage = y;
return function () {
return e.port2.postMessage(0)
}
}
function m() {
var e = setTimeout;
return function () {
return e(y, 1)
}
}
var p = new Array(1e3);
function y() {
for (var e = 0; e < r; e += 2) {
var t = p[e];
var n = p[e + 1];
t(n);
p[e] = undefined;
p[e + 1] = undefined
}
r = 0
}
function F() {
try {
var e = Function("return this")().require("vertx");
t = e.runOnLoop || e.runOnContext;
return W()
} catch (e) {
return m()
}
}
var v = void 0;
if (_) v = I(); else if (c) v = H(); else if (f) v = j(); else if (l === undefined && "function" === "function") v = F(); else v = m();
function g(e, t) {
var n = this;
var i = new this.constructor(S);
if (i[L] === undefined) x(i);
var r = n._state;
if (r) {
var a = arguments[r - 1];
s(function () {
return R(r, i, a, n._result)
})
} else P(n, i, e, t);
return i
}
function M(e) {
var t = this;
if (e && typeof e === "object" && e.constructor === t) return e;
var n = new t(S);
T(n, e);
return n
}
var L = Math.random().toString(36).substring(2);
function S() {
}
var k = void 0, b = 1, w = 2;
function B() {
return new TypeError("You cannot resolve a promise with itself")
}
function N() {
return new TypeError("A promises callback cannot return that same promise.")
}
function z(e, t, n, i) {
try {
e.call(t, n, i)
} catch (e) {
return e
}
}
function U(e, i, r) {
s(function (t) {
var n = false;
var e = z(r, i, function (e) {
if (n) return;
n = true;
if (i !== e) T(t, e); else E(t, e)
}, function (e) {
if (n) return;
n = true;
Y(t, e)
}, "Settle: " + (t._label || " unknown promise"));
if (!n && e) {
n = true;
Y(t, e)
}
}, e)
}
function V(t, e) {
if (e._state === b) E(t, e._result); else if (e._state === w) Y(t, e._result); else P(e, undefined, function (e) {
return T(t, e)
}, function (e) {
return Y(t, e)
})
}
function D(e, t, n) {
if (t.constructor === e.constructor && n === g && t.constructor.resolve === M) V(e, t); else if (n === undefined) E(e, t); else if (u(n)) U(e, t, n); else E(e, t)
}
function T(t, e) {
if (t === e) Y(t, B()); else if (i(e)) {
var n = void 0;
try {
n = e.then
} catch (e) {
Y(t, e);
return
}
D(t, e, n)
} else E(t, e)
}
function G(e) {
if (e._onerror) e._onerror(e._result);
C(e)
}
function E(e, t) {
if (e._state !== k) return;
e._result = t;
e._state = b;
if (e._subscribers.length !== 0) s(C, e)
}
function Y(e, t) {
if (e._state !== k) return;
e._state = w;
e._result = t;
s(G, e)
}
function P(e, t, n, i) {
var r = e._subscribers;
var a = r.length;
e._onerror = null;
r[a] = t;
r[a + b] = n;
r[a + w] = i;
if (a === 0 && e._state) s(C, e)
}
function C(e) {
var t = e._subscribers;
var n = e._state;
if (t.length === 0) return;
var i = void 0, r = void 0, a = e._result;
for (var s = 0; s < t.length; s += 3) {
i = t[s];
r = t[s + n];
if (i) R(n, i, r, a); else r(a)
}
e._subscribers.length = 0
}
function R(e, t, n, i) {
var r = u(n), a = void 0, s = void 0, o = true;
if (r) {
try {
a = n(i)
} catch (e) {
o = false;
s = e
}
if (t === a) {
Y(t, N());
return
}
} else a = i;
if (t._state !== k) ; else if (r && o) T(t, a); else if (o === false) Y(t, s); else if (e === b) E(t, a); else if (e === w) Y(t, a)
}
function J(n, e) {
try {
e(function e(t) {
T(n, t)
}, function e(t) {
Y(n, t)
})
} catch (e) {
Y(n, e)
}
}
var A = 0;
function q() {
return A++
}
function x(e) {
e[L] = A++;
e._state = undefined;
e._result = undefined;
e._subscribers = []
}
function K() {
return new Error("Array Methods must be provided an Array")
}
var X = function () {
function e(e, t) {
this._instanceConstructor = e;
this.promise = new e(S);
if (!this.promise[L]) x(this.promise);
if (n(t)) {
this.length = t.length;
this._remaining = t.length;
this._result = new Array(this.length);
if (this.length === 0) E(this.promise, this._result); else {
this.length = this.length || 0;
this._enumerate(t);
if (this._remaining === 0) E(this.promise, this._result)
}
} else Y(this.promise, K())
}
e.prototype._enumerate = function e(t) {
for (var n = 0; this._state === k && n < t.length; n++) this._eachEntry(t[n], n)
};
e.prototype._eachEntry = function e(t, n) {
var i = this._instanceConstructor;
var r = i.resolve;
if (r === M) {
var a = void 0;
var s = void 0;
var o = false;
try {
a = t.then
} catch (e) {
o = true;
s = e
}
if (a === g && t._state !== k) this._settledAt(t._state, n, t._result); else if (typeof a !== "function") {
this._remaining--;
this._result[n] = t
} else if (i === O) {
var u = new i(S);
if (o) Y(u, s); else D(u, t, a);
this._willSettleAt(u, n)
} else this._willSettleAt(new i(function (e) {
return e(t)
}), n)
} else this._willSettleAt(r(t), n)
};
e.prototype._settledAt = function e(t, n, i) {
var r = this.promise;
if (r._state === k) {
this._remaining--;
if (t === w) Y(r, i); else this._result[n] = i
}
if (this._remaining === 0) E(r, this._result)
};
e.prototype._willSettleAt = function e(t, n) {
var i = this;
P(t, undefined, function (e) {
return i._settledAt(b, n, e)
}, function (e) {
return i._settledAt(w, n, e)
})
};
return e
}();
function Z(e) {
return new X(this, e).promise
}
function $(r) {
var a = this;
if (!n(r)) return new a(function (e, t) {
return t(new TypeError("You must pass an array to race."))
}); else return new a(function (e, t) {
var n = r.length;
for (var i = 0; i < n; i++) a.resolve(r[i]).then(e, t)
})
}
function Q(e) {
var t = this;
var n = new t(S);
Y(n, e);
return n
}
function ee() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}
function te() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}
var O = function () {
function t(e) {
this[L] = q();
this._result = this._state = undefined;
this._subscribers = [];
if (S !== e) {
typeof e !== "function" && ee();
this instanceof t ? J(this, e) : te()
}
}
t.prototype.catch = function e(t) {
return this.then(null, t)
};
t.prototype.finally = function e(t) {
var n = this;
var i = n.constructor;
if (u(t)) return n.then(function (e) {
return i.resolve(t()).then(function () {
return e
})
}, function (e) {
return i.resolve(t()).then(function () {
throw e
})
});
return n.then(t, t)
};
return t
}();
function ne() {
var e = void 0;
if (typeof re !== "undefined") e = re; else if (typeof self !== "undefined") e = self; else try {
e = Function("return this")()
} catch (e) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var t = e.Promise;
if (t) {
var n = null;
try {
n = Object.prototype.toString.call(t.resolve())
} catch (e) {
}
if (n === "[object Promise]" && !t.cast) return
}
e.Promise = O
}
return O.prototype.then = g, O.all = Z, O.race = $, O.resolve = M, O.reject = Q, O._setScheduler = o, O._setAsap = d, O._asap = s, O.polyfill = ne, O.Promise = O
}()
}.call(this, n(299), n(300))
}, function (e, t) {
var n, i, e = e.exports = {};
function r() {
throw new Error("setTimeout has not been defined")
}
function a() {
throw new Error("clearTimeout has not been defined")
}
try {
n = "function" == typeof setTimeout ? setTimeout : r
} catch (e) {
n = r
}
try {
i = "function" == typeof clearTimeout ? clearTimeout : a
} catch (e) {
i = a
}
function s(t) {
if (n === setTimeout) return setTimeout(t, 0);
if ((n === r || !n) && setTimeout) return (n = setTimeout)(t, 0);
try {
return n(t, 0)
} catch (e) {
try {
return n.call(null, t, 0)
} catch (e) {
return n.call(this, t, 0)
}
}
}
var o, u = [], d = !1, l = -1;
function h() {
d && o && (d = !1, o.length ? u = o.concat(u) : l = -1, u.length && c())
}
function c() {
if (!d) {
for (var e = s(h), t = (d = !0, u.length); t;) {
for (o = u, u = []; ++l < t;) o && o[l].run();
l = -1, t = u.length
}
o = null, d = !1, !function (t) {
if (i === clearTimeout) return clearTimeout(t);
if ((i === a || !i) && clearTimeout) return (i = clearTimeout)(t);
try {
i(t)
} catch (e) {
try {
return i.call(null, t)
} catch (e) {
return i.call(this, t)
}
}
}(e)
}
}
function _(e, t) {
this.fun = e, this.array = t
}
function f() {
}
e.nextTick = function (e) {
var t = new Array(arguments.length - 1);
if (1 < arguments.length) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
u.push(new _(e, t)), 1 !== u.length || d || s(c)
}, _.prototype.run = function () {
this.fun.apply(null, this.array)
}, e.title = "browser", e.browser = !0, e.env = {}, e.argv = [], e.version = "", e.versions = {}, e.on = f, e.addListener = f, e.once = f, e.off = f, e.removeListener = f, e.removeAllListeners = f, e.emit = f, e.prependListener = f, e.prependOnceListener = f, e.listeners = function (e) {
return []
}, e.binding = function (e) {
throw new Error("process.binding is not supported")
}, e.cwd = function () {
return "/"
}, e.chdir = function (e) {
throw new Error("process.chdir is not supported")
}, e.umask = function () {
return 0
}
}, function (e, t) {
var n = function () {
return this
}();
try {
n = n || new Function("return this")()
} catch (e) {
"object" == typeof window && (n = window)
}
e.exports = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = o(n(1)), r = o(n(2)), a = o(n(228)), s = n(63);
function o(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(u, null, [{
key: "supportMSEH264Playback", value: function () {
return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')
}
}, {
key: "supportNetworkStreamIO", value: function () {
var e = new a.default({}, (0, s.createDefaultConfig)()), t = e.loaderType;
return e.destroy(), "fetch-stream-loader" == t || "xhr-moz-chunked-loader" == t
}
}, {
key: "getNetworkLoaderTypeName", value: function () {
var e = new a.default({}, (0, s.createDefaultConfig)()), t = e.loaderType;
return e.destroy(), t
}
}, {
key: "supportNativeMediaPlayback", value: function (e) {
e = (u.videoElement = null == u.videoElement ? window.document.createElement("video") : u.videoElement).canPlayType(e);
return "probably" === e || "maybe" == e
}
}, {
key: "getFeatureList", value: function () {
var e = {
mseFlvPlayback: !1,
mseLiveFlvPlayback: !1,
networkStreamIO: !1,
networkLoaderName: "",
nativeMP4H264Playback: !1,
nativeWebmVP8Playback: !1,
nativeWebmVP9Playback: !1
};
return e.mseFlvPlayback = u.supportMSEH264Playback(), e.networkStreamIO = u.supportNetworkStreamIO(), e.networkLoaderName = u.getNetworkLoaderTypeName(), e.mseLiveFlvPlayback = e.mseFlvPlayback && e.networkStreamIO, e.nativeMP4H264Playback = u.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'), e.nativeWebmVP8Playback = u.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'), e.nativeWebmVP9Playback = u.supportNativeMediaPlayback('video/webm; codecs="vp9"'), e
}
}]);
n = u;
function u() {
(0, i.default)(this, u)
}
t.default = n
}, function (e, t, n) {
n(303), e.exports = n(3).Object.getPrototypeOf
}, function (e, t, n) {
var i = n(24), r = n(74);
n(52)("getPrototypeOf", function () {
return function (e) {
return r(i(e))
}
})
}, function (e, t, n) {
e.exports = {default: n(305), __esModule: !0}
}, function (e, t, n) {
n(306);
var i = n(3).Object;
e.exports = function (e, t) {
return i.create(e, t)
}
}, function (e, t, n) {
var i = n(8);
i(i.S, "Object", {create: n(46)})
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var d = _(n(9)), i = _(n(21)), r = _(n(1)), a = _(n(25)), s = _(n(32)), o = _(n(2)), u = _(n(26)),
l = (_(n(4)), _(n(33))), h = n(15), c = n(5);
function _(e) {
return e && e.__esModule ? e : {default: e}
}
n = h.BaseLoader, (0, u.default)(f, n), (0, o.default)(f, null, [{
key: "isSupported", value: function () {
try {
var e = l.default.msedge && 15048 <= l.default.version.minor, t = !l.default.msedge || e;
return self.fetch && self.ReadableStream && t
} catch (e) {
return !1
}
}
}]), (0, o.default)(f, [{
key: "destroy", value: function () {
this.isWorking() && this.abort(), (0, s.default)(f.prototype.__proto__ || (0, i.default)(f.prototype), "destroy", this).call(this)
}
}, {
key: "open", value: function (e, t) {
var n = this, i = (this._dataSource = e, this._range = t, e.url),
r = (this._config.reuseRedirectedURL && null != e.redirectedURL && (i = e.redirectedURL), this._seekHandler.getConfig(i, t)),
a = new self.Headers;
if ("object" === (0, d.default)(r.headers)) {
var s, o = r.headers;
for (s in o) o.hasOwnProperty(s) && a.append(s, o[s])
}
i = {
method: "GET",
headers: a,
mode: "cors",
cache: "default",
referrerPolicy: "no-referrer-when-downgrade"
};
if ("object" === (0, d.default)(this._config.headers)) for (var u in this._config.headers) a.append(u, this._config.headers[u]);
!1 === e.cors && (i.mode = "same-origin"), e.withCredentials && (i.credentials = "include"), e.referrerPolicy && (i.referrerPolicy = e.referrerPolicy), this._status = h.LoaderStatus.kConnecting, self.fetch(r.url, i).then(function (e) {
if (n._requestAbort) return n._requestAbort = !1, void (n._status = h.LoaderStatus.kIdle);
var t;
if (e.ok && 200 <= e.status && e.status <= 299) return e.url !== r.url && n._onURLRedirect && (t = n._seekHandler.removeURLParameters(e.url), n._onURLRedirect(t)), null != (t = e.headers.get("Content-Length")) && (n._contentLength = parseInt(t), 0 !== n._contentLength && n._onContentLengthKnown && n._onContentLengthKnown(n._contentLength)), n._pump.call(n, e.body.getReader());
if (n._status = h.LoaderStatus.kError, !n._onError) throw new c.RuntimeException("FetchStreamLoader: Http code invalid, " + e.status + " " + e.statusText);
n._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID, {code: e.status, msg: e.statusText})
}).catch(function (e) {
if (n._status = h.LoaderStatus.kError, !n._onError) throw e;
n._onError(h.LoaderErrors.EXCEPTION, {code: -1, msg: e.message})
})
}
}, {
key: "abort", value: function () {
this._requestAbort = !0
}
}, {
key: "_pump", value: function (i) {
var r = this;
return i.read().then(function (e) {
if (e.done) if (null !== r._contentLength && r._receivedLength < r._contentLength) {
r._status = h.LoaderStatus.kError;
var t = h.LoaderErrors.EARLY_EOF, n = {code: -1, msg: "Fetch stream meet Early-EOF"};
if (!r._onError) throw new c.RuntimeException(n.msg);
r._onError(t, n)
} else r._status = h.LoaderStatus.kComplete, r._onComplete && r._onComplete(r._range.from, r._range.from + r._receivedLength - 1); else {
if (!0 === r._requestAbort) return r._requestAbort = !1, r._status = h.LoaderStatus.kComplete, i.cancel();
r._status = h.LoaderStatus.kBuffering;
t = e.value.buffer, n = r._range.from + r._receivedLength;
r._receivedLength += t.byteLength, r._onDataArrival && r._onDataArrival(t, n, r._receivedLength), r._pump(i)
}
}).catch(function (e) {
if (11 !== e.code || !l.default.msedge) {
r._status = h.LoaderStatus.kError;
var t = 0, n = null,
n = 19 !== e.code && "network error" !== e.message || !(null === r._contentLength || null !== r._contentLength && r._receivedLength < r._contentLength) ? (t = h.LoaderErrors.EXCEPTION, {
code: e.code,
msg: e.message
}) : (t = h.LoaderErrors.EARLY_EOF, {code: e.code, msg: "Fetch stream meet Early-EOF"});
if (!r._onError) throw new c.RuntimeException(n.msg);
r._onError(t, n)
}
})
}
}]);
u = f;
function f(e, t) {
(0, r.default)(this, f);
var n = (0, a.default)(this, (f.__proto__ || (0, i.default)(f)).call(this, "fetch-stream-loader"));
return n.TAG = "FetchStreamLoader", n._seekHandler = e, n._config = t, n._needStash = !0, n._requestAbort = !1, n._contentLength = null, n._receivedLength = 0, n
}
t.default = u
}, function (e, t, n) {
e.exports = {default: n(309), __esModule: !0}
}, function (e, t, n) {
n(310);
var i = n(3).Object;
e.exports = function (e, t) {
return i.getOwnPropertyDescriptor(e, t)
}
}, function (e, t, n) {
var i = n(19), r = n(60).f;
n(52)("getOwnPropertyDescriptor", function () {
return function (e, t) {
return r(i(e), t)
}
})
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var u = _(n(9)), i = _(n(21)), r = _(n(1)), a = _(n(25)), s = _(n(32)), o = _(n(2)), d = _(n(26)), l = _(n(4)),
h = n(15), c = n(5);
function _(e) {
return e && e.__esModule ? e : {default: e}
}
n = h.BaseLoader, (0, d.default)(f, n), (0, o.default)(f, null, [{
key: "isSupported", value: function () {
try {
var e = new XMLHttpRequest;
return e.open("GET", "https://example.com", !0), (e.responseType = "moz-chunked-arraybuffer") === e.responseType
} catch (e) {
return l.default.w("MozChunkedLoader", e.message), !1
}
}
}]), (0, o.default)(f, [{
key: "destroy", value: function () {
this.isWorking() && this.abort(), this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onloadend = null, this._xhr.onerror = null, this._xhr = null), (0, s.default)(f.prototype.__proto__ || (0, i.default)(f.prototype), "destroy", this).call(this)
}
}, {
key: "open", value: function (e, t) {
this._dataSource = e, this._range = t;
var n = e.url,
n = (this._config.reuseRedirectedURL && null != e.redirectedURL && (n = e.redirectedURL), this._seekHandler.getConfig(n, t)),
i = (this._requestURL = n.url, this._xhr = new XMLHttpRequest);
if (i.open("GET", n.url, !0), i.responseType = "moz-chunked-arraybuffer", i.onreadystatechange = this._onReadyStateChange.bind(this), i.onprogress = this._onProgress.bind(this), i.onloadend = this._onLoadEnd.bind(this), i.onerror = this._onXhrError.bind(this), e.withCredentials && (i.withCredentials = !0), "object" === (0, u.default)(n.headers)) {
var r, a = n.headers;
for (r in a) a.hasOwnProperty(r) && i.setRequestHeader(r, a[r])
}
if ("object" === (0, u.default)(this._config.headers)) {
var s, o = this._config.headers;
for (s in o) o.hasOwnProperty(s) && i.setRequestHeader(s, o[s])
}
this._status = h.LoaderStatus.kConnecting, i.send()
}
}, {
key: "abort", value: function () {
this._requestAbort = !0, this._xhr && this._xhr.abort(), this._status = h.LoaderStatus.kComplete
}
}, {
key: "_onReadyStateChange", value: function (e) {
var t, e = e.target;
if (2 === e.readyState) if (null != e.responseURL && e.responseURL !== this._requestURL && this._onURLRedirect && (t = this._seekHandler.removeURLParameters(e.responseURL), this._onURLRedirect(t)), 0 !== e.status && (e.status < 200 || 299 < e.status)) {
if (this._status = h.LoaderStatus.kError, !this._onError) throw new c.RuntimeException("MozChunkedLoader: Http code invalid, " + e.status + " " + e.statusText);
this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID, {code: e.status, msg: e.statusText})
} else this._status = h.LoaderStatus.kBuffering
}
}, {
key: "_onProgress", value: function (e) {
var t;
this._status !== h.LoaderStatus.kError && (null === this._contentLength && null !== e.total && 0 !== e.total && (this._contentLength = e.total, this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength)), e = e.target.response, t = this._range.from + this._receivedLength, this._receivedLength += e.byteLength, this._onDataArrival && this._onDataArrival(e, t, this._receivedLength))
}
}, {
key: "_onLoadEnd", value: function (e) {
!0 === this._requestAbort ? this._requestAbort = !1 : this._status !== h.LoaderStatus.kError && (this._status = h.LoaderStatus.kComplete, this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1))
}
}, {
key: "_onXhrError", value: function (e) {
this._status = h.LoaderStatus.kError;
var t = 0, n = null,
n = this._contentLength && e.loaded < this._contentLength ? (t = h.LoaderErrors.EARLY_EOF, {
code: -1,
msg: "Moz-Chunked stream meet Early-Eof"
}) : (t = h.LoaderErrors.EXCEPTION, {code: -1, msg: e.constructor.name + " " + e.type});
if (!this._onError) throw new c.RuntimeException(n.msg);
this._onError(t, n)
}
}]);
d = f;
function f(e, t) {
(0, r.default)(this, f);
var n = (0, a.default)(this, (f.__proto__ || (0, i.default)(f)).call(this, "xhr-moz-chunked-loader"));
return n.TAG = "MozChunkedLoader", n._seekHandler = e, n._config = t, n._needStash = !0, n._xhr = null, n._requestAbort = !1, n._contentLength = null, n._receivedLength = 0, n
}
t.default = d
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var u = _(n(9)), i = _(n(21)), r = _(n(1)), a = _(n(25)), s = _(n(32)), o = _(n(2)), d = _(n(26)), l = _(n(4)),
h = n(15), c = n(5);
function _(e) {
return e && e.__esModule ? e : {default: e}
}
n = h.BaseLoader, (0, d.default)(f, n), (0, o.default)(f, null, [{
key: "isSupported", value: function () {
try {
if (void 0 === self.MSStream || void 0 === self.MSStreamReader) return !1;
var e = new XMLHttpRequest;
return e.open("GET", "https://example.com", !0), (e.responseType = "ms-stream") === e.responseType
} catch (e) {
return l.default.w("MSStreamLoader", e.message), !1
}
}
}]), (0, o.default)(f, [{
key: "destroy", value: function () {
this.isWorking() && this.abort(), this._reader && (this._reader.onprogress = null, this._reader.onload = null, this._reader.onerror = null, this._reader = null), this._xhr && (this._xhr.onreadystatechange = null, this._xhr = null), (0, s.default)(f.prototype.__proto__ || (0, i.default)(f.prototype), "destroy", this).call(this)
}
}, {
key: "open", value: function (e, t) {
this._internalOpen(e, t, !1)
}
}, {
key: "_internalOpen", value: function (e, t, n) {
this._dataSource = e, n ? this._currentRange = t : this._totalRange = t;
var n = e.url,
n = (this._config.reuseRedirectedURL && (null != this._currentRedirectedURL ? n = this._currentRedirectedURL : null != e.redirectedURL && (n = e.redirectedURL)), this._seekHandler.getConfig(n, t)),
t = (this._currentRequestURL = n.url, this._reader = new self.MSStreamReader),
i = (t.onprogress = this._msrOnProgress.bind(this), t.onload = this._msrOnLoad.bind(this), t.onerror = this._msrOnError.bind(this), this._xhr = new XMLHttpRequest);
if (i.open("GET", n.url, !0), i.responseType = "ms-stream", i.onreadystatechange = this._xhrOnReadyStateChange.bind(this), i.onerror = this._xhrOnError.bind(this), e.withCredentials && (i.withCredentials = !0), "object" === (0, u.default)(n.headers)) {
var r, a = n.headers;
for (r in a) a.hasOwnProperty(r) && i.setRequestHeader(r, a[r])
}
if ("object" === (0, u.default)(this._config.headers)) {
var s, o = this._config.headers;
for (s in o) o.hasOwnProperty(s) && i.setRequestHeader(s, o[s])
}
this._isReconnecting ? this._isReconnecting = !1 : this._status = h.LoaderStatus.kConnecting, i.send()
}
}, {
key: "abort", value: function () {
this._internalAbort(), this._status = h.LoaderStatus.kComplete
}
}, {
key: "_internalAbort", value: function () {
this._reader && (1 === this._reader.readyState && this._reader.abort(), this._reader.onprogress = null, this._reader.onload = null, this._reader.onerror = null, this._reader = null), this._xhr && (this._xhr.abort(), this._xhr.onreadystatechange = null, this._xhr = null)
}
}, {
key: "_xhrOnReadyStateChange", value: function (e) {
e = e.target;
if (2 === e.readyState) if (200 <= e.status && e.status <= 299) {
this._status = h.LoaderStatus.kBuffering, null != e.responseURL && (t = this._seekHandler.removeURLParameters(e.responseURL), e.responseURL !== this._currentRequestURL && t !== this._currentRedirectedURL && (this._currentRedirectedURL = t, this._onURLRedirect && this._onURLRedirect(t)));
var t = e.getResponseHeader("Content-Length");
null == t || null != this._contentLength || 0 < (t = parseInt(t)) && (this._contentLength = t, this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength))
} else {
if (this._status = h.LoaderStatus.kError, !this._onError) throw new c.RuntimeException("MSStreamLoader: Http code invalid, " + e.status + " " + e.statusText);
this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID, {code: e.status, msg: e.statusText})
} else 3 === e.readyState && 200 <= e.status && e.status <= 299 && (this._status = h.LoaderStatus.kBuffering, t = e.response, this._reader.readAsArrayBuffer(t))
}
}, {
key: "_xhrOnError", value: function (e) {
this._status = h.LoaderStatus.kError;
var t = h.LoaderErrors.EXCEPTION, e = {code: -1, msg: e.constructor.name + " " + e.type};
if (!this._onError) throw new c.RuntimeException(e.msg);
this._onError(t, e)
}
}, {
key: "_msrOnProgress", value: function (e) {
var t, n, e = e.target.result;
null == e ? this._doReconnectIfNeeded() : (t = e.slice(this._lastTimeBufferSize), this._lastTimeBufferSize = e.byteLength, n = this._totalRange.from + this._receivedLength, this._receivedLength += t.byteLength, this._onDataArrival && this._onDataArrival(t, n, this._receivedLength), e.byteLength >= this._bufferLimit && (l.default.v(this.TAG, "MSStream buffer exceeded max size near " + (n + t.byteLength) + ", reconnecting..."), this._doReconnectIfNeeded()))
}
}, {
key: "_doReconnectIfNeeded", value: function () {
var e;
(null == this._contentLength || this._receivedLength < this._contentLength) && (this._isReconnecting = !0, this._lastTimeBufferSize = 0, this._internalAbort(), e = {
from: this._totalRange.from + this._receivedLength,
to: -1
}, this._internalOpen(this._dataSource, e, !0))
}
}, {
key: "_msrOnLoad", value: function (e) {
this._status = h.LoaderStatus.kComplete, this._onComplete && this._onComplete(this._totalRange.from, this._totalRange.from + this._receivedLength - 1)
}
}, {
key: "_msrOnError", value: function (e) {
this._status = h.LoaderStatus.kError;
var t = 0, n = null,
n = this._contentLength && this._receivedLength < this._contentLength ? (t = h.LoaderErrors.EARLY_EOF, {
code: -1,
msg: "MSStream meet Early-Eof"
}) : (t = h.LoaderErrors.EARLY_EOF, {code: -1, msg: e.constructor.name + " " + e.type});
if (!this._onError) throw new c.RuntimeException(n.msg);
this._onError(t, n)
}
}]);
d = f;
function f(e, t) {
(0, r.default)(this, f);
var n = (0, a.default)(this, (f.__proto__ || (0, i.default)(f)).call(this, "xhr-msstream-loader"));
return n.TAG = "MSStreamLoader", n._seekHandler = e, n._config = t, n._needStash = !0, n._xhr = null, n._reader = null, n._totalRange = null, n._currentRange = null, n._currentRequestURL = null, n._currentRedirectedURL = null, n._contentLength = null, n._receivedLength = 0, n._bufferLimit = 16777216, n._lastTimeBufferSize = 0, n._isReconnecting = !1, n
}
t.default = d
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var u = f(n(9)), i = f(n(21)), r = f(n(1)), a = f(n(25)), s = f(n(32)), o = f(n(2)), d = f(n(26)), l = f(n(4)),
h = f(n(62)), c = n(15), _ = n(5);
function f(e) {
return e && e.__esModule ? e : {default: e}
}
n = c.BaseLoader, (0, d.default)(m, n), (0, o.default)(m, null, [{
key: "isSupported", value: function () {
try {
var e = new XMLHttpRequest;
return e.open("GET", "https://example.com", !0), (e.responseType = "arraybuffer") === e.responseType
} catch (e) {
return l.default.w("RangeLoader", e.message), !1
}
}
}]), (0, o.default)(m, [{
key: "destroy", value: function () {
this.isWorking() && this.abort(), this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onload = null, this._xhr.onerror = null, this._xhr = null), (0, s.default)(m.prototype.__proto__ || (0, i.default)(m.prototype), "destroy", this).call(this)
}
}, {
key: "open", value: function (e, t) {
this._dataSource = e, this._range = t, this._status = c.LoaderStatus.kConnecting;
e = !1;
null != this._dataSource.filesize && 0 !== this._dataSource.filesize && (e = !0, this._totalLength = this._dataSource.filesize), this._totalLengthReceived || e ? this._openSubRange() : (this._waitForTotalLength = !0, this._internalOpen(this._dataSource, {
from: 0,
to: -1
}))
}
}, {
key: "_openSubRange", value: function () {
var e = 1024 * this._currentChunkSizeKB, t = this._range.from + this._receivedLength, e = t + e;
null != this._contentLength && e - this._range.from >= this._contentLength && (e = this._range.from + this._contentLength - 1), this._currentRequestRange = {
from: t,
to: e
}, this._internalOpen(this._dataSource, this._currentRequestRange)
}
}, {
key: "_internalOpen", value: function (e, t) {
this._lastTimeLoaded = 0;
var n = e.url,
n = (this._config.reuseRedirectedURL && (null != this._currentRedirectedURL ? n = this._currentRedirectedURL : null != e.redirectedURL && (n = e.redirectedURL)), this._seekHandler.getConfig(n, t)),
i = (this._currentRequestURL = n.url, this._xhr = new XMLHttpRequest);
if (i.open("GET", n.url, !0), i.responseType = "arraybuffer", i.onreadystatechange = this._onReadyStateChange.bind(this), i.onprogress = this._onProgress.bind(this), i.onload = this._onLoad.bind(this), i.onerror = this._onXhrError.bind(this), e.withCredentials && (i.withCredentials = !0), "object" === (0, u.default)(n.headers)) {
var r, a = n.headers;
for (r in a) a.hasOwnProperty(r) && i.setRequestHeader(r, a[r])
}
if ("object" === (0, u.default)(this._config.headers)) {
var s, o = this._config.headers;
for (s in o) o.hasOwnProperty(s) && i.setRequestHeader(s, o[s])
}
i.send()
}
}, {
key: "abort", value: function () {
this._requestAbort = !0, this._internalAbort(), this._status = c.LoaderStatus.kComplete
}
}, {
key: "_internalAbort", value: function () {
this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onload = null, this._xhr.onerror = null, this._xhr.abort(), this._xhr = null)
}
}, {
key: "_onReadyStateChange", value: function (e) {
var t, e = e.target;
if (2 === e.readyState) if (null != e.responseURL && (t = this._seekHandler.removeURLParameters(e.responseURL), e.responseURL !== this._currentRequestURL && t !== this._currentRedirectedURL && (this._currentRedirectedURL = t, this._onURLRedirect && this._onURLRedirect(t))), 200 <= e.status && e.status <= 299) this._waitForTotalLength || (this._status = c.LoaderStatus.kBuffering); else {
if (this._status = c.LoaderStatus.kError, !this._onError) throw new _.RuntimeException("RangeLoader: Http code invalid, " + e.status + " " + e.statusText);
this._onError(c.LoaderErrors.HTTP_STATUS_CODE_INVALID, {code: e.status, msg: e.statusText})
}
}
}, {
key: "_onProgress", value: function (e) {
if (this._status !== c.LoaderStatus.kError) {
if (null === this._contentLength) {
var t = !1;
if (this._waitForTotalLength && (this._waitForTotalLength = !1, t = this._totalLengthReceived = !0, n = e.total, this._internalAbort(), null != n & 0 !== n && (this._totalLength = n)), -1 === this._range.to ? this._contentLength = this._totalLength - this._range.from : this._contentLength = this._range.to - this._range.from + 1, t) return void this._openSubRange();
this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength)
}
var n = e.loaded - this._lastTimeLoaded;
this._lastTimeLoaded = e.loaded, this._speedSampler.addBytes(n)
}
}
}, {
key: "_normalizeSpeed", value: function (e) {
var t, n = this._chunkSizeKBList, i = n.length - 1, r = 0, a = i;
if (e < n[0]) return n[0];
for (; r <= a;) {
if ((t = r + Math.floor((a - r) / 2)) === i || e >= n[t] && e < n[t + 1]) return n[t];
n[t] < e ? r = t + 1 : a = t - 1
}
}
}, {
key: "_onLoad", value: function (e) {
var t, n;
this._status !== c.LoaderStatus.kError && (this._waitForTotalLength ? this._waitForTotalLength = !1 : ((this._lastTimeLoaded = 0) === (t = this._speedSampler.lastSecondKBps) && (this._zeroSpeedChunkCount++, 3 <= this._zeroSpeedChunkCount && (t = this._speedSampler.currentKBps)), 0 !== t && (t = this._normalizeSpeed(t), this._currentSpeedNormalized !== t && (this._currentSpeedNormalized = t, this._currentChunkSizeKB = t)), t = e.target.response, e = this._range.from + this._receivedLength, this._receivedLength += t.byteLength, n = !1, null != this._contentLength && this._receivedLength < this._contentLength ? this._openSubRange() : n = !0, this._onDataArrival && this._onDataArrival(t, e, this._receivedLength), n && (this._status = c.LoaderStatus.kComplete, this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1))))
}
}, {
key: "_onXhrError", value: function (e) {
this._status = c.LoaderStatus.kError;
var t = 0, n = null,
n = this._contentLength && 0 < this._receivedLength && this._receivedLength < this._contentLength ? (t = c.LoaderErrors.EARLY_EOF, {
code: -1,
msg: "RangeLoader meet Early-Eof"
}) : (t = c.LoaderErrors.EXCEPTION, {code: -1, msg: e.constructor.name + " " + e.type});
if (!this._onError) throw new _.RuntimeException(n.msg);
this._onError(t, n)
}
}, {
key: "currentSpeed", get: function () {
return this._speedSampler.lastSecondKBps
}
}]);
d = m;
function m(e, t) {
(0, r.default)(this, m);
var n = (0, a.default)(this, (m.__proto__ || (0, i.default)(m)).call(this, "xhr-range-loader"));
return n.TAG = "RangeLoader", n._seekHandler = e, n._config = t, n._needStash = !1, n._chunkSizeKBList = [128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 5120, 6144, 7168, 8192], n._currentChunkSizeKB = 384, n._currentSpeedNormalized = 0, n._zeroSpeedChunkCount = 0, n._xhr = null, n._speedSampler = new h.default, n._requestAbort = !1, n._waitForTotalLength = !1, n._totalLengthReceived = !1, n._currentRequestURL = null, n._currentRedirectedURL = null, n._currentRequestRange = null, n._totalLength = null, n._contentLength = null, n._receivedLength = 0, n._lastTimeLoaded = 0, n
}
t.default = d
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = h(n(21)), r = h(n(1)), a = h(n(25)), s = h(n(32)), o = h(n(2)), u = h(n(26)), d = (h(n(4)), n(15)),
l = n(5);
function h(e) {
return e && e.__esModule ? e : {default: e}
}
n = d.BaseLoader, (0, u.default)(c, n), (0, o.default)(c, null, [{
key: "isSupported", value: function () {
try {
return void 0 !== self.WebSocket
} catch (e) {
return !1
}
}
}]), (0, o.default)(c, [{
key: "destroy", value: function () {
this._ws && this.abort(), (0, s.default)(c.prototype.__proto__ || (0, i.default)(c.prototype), "destroy", this).call(this)
}
}, {
key: "open", value: function (t) {
try {
var e = this._ws = new self.WebSocket(t.url);
e.binaryType = "arraybuffer", e.onopen = this._onWebSocketOpen.bind(this), e.onclose = this._onWebSocketClose.bind(this), e.onmessage = this._onWebSocketMessage.bind(this), e.onerror = this._onWebSocketError.bind(this), this._status = d.LoaderStatus.kConnecting
} catch (e) {
this._status = d.LoaderStatus.kError;
t = {code: e.code, msg: e.message};
if (!this._onError) throw new l.RuntimeException(t.msg);
this._onError(d.LoaderErrors.EXCEPTION, t)
}
}
}, {
key: "abort", value: function () {
var e = this._ws;
!e || 0 !== e.readyState && 1 !== e.readyState || (this._requestAbort = !0, e.close()), this._ws = null, this._status = d.LoaderStatus.kComplete
}
}, {
key: "_onWebSocketOpen", value: function (e) {
this._status = d.LoaderStatus.kBuffering
}
}, {
key: "_onWebSocketClose", value: function (e) {
!0 === this._requestAbort ? this._requestAbort = !1 : (this._status = d.LoaderStatus.kComplete, this._onComplete && this._onComplete(0, this._receivedLength - 1))
}
}, {
key: "_onWebSocketMessage", value: function (e) {
var t = this;
if (e.data instanceof ArrayBuffer) this._dispatchArrayBuffer(e.data); else if (e.data instanceof Blob) {
var n = new FileReader;
n.onload = function () {
t._dispatchArrayBuffer(n.result)
}, n.readAsArrayBuffer(e.data)
} else {
this._status = d.LoaderStatus.kError;
e = {code: -1, msg: "Unsupported WebSocket message type: " + e.data.constructor.name};
if (!this._onError) throw new l.RuntimeException(e.msg);
this._onError(d.LoaderErrors.EXCEPTION, e)
}
}
}, {
key: "_dispatchArrayBuffer", value: function (e) {
var t = this._receivedLength;
this._receivedLength += e.byteLength, this._onDataArrival && this._onDataArrival(e, t, this._receivedLength)
}
}, {
key: "_onWebSocketError", value: function (e) {
this._status = d.LoaderStatus.kError;
e = {code: e.code, msg: e.message};
if (!this._onError) throw new l.RuntimeException(e.msg);
this._onError(d.LoaderErrors.EXCEPTION, e)
}
}]);
u = c;
function c() {
(0, r.default)(this, c);
var e = (0, a.default)(this, (c.__proto__ || (0, i.default)(c)).call(this, "websocket-loader"));
return e.TAG = "WebSocketLoader", e._needStash = !0, e._ws = null, e._requestAbort = !1, e._receivedLength = 0, e
}
t.default = u
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r(n(2)).default)(a, [{
key: "getConfig", value: function (e, t) {
var n, i = {};
return 0 !== t.from || -1 !== t.to ? (n = void 0, n = -1 !== t.to ? "bytes=" + t.from.toString() + "-" + t.to.toString() : "bytes=" + t.from.toString() + "-", i.Range = n) : this._zeroStart && (i.Range = "bytes=0-"), {
url: e,
headers: i
}
}
}, {
key: "removeURLParameters", value: function (e) {
return e
}
}]);
n = a;
function a(e) {
(0, i.default)(this, a), this._zeroStart = e || !1
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
function a(e, t) {
(0, i.default)(this, a), this._startName = e, this._endName = t
}
(0, r(n(2)).default)(a, [{
key: "getConfig", value: function (e, t) {
var n;
return 0 === t.from && -1 === t.to || (n = !0, -1 === e.indexOf("?") && (e += "?", n = !1), n && (e += "&"), e += this._startName + "=" + t.from.toString(), -1 !== t.to && (e += "&" + this._endName + "=" + t.to.toString())), {
url: e,
headers: {}
}
}
}, {
key: "removeURLParameters", value: function (e) {
var t = e.split("?")[0], n = void 0, i = e.indexOf("?"), r = "";
if (null != (n = -1 !== i ? e.substring(i + 1) : n) && 0 < n.length) for (var a = n.split("&"), s = 0; s < a.length; s++) {
var o = a[s].split("=");
o[0] !== this._startName && o[0] !== this._endName && (0 < s && (r += "&"), r += a[s])
}
return 0 === r.length ? t : t + "?" + r
}
}]), t.default = a
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = M(n(11)), r = M(n(20)), a = M(n(9)), s = M(n(1)), o = M(n(2)), u = M(n(10)), d = M(n(4)), l = M(n(33)),
h = (M(n(62)), M(n(39))), c = M(n(318)), _ = M(n(40)), f = M(n(332)), m = M(n(232)), p = n(234), y = n(63),
v = n(5), g = M(n(233));
function M(e) {
return e && e.__esModule ? e : {default: e}
}
(0, o.default)(L, [{
key: "destroy", value: function () {
null != this._progressChecker && (window.clearInterval(this._progressChecker), this._progressChecker = null), this._transmuxer && this.unload(), this._mediaElement && this.detachMediaElement(), this.e = null, this._mediaDataSource = null, this._emitter && (this._emitter.removeAllListeners(), this._emitter = null)
}
}, {
key: "on", value: function (e, t) {
var n = this;
e === h.default.MEDIA_INFO ? null != this._mediaInfo && i.default.resolve().then(function () {
n._emitter.emit(h.default.MEDIA_INFO, n.mediaInfo)
}) : e === h.default.STATISTICS_INFO && null != this._statisticsInfo && i.default.resolve().then(function () {
n._emitter.emit(h.default.STATISTICS_INFO, n.statisticsInfo)
}), this._emitter.addListener(e, t)
}
}, {
key: "off", value: function (e, t) {
this._emitter.removeListener(e, t)
}
}, {
key: "attachMediaElement", value: function (e) {
var t = this;
if ((this._mediaElement = e).addEventListener("loadedmetadata", this.e.onvLoadedMetadata), e.addEventListener("seeking", this.e.onvSeeking), e.addEventListener("canplay", this.e.onvCanPlay), e.addEventListener("stalled", this.e.onvStalled), e.addEventListener("progress", this.e.onvProgress), e.addEventListener("timeupdate", this.e.onvTimeUpdate), this._msectl = new f.default(this._config), this._msectl.on(m.default.UPDATE_END, this._onmseUpdateEnd.bind(this)), this._msectl.on(m.default.BUFFER_FULL, this._onmseBufferFull.bind(this)), this._msectl.on(m.default.SOURCE_OPEN, function () {
if (t._mseSourceOpened = !0, t._hasPendingLoad) for (t._hasPendingLoad = !1, t.load(), 0 < t._stashArray.length && console.warn("stash before source open", t._stashArray.length); 0 < t._stashArray.length;) {
var e = t._stashArray.shift();
t._onLoaderChunkArrival(e.data, e.byteStart)
}
}), this._msectl.on(m.default.SOURCE_END, function () {
t._emitter.emit(h.default.MEDIA_SOURCE_ENDED)
}), this._msectl.on(m.default.SOURCE_CLOSE, function () {
t._mseSourceOpened = !1, t._emitter.emit(h.default.MEDIA_SOURCE_CLOSE)
}), this._msectl.on(m.default.ERROR, function (e) {
t._emitter.emit(h.default.ERROR, p.ErrorTypes.MEDIA_ERROR, p.ErrorDetails.MEDIA_MSE_ERROR, e)
}), this._msectl.attachMediaElement(e), null != this._pendingSeekTime) try {
e.currentTime = this._pendingSeekTime, this._pendingSeekTime = null
} catch (e) {
}
}
}, {
key: "detachMediaElement", value: function () {
this._mediaElement && (this._msectl.detachMediaElement(), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), this._mediaElement.removeEventListener("seeking", this.e.onvSeeking), this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay), this._mediaElement.removeEventListener("stalled", this.e.onvStalled), this._mediaElement.removeEventListener("progress", this.e.onvProgress), this._mediaElement.removeEventListener("timeupdate", this.e.onvTimeUpdate), this._mediaElement = null), this._msectl && (this._msectl.destroy(), this._msectl = null), this._stashArray = []
}
}, {
key: "load", value: function () {
var i = this;
if (!this._mediaElement) throw new v.IllegalStateException("HTMLMediaElement must be attached before load()!");
if (this._transmuxer) throw new v.IllegalStateException("FlvPlayer.load() has been called, please call unload() first!");
this._hasPendingLoad || (this._config.deferLoadAfterSourceOpen && !1 === this._mseSourceOpened ? this._hasPendingLoad = !0 : (0 < this._mediaElement.readyState && (this._requestSetTime = !0, this._mediaElement.currentTime = 0), this.openLatencyMonitor(), this._transmuxer = new c.default(this._mediaDataSource, this._config), this._transmuxer.on(_.default.INIT_SEGMENT, function (e, t) {
i._msectl.appendInitSegment(t)
}), this._transmuxer.on(_.default.MEDIA_SEGMENT, function (e, t) {
var n;
i._msectl.appendMediaSegment(t), i._config.lazyLoad && !i._config.isLive && (n = i._mediaElement.currentTime, t.info.endDts >= 1e3 * (n + i._config.lazyLoadMaxDuration) && null == i._progressChecker && (d.default.v(i.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), i._suspendTransmuxer()))
}), this._transmuxer.on(_.default.LOADING_COMPLETE, function () {
i._msectl.endOfStream(), i._emitter.emit(h.default.LOADING_COMPLETE)
}), this._transmuxer.on(_.default.RECOVERED_EARLY_EOF, function () {
i._emitter.emit(h.default.RECOVERED_EARLY_EOF)
}), this._transmuxer.on(_.default.IO_ERROR, function (e, t) {
i._emitter.emit(h.default.ERROR, p.ErrorTypes.NETWORK_ERROR, e, t)
}), this._transmuxer.on(_.default.DEMUX_ERROR, function (e, t) {
i._emitter.emit(h.default.ERROR, p.ErrorTypes.MEDIA_ERROR, e, {code: -1, msg: t})
}), this._transmuxer.on(_.default.MEDIA_INFO, function (e) {
i._mediaInfo = e, i._emitter.emit(h.default.MEDIA_INFO, (0, r.default)({}, e))
}), this._transmuxer.on(_.default.METADATA_ARRIVED, function (e) {
i._emitter.emit(h.default.METADATA_ARRIVED, e)
}), this._transmuxer.on(_.default.SCRIPTDATA_ARRIVED, function (e) {
i._emitter.emit(h.default.SCRIPTDATA_ARRIVED, e)
}), this._transmuxer.on(_.default.STATISTICS_INFO, function (e) {
i._statisticsInfo = i._fillStatisticsInfo(e), i._emitter.emit(h.default.STATISTICS_INFO, (0, r.default)({}, i._statisticsInfo))
}), this._transmuxer.on(_.default.RECOMMEND_SEEKPOINT, function (e) {
i._mediaElement && !i._config.accurateSeek && (i._requestSetTime = !0, i._mediaElement.currentTime = e / 1e3)
}), this._transmuxer.on(_.default.VIDEO_RESOLUTION_CHANGED, function (e) {
i._emitter.emit(h.default.VIDEO_RESOLUTION_CHANGED, e)
}), this._transmuxer.on(_.default.PARSEDDATA_ARRIVED, function (e, t) {
i._onParsedData(e, t, i.iWndNum)
}), this._transmuxer.open()))
}
}, {
key: "unload", value: function () {
this._mediaElement && this._mediaElement.pause(), this._msectl && this._msectl.seek(0), this._transmuxer && (this._transmuxer.close(), this._transmuxer.destroy(), this._transmuxer = null), this._durationMonitor && (self.clearInterval(this._durationMonitor), this._durationMonitor = null), this._latencyDetectTimer && (self.clearInterval(this._latencyDetectTimer), this._latencyDetectTimer = null, this._latencyAdjustCount = 0, d.default.i(this.TAG, "--== Total latency adjust count : " + this._latencyAdjustCountTotal), this._latencyAdjustCountTotal = 0), this._forzenTimes = 0, this._lastDecodedFrames = 0
}
}, {
key: "play", value: function () {
return this._mediaElement.play()
}
}, {
key: "pause", value: function () {
this._mediaElement.pause()
}
}, {
key: "openFileSystem", value: function (e) {
this._isRecord = !0, this._fs = new g.default(e, this._initSegment.data)
}
}, {
key: "downloadFile", value: function () {
if (!this._isRecord || !this._fs) throw new Error("FileSystem is not ready");
this._fs.download(), this._isRecord = !1, this._fs = null
}
}, {
key: "setRecordFlag", value: function (e) {
this._transmuxer.setRecordFlag(e)
}
}, {
key: "_onLoaderChunkArrival", value: function (e, t, n) {
this._transmuxer.feed(e, t, n)
}
}, {
key: "onLoaderChunkArrival", value: function (e, t, n) {
this._mseSourceOpened ? (0 < this._stashArray.length && this._stashArray.push({
data: e,
byteStart: t
}), this._onLoaderChunkArrival(e, t, n)) : this._stashArray.push({data: e, byteStart: t})
}
}, {
key: "_fillStatisticsInfo", value: function (e) {
var t, n, i, r;
return e.playerType = this._type, this._mediaElement instanceof HTMLVideoElement && (t = !0, r = i = 0, this._mediaElement.getVideoPlaybackQuality ? (i = (n = this._mediaElement.getVideoPlaybackQuality()).totalVideoFrames, r = n.droppedVideoFrames) : null != this._mediaElement.webkitDecodedFrameCount ? (i = this._mediaElement.webkitDecodedFrameCount, r = this._mediaElement.webkitDroppedFrameCount) : t = !1, t && (e.decodedFrames = i, e.droppedFrames = r)), e
}
}, {
key: "enableVideoStateMonitor", value: function (e) {
this._enableDurationMonitor = e, this._enableVideoFrozenMonitor = e
}
}, {
key: "_increaseLatency", value: function (e) {
this._curLatencyThreshold += e, this._curLatencyThreshold > this._config.highLatencyThreshold && (this._curLatencyThreshold = this._config.highLatencyThreshold), d.default.i(this.TAG, "latency +" + this._curLatencyThreshold)
}
}, {
key: "_decreaseLatency", value: function (e) {
this._curLatencyThreshold -= e, this._curLatencyThreshold < this._config.lowLatencyThreshold && (this._curLatencyThreshold = this._config.lowLatencyThreshold), d.default.i(this.TAG, "latency -" + this._curLatencyThreshold)
}
}, {
key: "_updateCurrentLatencyThreshold", value: function (e) {
this._curLatencyThreshold = e, this._curLatencyThreshold < this._config.lowLatencyThreshold && (this._curLatencyThreshold = this._config.lowLatencyThreshold), this._curLatencyThreshold > this._config.highLatencyThreshold && (this._curLatencyThreshold = this._config.highLatencyThreshold), d.default.i(this.TAG, "update current latency threshold : " + this._curLatencyThreshold)
}
}, {
key: "_adjustDurationGap", value: function () {
this._latencyAdjustCount < this._latencyDetectThreshold ? this._decreaseLatency(this._latencyDetectAdjustStep) : this._latencyAdjustCount > this._latencyDetectThreshold && this._increaseLatency(5 * this._latencyDetectAdjustStep), this._latencyAdjustCount = 0
}
}, {
key: "_doDurationMonitor", value: function () {
if (this._enableDurationMonitor && this._mseSourceOpened && (!this._msectl || !this._msectl.checkSourceBufferNull())) {
var e = this._mediaElement.buffered, t = this._mediaElement.currentTime,
n = this._mediaElement.paused;
if (null != e && 0 != e.length) {
var e = e.end(0), t = e - t;
if (!n && t > this._curLatencyThreshold && (n = e - this._decreaseDurationStep, d.default.w(this.TAG, "high latency gap {" + t + "}, decrease " + this._decreaseDurationStep + " and set to " + n), this._mediaElement.currentTime = n, this._requestSetTime = !0, this._latencyAdjustCountTotal++, 2 < this._latencyAdjustCountTotal && (++this._latencyAdjustCount, e = t + this._latencyDetectAdjustStep, this._updateCurrentLatencyThreshold(e))), this._enableVideoFrozenMonitor) {
n = 0;
if (this._mediaElement.getVideoPlaybackQuality) n = this._mediaElement.getVideoPlaybackQuality().totalVideoFrames; else {
if (null == this._mediaElement.webkitDecodedFrameCount) return;
n = this._mediaElement.webkitDecodedFrameCount
}
0 != this._lastDecodedFrames && (this._lastDecodedFrames == n ? this._forzenTimes++ : this._forzenTimes = 0), this._lastDecodedFrames = n, this._forzenTimes >= this._frozenTimesThreshold && (d.default.w(this.TAG, "Report video frozen event"), this._emitter.emit(h.default.VIDEO_FROZEN), this._forzenTimes = 0)
}
}
}
}
}, {
key: "openLatencyMonitor", value: function () {
this._enableDurationMonitor && null == this._durationMonitor && (this._durationMonitor = self.setInterval(this._doDurationMonitor.bind(this), this._videoStateMonitorInterval), this._forzenTimes = 0, this._lastDecodedFrames = 0, this._latencyDetectTimer = self.setInterval(this._adjustDurationGap.bind(this), this._latencyDetectInterval))
}
}, {
key: "closeLatencyMonitor", value: function () {
this._durationMonitor && (clearInterval(this._durationMonitor), this._durationMonitor = null), this._latencyDetectTimer && (clearInterval(this._latencyDetectTimer), this._latencyDetectTimer = null), this._emitter.listeners("timeupdate") && this._mediaElement.removeEventListener("timeupdate", this.e.onvTimeUpdate)
}
}, {
key: "_onmseUpdateEnd", value: function () {
if (this._config.lazyLoad && !this._config.isLive) {
for (var e = this._mediaElement.buffered, t = this._mediaElement.currentTime, n = 0, i = 0; i < e.length; i++) {
var r = e.start(i), a = e.end(i);
if (r <= t && t < a) {
n = a;
break
}
}
n >= t + this._config.lazyLoadMaxDuration && null == this._progressChecker && (d.default.v(this.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), this._suspendTransmuxer())
}
}
}, {
key: "_onmseBufferFull", value: function () {
d.default.v(this.TAG, "MSE SourceBuffer is full, suspend transmuxing task"), null == this._progressChecker && this._suspendTransmuxer(), this._emitter.emit(h.default.MS_BUFFER_FULL)
}
}, {
key: "_suspendTransmuxer", value: function () {
this._transmuxer && (this._transmuxer.pause(), null == this._progressChecker && (this._progressChecker = window.setInterval(this._checkProgressAndResume.bind(this), 1e3)))
}
}, {
key: "_checkProgressAndResume", value: function () {
for (var e = this._mediaElement.currentTime, t = this._mediaElement.buffered, n = !1, i = 0; i < t.length; i++) {
var r = t.start(i), a = t.end(i);
if (r <= e && e < a) {
e >= a - this._config.lazyLoadRecoverDuration && (n = !0);
break
}
}
n && (window.clearInterval(this._progressChecker), this._progressChecker = null, n && (d.default.v(this.TAG, "Continue loading from paused position"), this._transmuxer.resume()))
}
}, {
key: "_isTimepointBuffered", value: function (e) {
for (var t = this._mediaElement.buffered, n = 0; n < t.length; n++) {
var i = t.start(n), r = t.end(n);
if (i <= e && e < r) return !0
}
return !1
}
}, {
key: "_internalSeek", value: function (e) {
var t, n = this._isTimepointBuffered(e), i = !1, r = 0;
e < 1 && 0 < this._mediaElement.buffered.length && (((t = this._mediaElement.buffered.start(0)) < 1 && e < t || l.default.safari) && (i = !0, r = l.default.safari ? .1 : t)), i ? (this._requestSetTime = !0, this._mediaElement.currentTime = r) : n ? (this._alwaysSeekKeyframe ? (t = this._msectl.getNearestKeyframe(Math.floor(1e3 * e)), this._requestSetTime = !0, this._mediaElement.currentTime = null != t ? t.dts / 1e3 : e) : (this._requestSetTime = !0, this._mediaElement.currentTime = e), null != this._progressChecker && this._checkProgressAndResume()) : (null != this._progressChecker && (window.clearInterval(this._progressChecker), this._progressChecker = null), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && (this._requestSetTime = !0, this._mediaElement.currentTime = e))
}
}, {
key: "_checkAndApplyUnbufferedSeekpoint", value: function () {
var e;
this._seekpointRecord && (this._seekpointRecord.recordTime <= this._now() - 100 ? (e = this._mediaElement.currentTime, this._seekpointRecord = null, this._isTimepointBuffered(e) || (null != this._progressChecker && (window.clearTimeout(this._progressChecker), this._progressChecker = null), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && (this._requestSetTime = !0, this._mediaElement.currentTime = e))) : window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50))
}
}, {
key: "_checkAndResumeStuckPlayback", value: function (e) {
var t = this._mediaElement;
e || !this._receivedCanPlay || t.readyState < 2 ? 0 < (e = t.buffered).length && t.currentTime < e.start(0) && (d.default.w(this.TAG, "Playback seems stuck at " + t.currentTime + ", seek to " + e.start(0)), this._requestSetTime = !0, this._mediaElement.currentTime = e.start(0), this._mediaElement.removeEventListener("progress", this.e.onvProgress)) : this._mediaElement.removeEventListener("progress", this.e.onvProgress)
}
}, {
key: "_onvLoadedMetadata", value: function (e) {
null != this._pendingSeekTime && (this._mediaElement.currentTime = this._pendingSeekTime, this._pendingSeekTime = null), this._emitter.emit(h.default.LOADED_META_DATA)
}
}, {
key: "_onvSeeking", value: function (e) {
var t = this._mediaElement.currentTime, n = this._mediaElement.buffered;
if (this._requestSetTime) this._requestSetTime = !1; else {
if (t < 1 && 0 < n.length) {
var n = n.start(0);
if (n < 1 && t < n || l.default.safari) return this._requestSetTime = !0, void (this._mediaElement.currentTime = l.default.safari ? .1 : n)
}
if (this._isTimepointBuffered(t)) return this._alwaysSeekKeyframe && null != (n = this._msectl.getNearestKeyframe(Math.floor(1e3 * t))) && (this._requestSetTime = !0, this._mediaElement.currentTime = n.dts / 1e3), void (null != this._progressChecker && this._checkProgressAndResume());
this._seekpointRecord = {
seekPoint: t,
recordTime: this._now()
}, window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50)
}
}
}, {
key: "_onvCanPlay", value: function (e) {
var t;
this._receivedCanPlay = !0, this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay), this._mediaElement.play(), this._enableAudioGain && (g_audioSource || (t = this._mediaElement, g_audioSource = g_audioCtx.createMediaElementSource(t)), g_audioSource.connect(g_audioGain), d.default.d(this.TAG, "Enable audio gain, level = " + this._audioGainLevel))
}
}, {
key: "_onvStalled", value: function (e) {
this._checkAndResumeStuckPlayback(!0)
}
}, {
key: "_onvProgress", value: function (e) {
this._checkAndResumeStuckPlayback()
}
}, {
key: "_onvTimeUpdate", value: function (e) {
var t, n, i, e = e.target;
e.currentTime && e.seekable && e.playbackRate && 0 != e.seekable.length && (t = e.currentTime, i = e.seekable.end(0), n = e.playbackRate, (i = i - t) > this._fastvalue && 1 === n && (e.playbackRate = 1.2), i < this._slowvalue && 1 < n && (e.playbackRate = 1))
}
}, {
key: "type", get: function () {
return this._type
}
}, {
key: "buffered", get: function () {
return this._mediaElement.buffered
}
}, {
key: "duration", get: function () {
return this._mediaElement.duration
}
}, {
key: "volume", get: function () {
return this._mediaElement.volume
}, set: function (e) {
this._mediaElement.volume = e
}
}, {
key: "muted", get: function () {
return this._mediaElement.muted
}, set: function (e) {
this._mediaElement.muted = e
}
}, {
key: "currentTime", get: function () {
return this._mediaElement ? this._mediaElement.currentTime : 0
}, set: function (e) {
this._mediaElement ? this._internalSeek(e) : this._pendingSeekTime = e
}
}, {
key: "mediaInfo", get: function () {
return (0, r.default)({}, this._mediaInfo)
}
}, {
key: "statisticsInfo", get: function () {
return null == this._statisticsInfo && (this._statisticsInfo = {}), this._statisticsInfo = this._fillStatisticsInfo(this._statisticsInfo), (0, r.default)({}, this._statisticsInfo)
}
}, {
key: "onParsedData", set: function (e) {
this._onParsedData = e
}
}]);
n = L;
function L(e, t) {
if ((0, s.default)(this, L), this.TAG = "FlvPlayer", this._type = "FlvPlayer", this._emitter = new u.default, this._config = (0, y.createDefaultConfig)(), "object" === (void 0 === t ? "undefined" : (0, a.default)(t)) && (0, r.default)(this._config, t), "flv" !== e.type.toLowerCase()) throw new v.InvalidArgumentException("FlvPlayer requires an flv MediaDataSource input!");
!0 === e.isLive && (this._config.isLive = !0), this.e = {
onvLoadedMetadata: this._onvLoadedMetadata.bind(this),
onvSeeking: this._onvSeeking.bind(this),
onvCanPlay: this._onvCanPlay.bind(this),
onvStalled: this._onvStalled.bind(this),
onvProgress: this._onvProgress.bind(this),
onvTimeUpdate: this._onvTimeUpdate.bind(this)
}, self.performance && self.performance.now ? this._now = self.performance.now.bind(self.performance) : this._now = Date.now, this._pendingSeekTime = null, this._requestSetTime = !1, this._seekpointRecord = null, this._progressChecker = null, this._mediaDataSource = e, this._mediaElement = null, this._msectl = null, this._transmuxer = null, this._fastvalue = 1.5, this._slowvalue = .5, 0 < e.stashInitialSize && (this._fastvalue = 4, this._slowvalue = 2.5), this._stashArray = [], this._mseSourceOpened = !1, this._hasPendingLoad = !1, this._receivedCanPlay = !1, this._mediaInfo = null, this._statisticsInfo = null;
t = l.default.chrome && (l.default.version.major < 50 || 50 === l.default.version.major && l.default.version.build < 2661);
this._alwaysSeekKeyframe = !!(t || l.default.msedge || l.default.msie), this._alwaysSeekKeyframe && (this._config.accurateSeek = !1), this._videoStateMonitorInterval = this._config.videoStateMonitorInterval, this._enableDurationMonitor = this._config.enableDurationMonitor, this._curLatencyThreshold = this._config.lowLatencyThreshold, this._decreaseDurationStep = this._config.decreaseDurationStep, this._durationMonitor = null, this._enableVideoFrozenMonitor = this._config.enableVideoFrozenMonitor, this._frozenTimesThreshold = this._config.frozenTimesThreshold, this._forzenTimes = 0, this._lastDecodedFrames = 0, this._latencyDetectInterval = this._config.latencyDetectInterval, this._latencyDetectThreshold = this._config.latencyDetectThreshold, this._latencyDetectAdjustStep = this._config.latencyDetectAdjustStep, this._latencyDetectTimer = null, this._latencyAdjustCount = 0, this._latencyAdjustCountTotal = 0, this._enableAudioGain = this._config.enableAudioGain, this._audioGainLevel = 0 < this._config.audioGainLevel ? this._config.audioGainLevel : 1, this.iWndNum = this._config.WDInfo.index
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = f(n(38)), a = f(n(11)), r = f(n(1)), s = f(n(2)), o = f(n(10)), u = f(n(4)), d = f(n(64)),
l = f(n(229)), h = f(n(40)), c = (f(n(231)), f(n(65))), _ = f(n(331));
function f(e) {
return e && e.__esModule ? e : {default: e}
}
function m(t, n) {
if ((0, r.default)(this, m), this.TAG = "Transmuxer", this._emitter = new o.default, n.enableWorker && "undefined" != typeof Worker) try {
this._worker = (0, _.default)(231), this._workerDestroying = !1, this._worker.addEventListener("message", this._onWorkerMessage.bind(this)), this._worker.postMessage({
cmd: "init",
param: [t, n]
}), this.e = {onLoggingConfigChanged: this._onLoggingConfigChanged.bind(this)}, d.default.registerListener(this.e.onLoggingConfigChanged), this._worker.postMessage({
cmd: "logging_config",
param: d.default.getConfig()
})
} catch (e) {
u.default.e(this.TAG, "Error while initialize transmuxing worker, fallback to inline transmuxing"), this._worker = null, this._controller = new l.default(t, n)
} else this._controller = new l.default(t, n);
this._controller && ((t = this._controller).on(h.default.IO_ERROR, this._onIOError.bind(this)), t.on(h.default.DEMUX_ERROR, this._onDemuxError.bind(this)), t.on(h.default.INIT_SEGMENT, this._onInitSegment.bind(this)), t.on(h.default.MEDIA_SEGMENT, this._onMediaSegment.bind(this)), t.on(h.default.LOADING_COMPLETE, this._onLoadingComplete.bind(this)), t.on(h.default.RECOVERED_EARLY_EOF, this._onRecoveredEarlyEof.bind(this)), t.on(h.default.MEDIA_INFO, this._onMediaInfo.bind(this)), t.on(h.default.METADATA_ARRIVED, this._onMetaDataArrived.bind(this)), t.on(h.default.SCRIPTDATA_ARRIVED, this._onScriptDataArrived.bind(this)), t.on(h.default.STATISTICS_INFO, this._onStatisticsInfo.bind(this)), t.on(h.default.RECOMMEND_SEEKPOINT, this._onRecommendSeekpoint.bind(this)), t.on(h.default.VIDEO_RESOLUTION_CHANGED, this._onVideoResolutionChanged.bind(this)), t.on(h.default.PARSEDDATA_ARRIVED, this._parsedDataArrived.bind(this)))
}
(0, s.default)(m, [{
key: "destroy", value: function () {
this._worker ? this._workerDestroying || (this._workerDestroying = !0, this._worker.postMessage({cmd: "destroy"}), d.default.removeListener(this.e.onLoggingConfigChanged), this.e = null) : (this._controller.destroy(), this._controller = null), this._emitter.removeAllListeners(), this._emitter = null
}
}, {
key: "on", value: function (e, t) {
this._emitter.addListener(e, t)
}
}, {
key: "off", value: function (e, t) {
this._emitter.removeListener(e, t)
}
}, {
key: "hasWorker", value: function () {
return null != this._worker
}
}, {
key: "open", value: function () {
this._worker ? this._worker.postMessage({cmd: "start"}) : this._controller.start()
}
}, {
key: "close", value: function () {
this._worker ? this._worker.postMessage({cmd: "stop"}) : this._controller.stop()
}
}, {
key: "seek", value: function (e) {
this._worker ? this._worker.postMessage({cmd: "seek", param: e}) : this._controller.seek(e)
}
}, {
key: "pause", value: function () {
this._worker ? this._worker.postMessage({cmd: "pause"}) : this._controller.pause()
}
}, {
key: "resume", value: function () {
this._worker ? this._worker.postMessage({cmd: "resume"}) : this._controller.resume()
}
}, {
key: "feed", value: function (e, t, n) {
this.hasWorker() ? this._worker.postMessage({
cmd: "feed",
feedData: {data: e, byteStart: t, receivedLength: n}
}) : this._controller._ioctl._onLoaderChunkArrival(e, t, n)
}
}, {
key: "setRecordFlag", value: function (e) {
this.hasWorker() ? this._worker.postMessage({
cmd: "set_record_flag",
value: e
}) : this._controller._demuxer.recordFlag = e
}
}, {
key: "_onInitSegment", value: function (e, t) {
var n = this;
a.default.resolve().then(function () {
null != n._emitter && n._emitter.emit(h.default.INIT_SEGMENT, e, t)
})
}
}, {
key: "_onMediaSegment", value: function (e, t) {
var n = this;
a.default.resolve().then(function () {
null != n._emitter && n._emitter.emit(h.default.MEDIA_SEGMENT, e, t)
})
}
}, {
key: "_onLoadingComplete", value: function () {
var e = this;
a.default.resolve().then(function () {
e._emitter.emit(h.default.LOADING_COMPLETE)
})
}
}, {
key: "_onRecoveredEarlyEof", value: function () {
var e = this;
a.default.resolve().then(function () {
e._emitter.emit(h.default.RECOVERED_EARLY_EOF)
})
}
}, {
key: "_onMediaInfo", value: function (e) {
var t = this;
a.default.resolve().then(function () {
null != t._emitter && t._emitter.emit(h.default.MEDIA_INFO, e)
})
}
}, {
key: "_onMetaDataArrived", value: function (e) {
var t = this;
a.default.resolve().then(function () {
null != t._emitter && t._emitter.emit(h.default.METADATA_ARRIVED, e)
})
}
}, {
key: "_onScriptDataArrived", value: function (e) {
var t = this;
a.default.resolve().then(function () {
null != t._emitter && t._emitter.emit(h.default.SCRIPTDATA_ARRIVED, e)
})
}
}, {
key: "_onStatisticsInfo", value: function (e) {
var t = this;
a.default.resolve().then(function () {
t._emitter.emit(h.default.STATISTICS_INFO, e)
})
}
}, {
key: "_onIOError", value: function (e, t) {
var n = this;
a.default.resolve().then(function () {
null != n._emitter && n._emitter.emit(h.default.IO_ERROR, e, t)
})
}
}, {
key: "_onDemuxError", value: function (e, t) {
var n = this;
a.default.resolve().then(function () {
null != n._emitter && n._emitter.emit(h.default.DEMUX_ERROR, e, t)
})
}
}, {
key: "_onRecommendSeekpoint", value: function (e) {
var t = this;
a.default.resolve().then(function () {
t._emitter.emit(h.default.RECOMMEND_SEEKPOINT, e)
})
}
}, {
key: "_onLoggingConfigChanged", value: function (e) {
this._worker && this._worker.postMessage({cmd: "logging_config", param: e})
}
}, {
key: "_onVideoResolutionChanged", value: function (e) {
var t = this;
a.default.resolve().then(function () {
null != t._emitter && t._emitter.emit(h.default.VIDEO_RESOLUTION_CHANGED, e)
})
}
}, {
key: "_onWorkerMessage", value: function (e) {
var t = e.data, n = t.data;
if ("destroyed" === t.msg || this._workerDestroying) return this._workerDestroying = !1, this._worker.terminate(), void (this._worker = null);
switch (t.msg) {
case h.default.INIT_SEGMENT:
case h.default.MEDIA_SEGMENT:
this._emitter.emit(t.msg, n.type, n.data);
break;
case h.default.LOADING_COMPLETE:
case h.default.RECOVERED_EARLY_EOF:
this._emitter.emit(t.msg);
break;
case h.default.MEDIA_INFO:
(0, i.default)(n, c.default.prototype), this._emitter.emit(t.msg, n);
break;
case h.default.METADATA_ARRIVED:
case h.default.SCRIPTDATA_ARRIVED:
case h.default.STATISTICS_INFO:
this._emitter.emit(t.msg, n);
break;
case h.default.IO_ERROR:
case h.default.DEMUX_ERROR:
this._emitter.emit(t.msg, n.type, n.info);
break;
case h.default.RECOMMEND_SEEKPOINT:
this._emitter.emit(t.msg, n);
break;
case"logcat_callback":
u.default.emitter.emit("log", n.type, n.logcat);
break;
case h.default.PARSEDDATA_ARRIVED:
this._emitter.emit(t.msg, n.databuf, n.dataType)
}
}
}, {
key: "_parsedDataArrived", value: function (e, t, n, i) {
var r = this;
a.default.resolve().then(function () {
r._emitter && r._emitter.emit(h.default.PARSEDDATA_ARRIVED, e, t, n, i)
})
}
}]), t.default = m
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var r = l(n(85)), a = l(n(20)), s = l(n(9)), p = l(n(320)), i = l(n(1)), o = l(n(2)), b = l(n(4)),
u = l(n(324)), w = l(n(326)), D = l(n(66)), d = l(n(65)), y = n(5);
function l(e) {
return e && e.__esModule ? e : {default: e}
}
(0, o.default)(v, [{
key: "destroy", value: function () {
this._mediaInfo = null, this._metadata = null, this._audioMetadata = null, this._videoMetadata = null, this._videoTrack = null, this._audioTrack = null, this._onError = null, this._onMediaInfo = null, this._onMetaDataArrived = null, this._onScriptDataArrived = null, this._onTrackMetadata = null, this._onDataAvailable = null, this._lastVideoDimension = null, this._recordFlag = !1, this._firstrVideo = !0, this._firstAudio = !0, this._flvHead = "", this._firstParseAudio = !0, this._bpsCalculator && (self.clearInterval(this._bpsCalculator), this._bpsCalculator = null, this._bpsInfo = null)
}
}, {
key: "bindDataSource", value: function (e) {
return e.onDataArrival = this.parseChunks.bind(this), this
}
}, {
key: "resetMediaInfo", value: function () {
this._mediaInfo = new d.default
}
}, {
key: "_isInitialMetadataDispatched", value: function () {
return this._hasAudio && this._hasVideo ? this._audioInitialMetadataDispatched && this._videoInitialMetadataDispatched : this._hasAudio && !this._hasVideo ? this._audioInitialMetadataDispatched : !(this._hasAudio || !this._hasVideo) && this._videoInitialMetadataDispatched
}
}, {
key: "_calculateRealtimeBitrate", value: function () {
this._bpsInfo && (this._bpsInfo.time_gap_factor < 1 && (this._bpsInfo.time_gap_factor = 1), 0 != this._bpsInfo.lastVideoBytes && (this._bpsInfo.bps_video = 8 * this._bpsInfo.lastVideoBytes / 1024 / this._bpsInfo.time_gap_factor, this._bpsInfo.lastVideoBytes = 0), 0 != this._bpsInfo.lastAudioBytes && (this._bpsInfo.bps_audio = 8 * this._bpsInfo.lastAudioBytes / 1024 / this._bpsInfo.time_gap_factor, this._bpsInfo.lastAudioBytes = 0), this._videoInfo.bitRate = this._bpsInfo.bps_video + this._bpsInfo.bps_audio, this._onParsedData(this._videoInfo, 3))
}
}, {
key: "parseChunks", value: function (e, t) {
if (!(this._onError && this._onMediaInfo && this._onTrackMetadata && this._onDataAvailable)) throw new y.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");
var n = 0, i = this._littleEndian;
if (0 === t) {
if (!(13 < e.byteLength)) return 0;
n = v.probe(e).dataOffset
}
this._bpsCalculator || (this._bpsCalculator = self.setInterval(this._calculateRealtimeBitrate.bind(this), 1e3)), this._firstParse && (this._firstParse = !1, t + n !== this._dataOffset && b.default.w(this.TAG, "First time parsing but chunk byteStart invalid!"), 0 !== new DataView(e, n).getUint32(0, !i) && b.default.w(this.TAG, "PrevTagSize0 !== 0 !!!"), n += 4, this._flvHead = new Uint8Array(e, 0, 13));
for (var r, a = 0, s = 0; n < e.byteLength;) {
this._dispatch = !0;
var o = new DataView(e, n);
if (n + 11 + 4 > e.byteLength) break;
var u = o.getUint8(0), d = 16777215 & o.getUint32(0, !i);
if (n + 11 + d + 4 > e.byteLength) break;
if (8 !== u && 9 !== u && 18 !== u && 191 !== u) b.default.w(this.TAG, "Unsupported tag type " + u + ", skipped"), n += 11 + d + 4; else {
var l, h = o.getUint8(4), c = o.getUint8(5),
_ = o.getUint8(6) | c << 8 | h << 16 | o.getUint8(7) << 24,
f = (0 != (16777215 & o.getUint32(7, !i)) && b.default.w(this.TAG, "Meet tag which has StreamID != 0!"), n + 11);
switch (!this._recordFlag || 8 !== u && 9 !== u && 18 !== u || this._onParsedData(new Uint8Array(e, n, 11 + d + 4), 1), u) {
case 8:
this._firstAudio && (l = (this._firstAudio = !1, p.default)(this._flvHead).concat((0, p.default)(new Uint8Array(e, n, 11 + d + 4))), this._flvHead = new Uint8Array(l), this._onParsedData(this._flvHead, 5)), this._parseAudioData(e, f, d, _), s += d;
break;
case 9:
this._firstrVideo && (l = (this._firstrVideo = !1, p.default)(this._flvHead).concat((0, p.default)(new Uint8Array(e, n, 11 + d + 4))), this._flvHead = new Uint8Array(l), this._onParsedData(this._flvHead, 5), this._osdtimeInfo.flvstartTime = _), this._osdtimeInfo.flvduration = _ - this._osdtimeInfo.flvstartTime, this._parseVideoData(e, f, d, _, t + n), a += d;
break;
case 18:
var m = (0, p.default)(this._flvHead).concat((0, p.default)(new Uint8Array(e, n, 11 + d + 4)));
this._flvHead = new Uint8Array(m), this._parseScriptData(e, f, d);
break;
case 191:
this._parsePrivateData(e, f, d)
}
c = o.getUint32(11 + d, !i);
c !== 11 + d && (b.default.w(this.TAG, "Invalid PrevTagSize " + c), (2097152 < c || c < 16) && this._onParsedData("reset decoder", 11)), n += 11 + d + 4
}
}
return this._bpsInfo && (this._bpsInfo.lastAudioBytes += s, this._bpsInfo.lastVideoBytes += a, 0 != this._bpsInfo.data_updated_time && (r = (r = (this._now() - this._bpsInfo.data_updated_time) / 1e3) < 1 ? 1 : Math.round(r), this._bpsInfo.time_gap_factor = r), this._bpsInfo.data_updated_time = this._now()), this._isInitialMetadataDispatched() && this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack), n
}
}, {
key: "_parseScriptData", value: function (e, t, n) {
e = u.default.parseScriptData(e, t, n);
if (e.hasOwnProperty("onMetaData")) {
if (null == e.onMetaData || "object" !== (0, s.default)(e.onMetaData)) return void b.default.w(this.TAG, "Invalid onMetaData structure!");
this._metadata && b.default.w(this.TAG, "Found another onMetaData tag!"), this._metadata = e;
var i, t = this._metadata.onMetaData;
this._onMetaDataArrived && this._onMetaDataArrived((0, a.default)({}, t)), "boolean" == typeof t.hasAudio && !1 === this._hasAudioFlagOverrided && (this._hasAudio = t.hasAudio, this._mediaInfo.hasAudio = this._hasAudio), "boolean" == typeof t.hasVideo && !1 === this._hasVideoFlagOverrided && (this._hasVideo = t.hasVideo, this._mediaInfo.hasVideo = this._hasVideo), "number" == typeof t.audiodatarate && (this._mediaInfo.audioDataRate = t.audiodatarate), "number" == typeof t.videodatarate && (this._mediaInfo.videoDataRate = t.videodatarate), "number" == typeof t.width && (this._mediaInfo.width = t.width), "number" == typeof t.height && (this._mediaInfo.height = t.height), "number" == typeof t.duration ? this._durationOverrided || (n = Math.floor(t.duration * this._timescale), this._duration = n, this._mediaInfo.duration = n) : this._mediaInfo.duration = 0, "number" != typeof t.framerate || 0 < (n = Math.floor(1e3 * t.framerate)) && (i = n / 1e3, this._referenceFrameRate.fixed = !0, this._referenceFrameRate.fps = i, this._referenceFrameRate.fps_num = n, this._referenceFrameRate.fps_den = 1e3, this._mediaInfo.fps = i), "object" === (0, s.default)(t.keyframes) ? (this._mediaInfo.hasKeyframesIndex = !0, n = t.keyframes, this._mediaInfo.keyframesIndex = this._parseKeyframesIndex(n), t.keyframes = null) : this._mediaInfo.hasKeyframesIndex = !1, this._dispatch = !1, this._mediaInfo.metadata = t, b.default.v(this.TAG, "Parsed onMetaData, hasAudio:" + this._mediaInfo.hasAudio + ", hasVideo:" + this._mediaInfo.hasVideo + ", video demension:" + this._mediaInfo.width + "x" + this._mediaInfo.height + "@" + this._mediaInfo.fps + " fps, hasKeyframesIndex=" + this._mediaInfo.hasKeyframesIndex + ", video_bitrate=" + this._mediaInfo.videoDataRate + ", audio_bitrate=" + this._mediaInfo.audioDataRate), this._mediaInfo.isComplete() && this._onMediaInfo(this._mediaInfo)
}
0 < (0, r.default)(e).length && this._onScriptDataArrived && this._onScriptDataArrived((0, a.default)({}, e))
}
}, {
key: "_parseKeyframesIndex", value: function (e) {
for (var t = [], n = [], i = 1; i < e.times.length; i++) {
var r = this._timestampBase + Math.floor(1e3 * e.times[i]);
t.push(r), n.push(e.filepositions[i])
}
return {times: t, filepositions: n}
}
}, {
key: "_parseAudioData", value: function (e, t, n, i) {
if (n <= 1) b.default.w(this.TAG, "Flv: Invalid audio packet, missing SoundData payload!"); else if (!0 === this._hasAudioFlagOverrided && !1 === this._hasAudio) {
if (this._firstParseAudio) {
this._firstParseAudio = !1;
var r = this._parseAACAudioData(e, t + 1, n - 1);
if (null == r) return;
this._videoInfo.audioType = "AAC", this._videoInfo.audioSampleRate = r.data.samplingRate
}
} else {
this._littleEndian;
var r = new DataView(e, t, n).getUint8(0), a = r >>> 4;
if (2 != a && 10 != a) this._onError(D.default.CODEC_UNSUPPORTED, "Flv: Unsupported audio codec idx: " + a); else {
var s = 0, o = (12 & r) >>> 2;
if (0 <= o && o <= 4) {
var s = this._flvSoundRateTable[o], r = 1 & r, u = this._audioMetadata,
d = this._audioTrack;
if (u || (!1 === this._hasAudio && !1 === this._hasAudioFlagOverrided && (this._hasAudio = !0, this._mediaInfo.hasAudio = !0), (u = this._audioMetadata = {type: "audio"}).id = d.id, u.timescale = this._timescale, u.duration = this._duration, u.audioSampleRate = s, u.channelCount = 0 == r ? 1 : 2), 10 == a) {
s = this._parseAACAudioData(e, t + 1, n - 1);
if (null != s) {
if (0 === s.packetType) {
u.config && b.default.w(this.TAG, "Found another AudioSpecificConfig!");
r = s.data;
if (b.default.v(this.TAG, "old {channel:" + u.channelCount + ", codec:" + u.codec + ", sample rate:" + u.audioSampleRate + ", orignal codec:" + r.originalCodec + ", config:" + u.config + "}"), b.default.v(this.TAG, "new {channel:" + r.channelCount + ", codec:" + r.codec + ", sample rate:" + r.samplingRate + ", orignal codec:" + r.originalCodec + ", config:" + r.config + "}"), this._videoInfo.audioSampleRate = r.samplingRate, this._onParsedData(this._videoInfo, 3), u.channelCount === r.channelCount && u.audioSampleRate === r.samplingRate && u.codec === r.codec && u.originalCodec === r.originalCodec) return void b.default.w(this.TAG, "audio specific config do not changed, discard it.");
u.audioSampleRate = r.samplingRate, u.channelCount = r.channelCount, u.codec = r.codec, u.originalCodec = r.originalCodec, u.config = r.config, u.refSampleDuration = 1024 / u.audioSampleRate * u.timescale, this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : this._audioInitialMetadataDispatched = !0, this._dispatch = !1, this._onTrackMetadata("audio", u);
r = this._mediaInfo;
r.audioCodec = u.originalCodec, r.audioSampleRate = u.audioSampleRate, r.audioChannelCount = u.channelCount, r.hasVideo ? null != r.videoCodec && (r.mimeType = 'video/x-flv; codecs="' + r.videoCodec + "," + r.audioCodec + '"') : r.mimeType = 'video/x-flv; codecs="' + r.audioCodec + '"', r.isComplete() && this._onMediaInfo(r)
} else 1 === s.packetType ? (r = this._timestampBase + i, r = {
unit: s.data,
length: s.data.byteLength,
dts: r,
pts: r
}, d.samples.push(r), d.length += s.data.length) : b.default.e(this.TAG, "Flv: Unsupported AAC data type " + s.packetType);
this._videoInfo.audioType = "AAC"
}
} else if (2 == a) {
if (!u.codec) {
r = this._parseMP3AudioData(e, t + 1, n - 1, !0);
if (null == r) return;
u.audioSampleRate = r.samplingRate, u.channelCount = r.channelCount, u.codec = r.codec, u.originalCodec = r.originalCodec, u.refSampleDuration = 1152 / u.audioSampleRate * u.timescale, b.default.v(this.TAG, "Parsed MPEG Audio Frame Header"), this._audioInitialMetadataDispatched = !0, this._onTrackMetadata("audio", u);
s = this._mediaInfo;
s.audioCodec = u.codec, s.audioSampleRate = u.audioSampleRate, s.audioChannelCount = u.channelCount, s.audioDataRate = r.bitRate, s.hasVideo ? null != s.videoCodec && (s.mimeType = 'video/x-flv; codecs="' + s.videoCodec + "," + s.audioCodec + '"') : s.mimeType = 'video/x-flv; codecs="' + s.audioCodec + '"', s.isComplete() && this._onMediaInfo(s), this._videoInfo.audioType = "MP3"
}
a = this._parseMP3AudioData(e, t + 1, n - 1, !1);
null != a && (u = this._timestampBase + i, r = {
unit: a,
length: a.byteLength,
dts: u,
pts: u
}, d.samples.push(r), d.length += a.length)
}
} else this._onError(D.default.FORMAT_ERROR, "Flv: Invalid audio sample rate idx: " + o)
}
}
}
}, {
key: "_parseAACAudioData", value: function (e, t, n) {
var i, r;
{
if (!(n <= 1)) return i = {}, r = new Uint8Array(e, t, n), i.packetType = r[0], 0 === r[0] ? i.data = this._parseAACAudioSpecificConfig(e, t + 1, n - 1) : i.data = r.subarray(1), i;
b.default.w(this.TAG, "Flv: Invalid AAC packet, missing AACPacketType or/and Data!")
}
}
}, {
key: "_parseAACAudioSpecificConfig", value: function (e, t, n) {
var i, r, e = new Uint8Array(e, t, n), t = null, n = 0, a = null, n = i = e[0] >>> 3;
if ((r = (7 & e[0]) << 1 | e[1] >>> 7) < 0 || r >= this._mpegSamplingRates.length) this._onError(D.default.FORMAT_ERROR, "Flv: AAC invalid sampling frequency index!"); else {
var s = this._mpegSamplingRates[r], o = (120 & e[1]) >>> 3;
if (!(o < 0 || 8 <= o)) return 5 === n && (a = (7 & e[1]) << 1 | e[2] >>> 7, e[2]), -1 !== (e = self.navigator.userAgent.toLowerCase()).indexOf("firefox") ? a = 6 <= r ? (n = 5, t = new Array(4), r - 3) : (n = 2, t = new Array(2), r) : -1 !== e.indexOf("android") ? (n = 2, t = new Array(2), a = r) : (n = 5, a = r, t = new Array(4), 6 <= r ? a = r - 3 : 1 == o && (n = 2, t = new Array(2), a = r)), t[0] = n << 3, t[0] |= (15 & r) >>> 1, t[1] = (15 & r) << 7, t[1] |= (15 & o) << 3, 5 === n && (t[1] |= (15 & a) >>> 1, t[2] = (1 & a) << 7, t[2] |= 8, t[3] = 0), {
config: t,
samplingRate: s,
channelCount: o,
codec: "mp4a.40." + n,
originalCodec: "mp4a.40." + i
};
this._onError(D.default.FORMAT_ERROR, "Flv: AAC invalid channel configuration")
}
}
}, {
key: "_parseMP3AudioData", value: function (e, t, n, i) {
if (!(n < 4)) {
this._littleEndian;
e = new Uint8Array(e, t, n), t = null;
if (i) {
if (255 !== e[0]) return;
var n = e[1] >>> 3 & 3, i = (6 & e[1]) >> 1, r = (240 & e[2]) >>> 4, a = (12 & e[2]) >>> 2,
s = 3 != (e[3] >>> 6 & 3) ? 2 : 1, o = 0, u = 0;
switch (n) {
case 0:
o = this._mpegAudioV25SampleRateTable[a];
break;
case 2:
o = this._mpegAudioV20SampleRateTable[a];
break;
case 3:
o = this._mpegAudioV10SampleRateTable[a]
}
switch (i) {
case 1:
r < this._mpegAudioL3BitRateTable.length && (u = this._mpegAudioL3BitRateTable[r]);
break;
case 2:
r < this._mpegAudioL2BitRateTable.length && (u = this._mpegAudioL2BitRateTable[r]);
break;
case 3:
r < this._mpegAudioL1BitRateTable.length && (u = this._mpegAudioL1BitRateTable[r])
}
t = {bitRate: u, samplingRate: o, channelCount: s, codec: "mp3", originalCodec: "mp3"}
} else t = e;
return t
}
b.default.w(this.TAG, "Flv: Invalid MP3 packet, header missing!")
}
}, {
key: "_parseVideoData", value: function (e, t, n, i, r) {
var a, s;
n <= 1 ? b.default.w(this.TAG, "Flv: Invalid video packet, missing VideoData payload!") : !0 === this._hasVideoFlagOverrided && !1 === this._hasVideo || (a = (240 & (s = new Uint8Array(e, t, n)[0])) >>> 4, 7 != (s = 15 & s) ? this._onError(D.default.CODEC_UNSUPPORTED, "Flv: Unsupported codec in video frame: " + s) : this._parseAVCVideoPacket(e, t + 1, n - 1, i, r, a))
}
}, {
key: "_parseAVCVideoPacket", value: function (e, t, n, i, r, a) {
var s, o, u;
n < 4 ? b.default.w(this.TAG, "Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime") : (s = this._littleEndian, o = (u = new DataView(e, t, n)).getUint8(0), u = (16777215 & u.getUint32(0, !s)) << 8 >> 8, 0 === o ? this._parseAVCDecoderConfigurationRecord(e, t + 4, n - 4) : 1 === o ? this._parseAVCVideoData(e, t + 4, n - 4, i, r, a, u) : 2 !== o && this._onError(D.default.FORMAT_ERROR, "Flv: Invalid video packet type " + o))
}
}, {
key: "_parseAVCDecoderConfigurationRecord", value: function (e, t, n) {
if (n < 7) b.default.w(this.TAG, "Flv: Invalid AVCDecoderConfigurationRecord, lack of data!"); else {
var i = this._videoMetadata, r = this._videoTrack, a = this._littleEndian,
s = new DataView(e, t, n), o = !1,
r = (i ? void 0 !== i.avcc && (o = !0) : (!1 === this._hasVideo && !1 === this._hasVideoFlagOverrided && (this._hasVideo = !0, this._mediaInfo.hasVideo = !0), (i = this._videoMetadata = {type: "video"}).id = r.id, i.timescale = this._timescale, i.duration = this._duration), s.getUint8(0)),
u = s.getUint8(1);
s.getUint8(2), s.getUint8(3);
if (1 !== r || 0 === u) this._onError(D.default.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord"); else if (this._naluLengthSize = 1 + (3 & s.getUint8(4)), 3 !== this._naluLengthSize && 4 !== this._naluLengthSize) this._onError(D.default.FORMAT_ERROR, "Flv: Strange NaluLengthSizeMinusOne: " + (this._naluLengthSize - 1)); else {
var d = 31 & s.getUint8(5);
if (0 == d) this._onError(D.default.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No SPS"); else {
1 < d && b.default.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: SPS Count = " + d);
for (var l = !0, h = 6, c = 0; c < d; c++) {
var _ = s.getUint16(h, !a);
if (h += 2, 0 !== _) {
var f = new Uint8Array(e, t + h, _), _ = (h += _, w.default.parseSPS(f));
if (0 === c) {
l = _.codec_size.width >= _.codec_size.height;
if (o && this._lastVideoDimension) {
if (this._lastVideoDimension.width != _.codec_size.width || this._lastVideoDimension.height != _.codec_size.height) {
this._resolutionChanged = !0, b.default.d(this.TAG, "video resolution changed from [" + this._lastVideoDimension.width + "x" + this._lastVideoDimension.height + "] to [" + _.codec_size.width + "x" + _.codec_size.height + "]"), this._lastVideoDimension.width = _.codec_size.width, this._lastVideoDimension.height = _.codec_size.height, this._lastVideoDimension.profile = _.profile_string, this._lastVideoDimension.level = _.level_string;
var m = {};
m.width = _.codec_size.width, m.height = _.codec_size.height, this._onVideoResolutionChanged(m)
} else if (this._lastVideoDimension.profile == _.profile_string && this._lastVideoDimension.level == _.level_string) return
} else this._lastVideoDimension.width = _.codec_size.width, this._lastVideoDimension.height = _.codec_size.height, this._lastVideoDimension.profile = _.profile_string, this._lastVideoDimension.level = _.level_string, b.default.d(this.TAG, "got new video dimension: [" + this._lastVideoDimension.width + "x" + this._lastVideoDimension.height + "]");
i.codecWidth = _.codec_size.width, i.codecHeight = _.codec_size.height, i.presentWidth = _.present_size.width, i.presentHeight = _.present_size.height, i.profile = _.profile_string, i.level = _.level_string, i.bitDepth = _.bit_depth, i.chromaFormat = _.chroma_format, i.sarRatio = _.sar_ratio, i.frameRate = _.frame_rate, !1 !== _.frame_rate.fixed && 0 !== _.frame_rate.fps_num && 0 !== _.frame_rate.fps_den || (i.frameRate = this._referenceFrameRate);
for (var m = i.frameRate.fps_den, p = i.frameRate.fps_num, y = (i.refSampleDuration = i.timescale * (m / p), f.subarray(1, 4)), v = "avc1.", g = 0; g < 3; g++) {
var M = y[g].toString(16);
v += M = M.length < 2 ? "0" + M : M
}
i.codec = v;
p = this._mediaInfo;
p.width = i.codecWidth, p.height = i.codecHeight, p.fps = i.frameRate.fps, p.profile = i.profile, p.level = i.level, p.refFrames = _.ref_frames, p.chromaFormat = _.chroma_format_string, p.sarNum = i.sarRatio.width, p.sarDen = i.sarRatio.height, p.videoCodec = v, p.hasAudio ? null != p.audioCodec && (p.mimeType = 'video/x-flv; codecs="' + p.videoCodec + "," + p.audioCodec + '"') : p.mimeType = 'video/x-flv; codecs="' + p.videoCodec + '"', p.isComplete() && this._onMediaInfo(p)
}
}
}
var L = s.getUint8(h);
if (0 === L) this._onError(D.default.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No PPS"); else {
1 < L && b.default.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: PPS Count = " + L), h++;
for (var S = 0; S < L; S++) {
var k = s.getUint16(h, !a);
h += 2, 0 !== k && (h += k)
}
i.avcc = new Uint8Array(n), i.avcc.set(new Uint8Array(e, t, n), 0), b.default.v(this.TAG, "Parsed AVCDecoderConfigurationRecord done, " + i.codecWidth + "x" + i.codecHeight + "@" + i.frameRate.fps + " fps, profile=" + i.profile + ", level=" + i.level), this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : this._videoInitialMetadataDispatched = !0, this._dispatch = !1, this._config.enableConstVideoViewSize && (b.default.w(this.TAG, "--== const video view size enabled, use {" + this._config.constVideoViewWidth + "x" + this._config.constVideoViewHeight + "} ==--"), i.codecWidth = l ? this._config.constVideoViewWidth : this._config.constVideoViewHeight, i.codecHeight = l ? this._config.constVideoViewHeight : this._config.constVideoViewWidth), this._onTrackMetadata("video", i), this._videoInfo.bitRate = this._mediaInfo.videoDataRate, this._videoInfo.frameRate = i.frameRate.fps, this._videoInfo.width = i.codecWidth, this._videoInfo.height = i.codecHeight, this._onParsedData(this._videoInfo, 3)
}
}
}
}
}
}, {
key: "_parseAVCVideoData", value: function (e, t, n, i, r, a, s) {
for (var o = this._littleEndian, u = new DataView(e, t, n), d = [], l = 0, h = 0, c = this._naluLengthSize, _ = this._timestampBase + i, f = 1 === a; h < n;) {
if (n <= h + 4) {
b.default.w(this.TAG, "Malformed Nalu near timestamp " + _ + ", offset = " + h + ", dataSize = " + n);
break
}
var m = u.getUint32(h, !o);
if (3 === c && (m >>>= 8), n - c < m) return void b.default.w(this.TAG, "Malformed Nalus near timestamp " + _ + ", NaluSize > DataSize!");
var p = 31 & u.getUint8(h + c), y = (5 == p && (f = !0), new Uint8Array(e, t + h, c + m));
d.push({type: p, data: y}), l += y.byteLength, h += c + m
}
f && this._onParsedData(this._osdtimeInfo, 2), d.length && (i = this._videoTrack, a = {
units: d,
length: l,
isKeyframe: f,
dts: _,
cts: s,
pts: _ + s
}, f && (a.fileposition = r), i.samples.push(a), i.length += l)
}
}, {
key: "_parsePrivateData", value: function (e, t, n) {
var i, r, a, e = new Uint8Array(e, t, n);
64 === e[0] && 14 === e[1] && (this._firstTimeStamp = !1, t = e[6] + 2e3, n = e[7] >> 4, i = (15 & e[7]) << 1 | e[8] >> 7, r = e[8] >> 2 & 31, a = (3 & e[8]) << 4 | e[9] >> 4, e = (15 & e[9]) << 2 | e[10] >> 6, this._osdtimeInfo.globalTime = t + "-" + n + "-" + i + " " + r + ":" + a + ":" + e)
}
}, {
key: "recordFlag", get: function () {
return this._recordFlag
}, set: function (e) {
e && this._onParsedData(this._flvHead, 1), this._recordFlag = e
}
}, {
key: "onTrackMetadata", get: function () {
return this._onTrackMetadata
}, set: function (e) {
this._onTrackMetadata = e
}
}, {
key: "onMediaInfo", get: function () {
return this._onMediaInfo
}, set: function (e) {
this._onMediaInfo = e
}
}, {
key: "onMetaDataArrived", get: function () {
return this._onMetaDataArrived
}, set: function (e) {
this._onMetaDataArrived = e
}
}, {
key: "onScriptDataArrived", get: function () {
return this._onScriptDataArrived
}, set: function (e) {
this._onScriptDataArrived = e
}
}, {
key: "onError", get: function () {
return this._onError
}, set: function (e) {
this._onError = e
}
}, {
key: "onDataAvailable", get: function () {
return this._onDataAvailable
}, set: function (e) {
this._onDataAvailable = e
}
}, {
key: "timestampBase", get: function () {
return this._timestampBase
}, set: function (e) {
this._timestampBase = e
}
}, {
key: "overridedDuration", get: function () {
return this._duration
}, set: function (e) {
this._durationOverrided = !0, this._duration = e, this._mediaInfo.duration = e
}
}, {
key: "overridedHasAudio", set: function (e) {
this._hasAudioFlagOverrided = !0, this._hasAudio = e, this._mediaInfo.hasAudio = e
}
}, {
key: "overridedHasVideo", set: function (e) {
this._hasVideoFlagOverrided = !0, this._hasVideo = e, this._mediaInfo.hasVideo = e
}
}, {
key: "onVideoResolutionChanged", get: function () {
return this._onVideoResolutionChanged
}, set: function (e) {
this._onVideoResolutionChanged = e
}
}, {
key: "onParsedData", set: function (e) {
this._onParsedData = e
}
}], [{
key: "probe", value: function (e) {
var e = new Uint8Array(e), t = {match: !1};
if (70 !== e[0] || 76 !== e[1] || 86 !== e[2] || 1 !== e[3]) return t;
var n, i = (4 & e[4]) >>> 2 != 0, r = 0 != (1 & e[4]),
e = e[n = 5] << 24 | e[n + 1] << 16 | e[n + 2] << 8 | e[n + 3];
return e < 9 ? t : {match: !0, consumed: e, dataOffset: e, hasAudioTrack: i, hasVideoTrack: r}
}
}]);
n = v;
function v(e, t) {
(0, i.default)(this, v), this.TAG = "FLVDemuxer", this._config = t, this._onError = null, this._onMediaInfo = null, this._onMetaDataArrived = null, this._onScriptDataArrived = null, this._onTrackMetadata = null, this._onDataAvailable = null, this._onVideoResolutionChanged = null, this._onParsedData = null, this._dataOffset = e.dataOffset, this._firstParse = !0, this._dispatch = !1, this._hasAudio = !1, this._hasVideo = e.hasVideoTrack, this._hasAudioFlagOverrided = !1, this._hasVideoFlagOverrided = !1, this._audioInitialMetadataDispatched = !1, this._videoInitialMetadataDispatched = !1, this._mediaInfo = new d.default, this._mediaInfo.hasAudio = this._hasAudio, this._mediaInfo.hasVideo = this._hasVideo, this._metadata = null, this._audioMetadata = null, this._videoMetadata = null, this._naluLengthSize = 4, this._timestampBase = 0, this._timescale = 1e3, this._duration = 0, this._durationOverrided = !1, this._referenceFrameRate = {
fixed: !0,
fps: 23.976,
fps_num: 23976,
fps_den: 1e3
}, this._flvSoundRateTable = [5500, 11025, 22050, 44100, 48e3], this._mpegSamplingRates = [96e3, 88200, 64e3, 48e3, 44100, 32e3, 24e3, 22050, 16e3, 12e3, 11025, 8e3, 7350], this._lastVideoDimension = {
width: -1,
height: -1,
profile: "",
level: ""
}, this._bpsCalculator = null, this._bpsInfo = {
lastVideoBytes: 0,
lastAudioBytes: 0,
bps_video: 0,
bps_audio: 0,
data_updated_time: 0,
time_gap_factor: 1
}, this._resolutionChanged = !1, self.performance && self.performance.now ? this._now = self.performance.now.bind(self.performance) : this._now = Date.now, this._mpegAudioV10SampleRateTable = [44100, 48e3, 32e3, 0], this._mpegAudioV20SampleRateTable = [22050, 24e3, 16e3, 0], this._mpegAudioV25SampleRateTable = [11025, 12e3, 8e3, 0], this._mpegAudioL1BitRateTable = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1], this._mpegAudioL2BitRateTable = [0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1], this._mpegAudioL3BitRateTable = [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], this._videoTrack = {
type: "video",
id: 1,
sequenceNumber: 0,
samples: [],
length: 0
}, this._audioTrack = {
type: "audio",
id: 2,
sequenceNumber: 0,
samples: [],
length: 0
}, this._littleEndian = (t = new ArrayBuffer(2), new DataView(t).setInt16(0, 256, !0), 256 === new Int16Array(t)[0]), this._recordFlag = !1, this._firstrVideo = !0, this._firstAudio = !0, this._firstTimeStamp = !0, this._flvHead = "", this._videoInfo = {
VideType: "H264",
audioType: "without",
width: 0,
height: 0,
frameRate: 25,
bitRate: 0,
systemFormt: "flv",
audioSampleRate: 0
}, this._firstParseAudio = !0, this._osdtimeInfo = {flvstartTime: 0, globalTime: 0, flvduration: 0}
}
t.default = n
}, function (e, t, n) {
e.exports = {default: n(321), __esModule: !0}
}, function (e, t, n) {
n(41), n(322), e.exports = n(3).Array.from
}, function (e, t, n) {
"use strict";
var h = n(22), i = n(8), c = n(24), _ = n(77), f = n(78), m = n(47), p = n(323), y = n(79);
i(i.S + i.F * !n(84)(function (e) {
Array.from(e)
}), "Array", {
from: function (e) {
var t, n, i, r, a = c(e), e = "function" == typeof this ? this : Array, s = arguments.length,
o = 1 < s ? arguments[1] : void 0, u = void 0 !== o, d = 0, l = y(a);
if (u && (o = h(o, 2 < s ? arguments[2] : void 0, 2)), null == l || e == Array && f(l)) for (n = new e(t = m(a.length)); d < t; d++) p(n, d, u ? o(a[d], d) : a[d]); else for (r = l.call(a), n = new e; !(i = r.next()).done; d++) p(n, d, u ? _(r, o, [i.value, d], !0) : i.value);
return n.length = d, n
}
})
}, function (e, t, n) {
"use strict";
var i = n(12), r = n(28);
e.exports = function (e, t, n) {
t in e ? i.f(e, t, r(0, n)) : e[t] = n
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = s(n(1)), r = s(n(2)), v = s(n(4)), a = s(n(325)), g = n(5);
function s(e) {
return e && e.__esModule ? e : {default: e}
}
n = new ArrayBuffer(2), new DataView(n).setInt16(0, 256, !0);
var M = 256 === new Int16Array(n)[0], n = ((0, r.default)(L, null, [{
key: "parseScriptData", value: function (e, t, n) {
var i = {};
try {
var r = L.parseValue(e, t, n), a = L.parseValue(e, t + r.size, n - r.size);
i[r.data] = a.data
} catch (e) {
v.default.e("AMF", e.toString())
}
return i
}
}, {
key: "parseObject", value: function (e, t, n) {
if (n < 3) throw new g.IllegalStateException("Data not enough when parse ScriptDataObject");
var i = L.parseString(e, t, n), e = L.parseValue(e, t + i.size, n - i.size), t = e.objectEnd;
return {data: {name: i.data, value: e.data}, size: i.size + e.size, objectEnd: t}
}
}, {
key: "parseVariable", value: function (e, t, n) {
return L.parseObject(e, t, n)
}
}, {
key: "parseString", value: function (e, t, n) {
if (n < 2) throw new g.IllegalStateException("Data not enough when parse String");
n = new DataView(e, t, n).getUint16(0, !M);
return {data: 0 < n ? (0, a.default)(new Uint8Array(e, t + 2, n)) : "", size: 2 + n}
}
}, {
key: "parseLongString", value: function (e, t, n) {
if (n < 4) throw new g.IllegalStateException("Data not enough when parse LongString");
n = new DataView(e, t, n).getUint32(0, !M);
return {data: 0 < n ? (0, a.default)(new Uint8Array(e, t + 4, n)) : "", size: 4 + n}
}
}, {
key: "parseDate", value: function (e, t, n) {
if (n < 10) throw new g.IllegalStateException("Data size invalid when parse Date");
e = new DataView(e, t, n), t = e.getFloat64(0, !M);
return t += 60 * e.getInt16(8, !M) * 1e3, {data: new Date(t), size: 10}
}
}, {
key: "parseValue", value: function (e, t, n) {
if (n < 1) throw new g.IllegalStateException("Data not enough when parse Value");
var i = new DataView(e, t, n), r = 1, a = i.getUint8(0), s = void 0, o = !1;
try {
switch (a) {
case 0:
s = i.getFloat64(1, !M), r += 8;
break;
case 1:
s = !!i.getUint8(1);
r += 1;
break;
case 2:
var u = L.parseString(e, t + 1, n - 1);
s = u.data, r += u.size;
break;
case 3:
s = {};
var d = 0;
for (9 == (16777215 & i.getUint32(n - 4, !M)) && (d = 3); r < n - 4;) {
var l = L.parseObject(e, t + r, n - r - d);
if (l.objectEnd) break;
s[l.data.name] = l.data.value, r += l.size
}
r <= n - 3 && 9 == (16777215 & i.getUint32(r - 1, !M)) && (r += 3);
break;
case 8:
s = {}, r += 4;
var h = 0;
for (9 == (16777215 & i.getUint32(n - 4, !M)) && (h = 3); r < n - 8;) {
var c = L.parseVariable(e, t + r, n - r - h);
if (c.objectEnd) break;
s[c.data.name] = c.data.value, r += c.size
}
r <= n - 3 && 9 == (16777215 & i.getUint32(r - 1, !M)) && (r += 3);
break;
case 9:
r = 1, o = !(s = void 0);
break;
case 10:
s = [];
var _ = i.getUint32(1, !M);
r += 4;
for (var f = 0; f < _; f++) {
var m = L.parseValue(e, t + r, n - r);
s.push(m.data), r += m.size
}
break;
case 11:
var p = L.parseDate(e, t + 1, n - 1);
s = p.data, r += p.size;
break;
case 12:
var y = L.parseString(e, t + 1, n - 1);
s = y.data, r += y.size;
break;
default:
r = n, v.default.w("AMF", "Unsupported AMF value type " + a)
}
} catch (e) {
v.default.e("AMF", e.toString())
}
return {data: s, size: r, objectEnd: o}
}
}]), L);
function L() {
(0, i.default)(this, L)
}
t.default = n
}, function (e, t, n) {
"use strict";
function o(e, t, n) {
var i = e;
if (t + n < i.length) {
for (; n--;) if (128 != (192 & i[++t])) return;
return 1
}
}
Object.defineProperty(t, "__esModule", {value: !0}), t.default = function (e) {
for (var t = [], n = e, i = 0, r = e.length; i < r;) if (n[i] < 128) t.push(String.fromCharCode(n[i])), ++i; else {
if (!(n[i] < 192)) if (n[i] < 224) {
if (o(n, i, 1)) {
var a = (31 & n[i]) << 6 | 63 & n[i + 1];
if (128 <= a) {
t.push(String.fromCharCode(65535 & a)), i += 2;
continue
}
}
} else if (n[i] < 240) {
if (o(n, i, 2)) {
a = (15 & n[i]) << 12 | (63 & n[i + 1]) << 6 | 63 & n[i + 2];
if (2048 <= a && 55296 != (63488 & a)) {
t.push(String.fromCharCode(65535 & a)), i += 3;
continue
}
}
} else if (n[i] < 248 && o(n, i, 3)) {
var s = (7 & n[i]) << 18 | (63 & n[i + 1]) << 12 | (63 & n[i + 2]) << 6 | 63 & n[i + 3];
if (65536 < s && s < 1114112) {
s -= 65536, t.push(String.fromCharCode(s >>> 10 | 55296)), t.push(String.fromCharCode(1023 & s | 56320)), i += 4;
continue
}
}
t.push(String.fromCharCode(65533)), ++i
}
return t.join("")
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = a(n(1)), r = a(n(2)), T = a(n(327));
function a(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(E, null, [{
key: "_ebsp2rbsp", value: function (e) {
for (var t = e, n = t.byteLength, i = new Uint8Array(n), r = 0, a = 0; a < n; a++) 2 <= a && 3 === t[a] && 0 === t[a - 1] && 0 === t[a - 2] || (i[r] = t[a], r++);
return new Uint8Array(i.buffer, 0, r)
}
}, {
key: "parseSPS", value: function (e) {
var e = E._ebsp2rbsp(e), t = new T.default(e), e = (t.readByte(), t.readByte()),
n = (t.readByte(), t.readByte()), i = (t.readUEG(), E.getProfileString(e)), n = E.getLevelString(n),
r = 1, a = 420, s = 8;
if ((100 === e || 110 === e || 122 === e || 244 === e || 44 === e || 83 === e || 86 === e || 118 === e || 128 === e || 138 === e || 144 === e) && (3 === (r = t.readUEG()) && t.readBits(1), r <= 3 && (a = [0, 420, 422, 444][r]), s = t.readUEG() + 8, t.readUEG(), t.readBits(1), t.readBool())) for (var o = 3 !== r ? 8 : 12, u = 0; u < o; u++) t.readBool() && E._skipScalingList(t, u < 6 ? 16 : 64);
t.readUEG();
e = t.readUEG();
if (0 === e) t.readUEG(); else if (1 === e) {
t.readBits(1), t.readSEG(), t.readSEG();
for (var d = t.readUEG(), l = 0; l < d; l++) t.readSEG()
}
var e = t.readUEG(), h = (t.readBits(1), t.readUEG()), c = t.readUEG(), _ = t.readBits(1),
f = (0 === _ && t.readBits(1), t.readBits(1), 0), m = 0, p = 0, y = 0,
v = (t.readBool() && (f = t.readUEG(), m = t.readUEG(), p = t.readUEG(), y = t.readUEG()), 1),
g = 1, M = 0, L = !0, S = 0, k = 0,
b = (t.readBool() && (t.readBool() && (0 < (w = t.readByte()) && w < 16 ? (v = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2][w - 1], g = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1][w - 1]) : 255 === w && (v = t.readByte() << 8 | t.readByte(), g = t.readByte() << 8 | t.readByte())), t.readBool() && t.readBool(), t.readBool() && (t.readBits(4), t.readBool() && t.readBits(24)), t.readBool() && (t.readUEG(), t.readUEG()), t.readBool() && (w = t.readBits(32), b = t.readBits(32), L = t.readBool(), M = (S = b) / (k = 2 * w))), 1),
w = (1 === v && 1 === g || (b = v / g), 0), D = 0,
r = (D = 0 === r ? (w = 1, 2 - _) : (w = 3 === r ? 1 : 2, (1 === r ? 2 : 1) * (2 - _)), 16 * (h + 1)),
h = 16 * (c + 1) * (2 - _), c = (r -= (f + m) * w, h -= (p + y) * D, Math.ceil(r * b));
return t.destroy(), t = null, {
profile_string: i,
level_string: n,
bit_depth: s,
ref_frames: e,
chroma_format: a,
chroma_format_string: E.getChromaFormatString(a),
frame_rate: {fixed: L, fps: M, fps_den: k, fps_num: S},
sar_ratio: {width: v, height: g},
codec_size: {width: r, height: h},
present_size: {width: c, height: h}
}
}
}, {
key: "_skipScalingList", value: function (e, t) {
for (var n = 8, i = 8, r = 0; r < t; r++) n = 0 === (i = 0 !== i ? (n + e.readSEG() + 256) % 256 : i) ? n : i
}
}, {
key: "getProfileString", value: function (e) {
switch (e) {
case 66:
return "Baseline";
case 77:
return "Main";
case 88:
return "Extended";
case 100:
return "High";
case 110:
return "High10";
case 122:
return "High422";
case 244:
return "High444";
default:
return "Unknown"
}
}
}, {
key: "getLevelString", value: function (e) {
return (e / 10).toFixed(1)
}
}, {
key: "getChromaFormatString", value: function (e) {
switch (e) {
case 420:
return "4:2:0";
case 422:
return "4:2:2";
case 444:
return "4:4:4";
default:
return "Unknown"
}
}
}]);
n = E;
function E() {
(0, i.default)(this, E)
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = s(n(1)), r = s(n(2)), a = n(5);
function s(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(o, [{
key: "destroy", value: function () {
this._buffer = null
}
}, {
key: "_fillCurrentWord", value: function () {
var e = this._total_bytes - this._buffer_index;
if (e <= 0) throw new a.IllegalStateException("ExpGolomb: _fillCurrentWord() but no bytes available");
var e = Math.min(4, e), t = new Uint8Array(4);
t.set(this._buffer.subarray(this._buffer_index, this._buffer_index + e)), this._current_word = new DataView(t.buffer).getUint32(0, !1), this._buffer_index += e, this._current_word_bits_left = 8 * e
}
}, {
key: "readBits", value: function (e) {
if (32 < e) throw new a.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");
if (e <= this._current_word_bits_left) return t = this._current_word >>> 32 - e, this._current_word <<= e, this._current_word_bits_left -= e, t;
var t = this._current_word_bits_left ? this._current_word : 0,
e = (t >>>= 32 - this._current_word_bits_left, e - this._current_word_bits_left),
e = (this._fillCurrentWord(), Math.min(e, this._current_word_bits_left)),
n = this._current_word >>> 32 - e;
return this._current_word <<= e, this._current_word_bits_left -= e, t = t << e | n
}
}, {
key: "readBool", value: function () {
return 1 === this.readBits(1)
}
}, {
key: "readByte", value: function () {
return this.readBits(8)
}
}, {
key: "_skipLeadingZero", value: function () {
for (var e = void 0, e = 0; e < this._current_word_bits_left; e++) if (0 != (this._current_word & 2147483648 >>> e)) return this._current_word <<= e, this._current_word_bits_left -= e, e;
return this._fillCurrentWord(), e + this._skipLeadingZero()
}
}, {
key: "readUEG", value: function () {
var e = this._skipLeadingZero();
return this.readBits(e + 1) - 1
}
}, {
key: "readSEG", value: function () {
var e = this.readUEG();
return 1 & e ? e + 1 >>> 1 : -1 * (e >>> 1)
}
}]);
n = o;
function o(e) {
(0, i.default)(this, o), this.TAG = "ExpGolomb", this._buffer = e, this._buffer_index = 0, this._total_bytes = e.byteLength, this._total_bits = 8 * e.byteLength, this._current_word = 0, this._current_word_bits_left = 0
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = s(n(1)), r = s(n(2)), A = s(n(4)), x = s(n(329)), O = s(n(330)), I = s(n(33)), W = n(230), a = n(5);
function s(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(o, [{
key: "destroy", value: function () {
this._dtsBase = -1, this._dtsBaseInited = !1, this._audioMeta = null, this._videoMeta = null, this._audioSegmentInfoList.clear(), this._audioSegmentInfoList = null, this._videoSegmentInfoList.clear(), this._videoSegmentInfoList = null, this._onInitSegment = null, this._onMediaSegment = null
}
}, {
key: "bindDataSource", value: function (e) {
return e.onDataAvailable = this.remux.bind(this), e.onTrackMetadata = this._onTrackMetadataReceived.bind(this), this
}
}, {
key: "insertDiscontinuity", value: function () {
this._audioNextDts = this._videoNextDts = void 0
}
}, {
key: "seek", value: function (e) {
this._audioStashedLastSample = null, this._videoStashedLastSample = null, this._videoSegmentInfoList.clear(), this._audioSegmentInfoList.clear()
}
}, {
key: "remux", value: function (e, t) {
if (!this._onMediaSegment) throw new a.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");
this._dtsBaseInited || this._calculateDtsBase(e, t), this._remuxVideo(t), this._remuxAudio(e)
}
}, {
key: "_onTrackMetadataReceived", value: function (e, t) {
var n = null, i = "mp4", r = t.codec;
if ("audio" === e) n = "mp3" === (this._audioMeta = t).codec && this._mp3UseMpegAudio ? (i = "mpeg", r = "", new Uint8Array) : x.default.generateInitSegment(t); else {
if ("video" !== e) return;
this._videoMeta = t, n = x.default.generateInitSegment(t)
}
if (!this._onInitSegment) throw new a.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");
this._onInitSegment(e, {
type: e,
data: n.buffer,
codec: r,
container: e + "/" + i,
mediaDuration: t.duration
})
}
}, {
key: "_calculateDtsBase", value: function (e, t) {
this._dtsBaseInited || (e.samples && e.samples.length && (this._audioDtsBase = e.samples[0].dts), t.samples && t.samples.length && (this._videoDtsBase = t.samples[0].dts), this._dtsBase = Math.min(this._audioDtsBase, this._videoDtsBase), this._dtsBaseInited = !0)
}
}, {
key: "flushStashedSamples", value: function () {
var e = this._videoStashedLastSample, t = this._audioStashedLastSample,
n = {type: "video", id: 1, sequenceNumber: 0, samples: [], length: 0},
e = (null != e && (n.samples.push(e), n.length = e.length), {
type: "audio",
id: 2,
sequenceNumber: 0,
samples: [],
length: 0
});
null != t && (e.samples.push(t), e.length = t.length), this._videoStashedLastSample = null, this._audioStashedLastSample = null, this._remuxVideo(n, !0), this._remuxAudio(e, !0)
}
}, {
key: "_remuxAudio", value: function (e, t) {
if (null != this._audioMeta) {
var n = e.samples, i = void 0, r = -1, a = this._audioMeta.refSampleDuration,
s = "mp3" === this._audioMeta.codec && this._mp3UseMpegAudio,
o = this._dtsBaseInited && void 0 === this._audioNextDts, u = !1;
if (n && 0 !== n.length && (1 !== n.length || t)) {
for (var d = 0, l = null, h = 0, h = s ? (d = 0, e.length) : (d = 8) + e.length, c = null, t = (1 < n.length && (h -= (c = n.pop()).length), null != this._audioStashedLastSample && (t = this._audioStashedLastSample, this._audioStashedLastSample = null, n.unshift(t), h += t.length), null != c && (this._audioStashedLastSample = c), n[0].dts - this._dtsBase), _ = (this._audioNextDts ? i = t - this._audioNextDts : this._audioSegmentInfoList.isEmpty() ? (i = 0, this._fillSilentAfterSeek && !this._videoSegmentInfoList.isEmpty() && "mp3" !== this._audioMeta.originalCodec && (u = !0)) : i = null != (C = this._audioSegmentInfoList.getLastSampleBefore(t)) ? (P = t - (C.originalDts + C.duration), t - (C.dts + C.duration + (P = P <= 3 ? 0 : P))) : 0, u && (C = t - i, null != (P = this._videoSegmentInfoList.getLastSegmentBefore(t)) && P.beginDts < C ? (t = O.default.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount)) && (R = P.beginDts, C = C - P.beginDts, A.default.v(this.TAG, "InsertPrefixSilentAudio: dts: " + R + ", duration: " + C), n.unshift({
unit: t,
dts: R,
pts: R
}), h += t.byteLength) : u = !1), []), f = 0; f < n.length; f++) {
var m = n[f], p = m.unit, y = m.dts - this._dtsBase, v = y, g = !1, M = null, L = 0;
if (!(y < -.001)) {
if ("mp3" !== this._audioMeta.codec) {
var S = y;
if ((i = y - (S = this._audioNextDts ? this._audioNextDts : S)) <= -3 * a) {
A.default.w(this.TAG, "Dropping 1 audio frame (originalDts: " + y + " ms ,curRefDts: " + S + " ms) due to dtsCorrection: " + i + " ms overlap.");
continue
}
if (3 * a <= i && this._fillAudioTimestampGap && !I.default.safari) {
var g = !0, k = Math.floor(i / a),
b = (A.default.w(this.TAG, "Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: " + y + " ms, curRefDts: " + S + " ms, dtsCorrection: " + Math.round(i) + " ms, generate: " + k + " frames"), v = Math.floor(S), L = Math.floor(S + a) - v, O.default.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount));
null == b && (A.default.w(this.TAG, "Unable to generate silent frame for " + this._audioMeta.originalCodec + " with " + this._audioMeta.channelCount + " channels, repeat last frame"), b = p);
for (var M = [], w = 0; w < k; w++) {
S += a;
var D = Math.floor(S), T = Math.floor(S + a) - D, D = {
dts: D,
pts: D,
cts: 0,
unit: b,
size: b.byteLength,
duration: T,
originalDts: y,
flags: {isLeading: 0, dependsOn: 1, isDependedOn: 0, hasRedundancy: 0}
};
M.push(D), h += p.byteLength
}
this._audioNextDts = S + a
} else v = Math.floor(S), L = Math.floor(S + a) - v, this._audioNextDts = S + a
} else {
v = y - i;
L = f !== n.length - 1 ? n[f + 1].dts - this._dtsBase - i - v : null != c ? c.dts - this._dtsBase - i - v : 1 <= _.length ? _[_.length - 1].duration : Math.floor(a), this._audioNextDts = v + L
}
-1 === r && (r = v), _.push({
dts: v,
pts: v,
cts: 0,
unit: m.unit,
size: m.unit.byteLength,
duration: L,
originalDts: y,
flags: {isLeading: 0, dependsOn: 1, isDependedOn: 0, hasRedundancy: 0}
}), g && _.push.apply(_, M)
}
}
if (0 === _.length) return e.samples = [], void (e.length = 0);
s ? l = new Uint8Array(h) : ((l = new Uint8Array(h))[0] = h >>> 24 & 255, l[1] = h >>> 16 & 255, l[2] = h >>> 8 & 255, l[3] = 255 & h, l.set(x.default.types.mdat, 4));
for (var E = 0; E < _.length; E++) {
var Y = _[E].unit;
l.set(Y, d), d += Y.byteLength
}
var P = _[_.length - 1], C = P.dts + P.duration, R = new W.MediaSegmentInfo,
t = (R.beginDts = r, R.endDts = C, R.beginPts = r, R.endPts = C, R.originalBeginDts = _[0].originalDts, R.originalEndDts = P.originalDts + P.duration, R.firstSample = new W.SampleInfo(_[0].dts, _[0].pts, _[0].duration, _[0].originalDts, !1), R.lastSample = new W.SampleInfo(P.dts, P.pts, P.duration, P.originalDts, !1), this._isLive || this._audioSegmentInfoList.append(R), e.samples = _, e.sequenceNumber++, null),
t = s ? new Uint8Array : x.default.moof(e, r), u = (e.samples = [], e.length = 0, {
type: "audio",
data: this._mergeBoxes(t, l).buffer,
sampleCount: _.length,
info: R
});
s && o && (u.timestampOffset = r), this._onMediaSegment("audio", u)
}
}
}
}, {
key: "_remuxVideo", value: function (e, t) {
if (null != this._videoMeta) {
var n = e, i = n.samples, r = void 0, a = -1, s = -1;
if (i && 0 !== i.length && (1 !== i.length || t)) {
for (var o = 8, u = null, t = 8 + e.length, d = null, e = (1 < i.length && (t -= (d = i.pop()).length), null != this._videoStashedLastSample && (e = this._videoStashedLastSample, this._videoStashedLastSample = null, i.unshift(e), t += e.length), null != d && (this._videoStashedLastSample = d), i[0].dts - this._dtsBase), l = (r = this._videoNextDts ? e - this._videoNextDts : !this._videoSegmentInfoList.isEmpty() && null != (b = this._videoSegmentInfoList.getLastSampleBefore(e)) ? (w = e - (b.originalDts + b.duration), e - (b.dts + b.duration + (w = w <= 3 ? 0 : w))) : 0, new W.MediaSegmentInfo), h = [], c = 0; c < i.length; c++) {
var _, f = i[c], m = f.dts - this._dtsBase, p = f.isKeyframe, y = m - r, v = f.cts,
g = y + v, M = (-1 === a && (a = y, s = g), 0);
M = c !== i.length - 1 ? i[c + 1].dts - this._dtsBase - r - y : null != d ? d.dts - this._dtsBase - r - y : 1 <= h.length ? h[h.length - 1].duration : Math.floor(this._videoMeta.refSampleDuration), p && ((_ = new W.SampleInfo(y, g, M, f.dts, !0)).fileposition = f.fileposition, l.appendSyncPoint(_)), h.push({
dts: y,
pts: g,
cts: v,
units: f.units,
size: f.length,
isKeyframe: p,
duration: M,
originalDts: m,
flags: {
isLeading: 0,
dependsOn: p ? 2 : 1,
isDependedOn: p ? 1 : 0,
hasRedundancy: 0,
isNonSync: p ? 0 : 1
}
})
}
(u = new Uint8Array(t))[0] = t >>> 24 & 255, u[1] = t >>> 16 & 255, u[2] = t >>> 8 & 255, u[3] = 255 & t, u.set(x.default.types.mdat, 4);
for (var L = 0; L < h.length; L++) for (var S = h[L].units; S.length;) {
var k = S.shift().data;
u.set(k, o), o += k.byteLength
}
var e = h[h.length - 1], b = e.dts + e.duration, w = e.pts + e.duration,
b = (this._videoNextDts = b, l.beginDts = a, l.endDts = b, l.beginPts = s, l.endPts = w, l.originalBeginDts = h[0].originalDts, l.originalEndDts = e.originalDts + e.duration, l.firstSample = new W.SampleInfo(h[0].dts, h[0].pts, h[0].duration, h[0].originalDts, h[0].isKeyframe), l.lastSample = new W.SampleInfo(e.dts, e.pts, e.duration, e.originalDts, e.isKeyframe), this._isLive || this._videoSegmentInfoList.append(l), n.samples = h, n.sequenceNumber++, this._forceFirstIDR && ((t = h[0].flags).dependsOn = 2, t.isNonSync = 0), x.default.moof(n, a));
n.samples = [], n.length = 0, this._onMediaSegment("video", {
type: "video",
data: this._mergeBoxes(b, u).buffer,
sampleCount: h.length,
info: l
})
}
}
}
}, {
key: "_mergeBoxes", value: function (e, t) {
var n = new Uint8Array(e.byteLength + t.byteLength);
return n.set(e, 0), n.set(t, e.byteLength), n
}
}, {
key: "onInitSegment", get: function () {
return this._onInitSegment
}, set: function (e) {
this._onInitSegment = e
}
}, {
key: "onMediaSegment", get: function () {
return this._onMediaSegment
}, set: function (e) {
this._onMediaSegment = e
}
}]);
n = o;
function o(e) {
(0, i.default)(this, o), this.TAG = "MP4Remuxer", this._config = e, this._isLive = !0 === e.isLive, this._dtsBase = -1, this._dtsBaseInited = !1, this._audioDtsBase = 1 / 0, this._videoDtsBase = 1 / 0, this._audioNextDts = void 0, this._videoNextDts = void 0, this._audioStashedLastSample = null, this._videoStashedLastSample = null, this._audioMeta = null, this._videoMeta = null, this._audioSegmentInfoList = new W.MediaSegmentInfoList("audio"), this._videoSegmentInfoList = new W.MediaSegmentInfoList("video"), this._onInitSegment = null, this._onMediaSegment = null, this._forceFirstIDR = !(!I.default.chrome || !(I.default.version.major < 50 || 50 === I.default.version.major && I.default.version.build < 2661)), this._fillSilentAfterSeek = I.default.msedge || I.default.msie, this._mp3UseMpegAudio = !I.default.firefox, this._fillAudioTimestampGap = this._config.fixAudioTimestampGap
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r(n(2)).default)(l, null, [{
key: "init", value: function () {
for (var e in l.types = {
avc1: [],
avcC: [],
btrt: [],
dinf: [],
dref: [],
esds: [],
ftyp: [],
hdlr: [],
mdat: [],
mdhd: [],
mdia: [],
mfhd: [],
minf: [],
moof: [],
moov: [],
mp4a: [],
mvex: [],
mvhd: [],
sdtp: [],
stbl: [],
stco: [],
stsc: [],
stsd: [],
stsz: [],
stts: [],
tfdt: [],
tfhd: [],
traf: [],
trak: [],
trun: [],
trex: [],
tkhd: [],
vmhd: [],
smhd: [],
".mp3": []
}) l.types.hasOwnProperty(e) && (l.types[e] = [e.charCodeAt(0), e.charCodeAt(1), e.charCodeAt(2), e.charCodeAt(3)]);
var t = l.constants = {};
t.FTYP = new Uint8Array([105, 115, 111, 109, 0, 0, 0, 1, 105, 115, 111, 109, 97, 118, 99, 49]), t.STSD_PREFIX = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1]), t.STTS = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]), t.STSC = t.STCO = t.STTS, t.STSZ = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), t.HDLR_VIDEO = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 118, 105, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 105, 100, 101, 111, 72, 97, 110, 100, 108, 101, 114, 0]), t.HDLR_AUDIO = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0]), t.DREF = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1]), t.SMHD = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]), t.VMHD = new Uint8Array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0])
}
}, {
key: "box", value: function (e) {
for (var t = 8, n = null, i = Array.prototype.slice.call(arguments, 1), r = i.length, a = 0; a < r; a++) t += i[a].byteLength;
(n = new Uint8Array(t))[0] = t >>> 24 & 255, n[1] = t >>> 16 & 255, n[2] = t >>> 8 & 255, n[3] = 255 & t, n.set(e, 4);
for (var s = 8, o = 0; o < r; o++) n.set(i[o], s), s += i[o].byteLength;
return n
}
}, {
key: "generateInitSegment", value: function (e) {
var t = l.box(l.types.ftyp, l.constants.FTYP), e = l.moov(e),
n = new Uint8Array(t.byteLength + e.byteLength);
return n.set(t, 0), n.set(e, t.byteLength), n
}
}, {
key: "moov", value: function (e) {
var t = l.mvhd(e.timescale, e.duration), n = l.trak(e), e = l.mvex(e);
return l.box(l.types.moov, t, n, e)
}
}, {
key: "mvhd", value: function (e, t) {
return l.box(l.types.mvhd, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255]))
}
}, {
key: "trak", value: function (e) {
return l.box(l.types.trak, l.tkhd(e), l.mdia(e))
}
}, {
key: "tkhd", value: function (e) {
var t = e.id, n = e.duration, i = e.presentWidth, e = e.presentHeight;
return l.box(l.types.tkhd, new Uint8Array([0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t, 0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, i >>> 8 & 255, 255 & i, 0, 0, e >>> 8 & 255, 255 & e, 0, 0]))
}
}, {
key: "mdia", value: function (e) {
return l.box(l.types.mdia, l.mdhd(e), l.hdlr(e), l.minf(e))
}
}, {
key: "mdhd", value: function (e) {
var t = e.timescale, e = e.duration;
return l.box(l.types.mdhd, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t, e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, 85, 196, 0, 0]))
}
}, {
key: "hdlr", value: function (e) {
var t = null, t = "audio" === e.type ? l.constants.HDLR_AUDIO : l.constants.HDLR_VIDEO;
return l.box(l.types.hdlr, t)
}
}, {
key: "minf", value: function (e) {
var t = null,
t = "audio" === e.type ? l.box(l.types.smhd, l.constants.SMHD) : l.box(l.types.vmhd, l.constants.VMHD);
return l.box(l.types.minf, t, l.dinf(), l.stbl(e))
}
}, {
key: "dinf", value: function () {
return l.box(l.types.dinf, l.box(l.types.dref, l.constants.DREF))
}
}, {
key: "stbl", value: function (e) {
return l.box(l.types.stbl, l.stsd(e), l.box(l.types.stts, l.constants.STTS), l.box(l.types.stsc, l.constants.STSC), l.box(l.types.stsz, l.constants.STSZ), l.box(l.types.stco, l.constants.STCO))
}
}, {
key: "stsd", value: function (e) {
return "audio" === e.type ? "mp3" === e.codec ? l.box(l.types.stsd, l.constants.STSD_PREFIX, l.mp3(e)) : l.box(l.types.stsd, l.constants.STSD_PREFIX, l.mp4a(e)) : l.box(l.types.stsd, l.constants.STSD_PREFIX, l.avc1(e))
}
}, {
key: "mp3", value: function (e) {
var t = e.channelCount, e = e.audioSampleRate,
t = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 16, 0, 0, 0, 0, e >>> 8 & 255, 255 & e, 0, 0]);
return l.box(l.types[".mp3"], t)
}
}, {
key: "mp4a", value: function (e) {
var t = e.channelCount, n = e.audioSampleRate,
t = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 16, 0, 0, 0, 0, n >>> 8 & 255, 255 & n, 0, 0]);
return l.box(l.types.mp4a, t, l.esds(e))
}
}, {
key: "esds", value: function (e) {
var e = e.config || [], t = e.length,
t = new Uint8Array([0, 0, 0, 0, 3, 23 + t, 0, 1, 0, 4, 15 + t, 64, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5].concat([t]).concat(e).concat([6, 1, 2]));
return l.box(l.types.esds, t)
}
}, {
key: "avc1", value: function (e) {
var t = e.avcc, n = e.codecWidth, e = e.codecHeight,
n = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, n >>> 8 & 255, 255 & n, e >>> 8 & 255, 255 & e, 0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, 10, 120, 113, 113, 47, 102, 108, 118, 46, 106, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 255, 255]);
return l.box(l.types.avc1, n, l.box(l.types.avcC, t))
}
}, {
key: "mvex", value: function (e) {
return l.box(l.types.mvex, l.trex(e))
}
}, {
key: "trex", value: function (e) {
e = e.id, e = new Uint8Array([0, 0, 0, 0, e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1]);
return l.box(l.types.trex, e)
}
}, {
key: "moof", value: function (e, t) {
return l.box(l.types.moof, l.mfhd(e.sequenceNumber), l.traf(e, t))
}
}, {
key: "mfhd", value: function (e) {
e = new Uint8Array([0, 0, 0, 0, e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e]);
return l.box(l.types.mfhd, e)
}
}, {
key: "traf", value: function (e, t) {
var n = e.id,
n = l.box(l.types.tfhd, new Uint8Array([0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n])),
t = l.box(l.types.tfdt, new Uint8Array([0, 0, 0, 0, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t])),
i = l.sdtp(e), e = l.trun(e, i.byteLength + 16 + 16 + 8 + 16 + 8 + 8);
return l.box(l.types.traf, n, t, e, i)
}
}, {
key: "sdtp", value: function (e) {
for (var t = e.samples || [], n = t.length, i = new Uint8Array(4 + n), r = 0; r < n; r++) {
var a = t[r].flags;
i[r + 4] = a.isLeading << 6 | a.dependsOn << 4 | a.isDependedOn << 2 | a.hasRedundancy
}
return l.box(l.types.sdtp, i)
}
}, {
key: "trun", value: function (e, t) {
var n = e.samples || [], i = n.length, e = 12 + 16 * i, r = new Uint8Array(e);
r.set([0, 0, 15, 1, i >>> 24 & 255, i >>> 16 & 255, i >>> 8 & 255, 255 & i, (t += 8 + e) >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t], 0);
for (var a = 0; a < i; a++) {
var s = n[a].duration, o = n[a].size, u = n[a].flags, d = n[a].cts;
r.set([s >>> 24 & 255, s >>> 16 & 255, s >>> 8 & 255, 255 & s, o >>> 24 & 255, o >>> 16 & 255, o >>> 8 & 255, 255 & o, u.isLeading << 2 | u.dependsOn, u.isDependedOn << 6 | u.hasRedundancy << 4 | u.isNonSync, 0, 0, d >>> 24 & 255, d >>> 16 & 255, d >>> 8 & 255, 255 & d], 12 + 16 * a)
}
return l.box(l.types.trun, r)
}
}, {
key: "mdat", value: function (e) {
return l.box(l.types.mdat, e)
}
}]);
n = l;
function l() {
(0, i.default)(this, l)
}
n.init(), t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
function a() {
(0, i.default)(this, a)
}
(0, r(n(2)).default)(a, null, [{
key: "getSilentFrame", value: function (e, t) {
if ("mp4a.40.2" === e) {
if (1 === t) return new Uint8Array([0, 200, 0, 128, 35, 128]);
if (2 === t) return new Uint8Array([33, 0, 73, 144, 2, 25, 0, 35, 128]);
if (3 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 142]);
if (4 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 128, 44, 128, 8, 2, 56]);
if (5 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 56]);
if (6 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 0, 178, 0, 32, 8, 224])
} else {
if (1 === t) return new Uint8Array([1, 64, 34, 128, 163, 78, 230, 128, 186, 8, 0, 0, 0, 28, 6, 241, 193, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);
if (2 === t) return new Uint8Array([1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);
if (3 === t) return new Uint8Array([1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94])
}
return null
}
}]), t.default = a
}, function (e, t, h) {
function a(n) {
var i = {};
function r(e) {
if (i[e]) return i[e].exports;
var t = i[e] = {i: e, l: !1, exports: {}};
return n[e].call(t.exports, t, t.exports, r), t.l = !0, t.exports
}
r.m = n, r.c = i, r.i = function (e) {
return e
}, r.d = function (e, t, n) {
r.o(e, t) || Object.defineProperty(e, t, {configurable: !1, enumerable: !0, get: n})
}, r.r = function (e) {
Object.defineProperty(e, "__esModule", {value: !0})
}, r.n = function (e) {
var t = e && e.__esModule ? function () {
return e.default
} : function () {
return e
};
return r.d(t, "a", t), t
}, r.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}, r.p = "/", r.oe = function (e) {
throw console.error(e), e
};
var e = r(r.s = ENTRY_MODULE);
return e.default || e
}
var c = "[\\.|\\-|\\+|\\w|/|@]+", _ = "\\(\\s*(/\\*.*?\\*/)?\\s*.*?(" + c + ").*?\\)";
function f(e) {
return (e + "").replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&")
}
function m(e, t, n) {
var i = {}, r = (i[n] = [], t.toString()), t = r.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);
if (t) {
for (var a, t = t[1], s = new RegExp("(\\\\n|\\W)" + f(t) + _, "g"); a = s.exec(r);) "dll-reference" !== a[3] && i[n].push(a[3]);
for (s = new RegExp("\\(" + f(t) + '\\("(dll-reference\\s(' + c + '))"\\)\\)' + _, "g"); a = s.exec(r);) e[a[2]] || (i[n].push(a[1]), e[a[2]] = h(a[1]).m), i[a[2]] = i[a[2]] || [], i[a[2]].push(a[4]);
for (var o, u = Object.keys(i), d = 0; d < u.length; d++) for (var l = 0; l < i[u[d]].length; l++) o = i[u[d]][l], isNaN(+o) || (i[u[d]][l] = +i[u[d]][l])
}
return i
}
function s(e, t) {
for (var n = {main: [t]}, i = {main: []}, r = {main: {}}; function (n) {
return Object.keys(n).reduce(function (e, t) {
return e || 0 < n[t].length
}, !1)
}(n);) for (var a = Object.keys(n), s = 0; s < a.length; s++) {
var o = a[s], u = n[o].pop();
if (r[o] = r[o] || {}, !r[o][u] && e[o][u]) {
r[o][u] = !0, i[o] = i[o] || [], i[o].push(u);
for (var d = m(e, e[o][u], o), l = Object.keys(d), h = 0; h < l.length; h++) n[l[h]] = n[l[h]] || [], n[l[h]] = n[l[h]].concat(d[l[h]])
}
}
return i
}
e.exports = function (e, t) {
var n = {main: h.m}, i = (t = t || {}).all ? {main: Object.keys(n.main)} : s(n, e), r = "",
e = (Object.keys(i).filter(function (e) {
return "main" !== e
}).forEach(function (t) {
for (var e = 0; i[t][e];) e++;
i[t].push(e), n[t][e] = "(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })", r = r + "var " + t + " = (" + a.toString().replace("ENTRY_MODULE", JSON.stringify(e)) + ")({" + i[t].map(function (e) {
return JSON.stringify(e) + ": " + n[t][e].toString()
}).join(",") + "});\n"
}), r = r + "new ((" + a.toString().replace("ENTRY_MODULE", JSON.stringify(e)) + ")({" + i.main.map(function (e) {
return JSON.stringify(e) + ": " + n.main[e].toString()
}).join(",") + "}))(self);", new window.Blob([r], {type: "text/javascript"}));
if (t.bare) return e;
t = (window.URL || window.webkitURL || window.mozURL || window.msURL).createObjectURL(e), e = new window.Worker(t);
return e.objectURL = t, e
}
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = c(n(1)), r = c(n(2)), a = c(n(10)), o = c(n(4)), u = c(n(33)), s = c(n(232)), d = n(230), l = n(5),
h = (c(n(233)), c(n(0)));
function c(e) {
return e && e.__esModule ? e : {default: e}
}
(0, r.default)(_, [{
key: "destroy", value: function () {
(this._mediaElement || this._mediaSource) && this.detachMediaElement(), this.e = null, this._emitter.removeAllListeners(), this._emitter = null
}
}, {
key: "on", value: function (e, t) {
this._emitter.addListener(e, t)
}
}, {
key: "off", value: function (e, t) {
this._emitter.removeListener(e, t)
}
}, {
key: "attachMediaElement", value: function (e) {
if (this._mediaSource) throw new l.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");
var t = this._mediaSource = new window.MediaSource;
t.addEventListener("sourceopen", this.e.onSourceOpen), t.addEventListener("sourceended", this.e.onSourceEnded), t.addEventListener("sourceclose", this.e.onSourceClose), this._mediaElement = e, this._mediaSourceObjectURL = window.URL.createObjectURL(this._mediaSource), e.src = this._mediaSourceObjectURL
}
}, {
key: "detachMediaElement", value: function () {
if (this._mediaSource) {
var e, t = this._mediaSource;
for (e in this._sourceBuffers) {
var n = this._pendingSegments[e],
n = (n.splice(0, n.length), this._pendingSegments[e] = null, this._pendingRemoveRanges[e] = null, this._lastInitSegments[e] = null, this._sourceBuffers[e]);
if (n) {
if ("closed" !== t.readyState) {
try {
t.removeSourceBuffer(n)
} catch (e) {
o.default.e(this.TAG, e.message)
}
n.removeEventListener("error", this.e.onSourceBufferError), n.removeEventListener("updateend", this.e.onSourceBufferUpdateEnd)
}
this._mimeTypes[e] = null, this._sourceBuffers[e] = null
}
}
if ("open" === t.readyState) try {
t.endOfStream()
} catch (e) {
o.default.e(this.TAG, e.message)
}
t.removeEventListener("sourceopen", this.e.onSourceOpen), t.removeEventListener("sourceended", this.e.onSourceEnded), t.removeEventListener("sourceclose", this.e.onSourceClose), this._pendingSourceBufferInit = [], this._isBufferFull = !1, this._idrList.clear(), this._mediaSource = null
}
this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src"), this._mediaElement = null), this._mediaSourceObjectURL && (window.URL.revokeObjectURL(this._mediaSourceObjectURL), this._mediaSourceObjectURL = null), this._hasAudio = !0
}
}, {
key: "checkAudioSourceBufferInit", value: function (e) {
return this._sourceBuffers.audio || "audio" === e.type || !this._hasAudio
}
}, {
key: "_onAudioSourceBufferInited", value: function () {
if (0 < this._pendingSourceBufferInit.length) for (var e = this._pendingSourceBufferInit; e.length;) {
var t = e.shift();
this.appendInitSegment(t, !0)
}
this._hasPendingSegments() && this._doAppendSegments(), this._emitter.emit(s.default.SOURCE_OPEN)
}
}, {
key: "checkMediaSource", value: function (e) {
return !(!this._mediaSource || "open" !== this._mediaSource.readyState)
}
}, {
key: "appendInitSegment", value: function (e, t) {
if (!this.checkMediaSource("appendInitSegment") || !this.checkAudioSourceBufferInit(e)) return this._pendingSourceBufferInit.push(e), void this._pendingSegments[e.type].push(e);
var n = "" + e.container, i = (e.codec && 0 < e.codec.length && (n += ";codecs=" + e.codec), !1);
if (this._lastInitSegments[e.type] = e, n !== this._mimeTypes[e.type]) {
if (this._mimeTypes[e.type]) o.default.v(this.TAG, "Notice: " + e.type + " mimeType changed, origin: " + this._mimeTypes[e.type] + ", target: " + n); else {
i = !0, console.info("[debug] %c" + (0, h.default)().format("YYYY-MM-DD HH:mm:ss.SSS") + "%c appendInitSegment", "color: blue", "color: black", this._mediaElement.readyState, n);
try {
var r = this._sourceBuffers[e.type] = this._mediaSource.addSourceBuffer(n);
r.addEventListener("error", this.e.onSourceBufferError), r.addEventListener("updateend", this.e.onSourceBufferUpdateEnd), "audio" === e.type && this._onAudioSourceBufferInited()
} catch (e) {
return o.default.e(this.TAG, e.message, this._mediaElement.error), void this._emitter.emit(s.default.ERROR, {
code: e.code,
msg: e.message
})
}
}
this._mimeTypes[e.type] = n
}
t || this._pendingSegments[e.type].push(e), i || this._sourceBuffers[e.type] && !this._sourceBuffers[e.type].updating && this._doAppendSegments(), u.default.safari && "audio/mpeg" === e.container && 0 < e.mediaDuration && (this._requireSetMediaDuration = !0, this._pendingMediaDuration = e.mediaDuration / 1e3, this._updateMediaSourceDuration())
}
}, {
key: "appendMediaSegment", value: function (e) {
var t;
this.checkMediaSource("appendMediaSegment") && (this._pendingSegments[(e = e).type].push(e), this._config.autoCleanupSourceBuffer && this._needCleanupSourceBuffer() && this._doCleanupSourceBuffer(), !(t = this._sourceBuffers[e.type]) || t.updating || this._hasPendingRemoveRanges() ? this._hasAudio && 5 < this._pendingSegments[e.type].length && (this._hasAudio = !1, this._onAudioSourceBufferInited()) : this._doAppendSegments())
}
}, {
key: "seek", value: function (e) {
if (this.checkMediaSource("seek")) for (var t in this._sourceBuffers) if (this._sourceBuffers[t]) {
var n = this._sourceBuffers[t];
if ("open" === this._mediaSource.readyState) try {
n.abort()
} catch (e) {
o.default.e(this.TAG, e.message)
}
this._idrList.clear();
var i = this._pendingSegments[t];
if (i.splice(0, i.length), "closed" !== this._mediaSource.readyState) {
for (var r = 0; r < n.buffered.length; r++) {
var a = n.buffered.start(r), s = n.buffered.end(r);
this._pendingRemoveRanges[t].push({start: a, end: s})
}
n.updating || this._doRemoveRanges("seek"), !u.default.safari || (i = this._lastInitSegments[t]) && (this._pendingSegments[t].push(i), n.updating || this._doAppendSegments())
}
}
}
}, {
key: "endOfStream", value: function () {
var e = this._mediaSource, t = this._sourceBuffers;
e && "open" === e.readyState ? t.video && t.video.updating || t.audio && t.audio.updating ? this._hasPendingEos = !0 : (this._hasPendingEos = !1, e.endOfStream()) : e && "closed" === e.readyState && this._hasPendingSegments() && (this._hasPendingEos = !0)
}
}, {
key: "getNearestKeyframe", value: function (e) {
return this._idrList.getLastSyncPointBeforeDts(e)
}
}, {
key: "checkSourceBufferNull", value: function () {
var e, t = !0;
for (e in this._sourceBuffers) if (null != this._sourceBuffers[e]) {
t = !1;
break
}
return t
}
}, {
key: "_needCleanupSourceBuffer", value: function () {
if (this._config.autoCleanupSourceBuffer && this.checkMediaSource("_needCleanupSourceBuffer")) {
var e, t = this._mediaElement.currentTime;
for (e in this._sourceBuffers) {
var n = this._sourceBuffers[e];
if (n) {
n = n.buffered;
if (1 <= n.length && t - n.start(0) >= this._config.autoCleanupMaxBackwardDuration) return !0
}
}
}
return !1
}
}, {
key: "_doCleanupSourceBuffer", value: function () {
var e = this._mediaElement.currentTime;
if (this.checkMediaSource("_doCleanupSourceBuffer")) for (var t in this._sourceBuffers) {
var n = this._sourceBuffers[t];
if (n) {
for (var i = n.buffered, r = !1, a = 0; a < i.length; a++) {
var s, o = i.start(a), u = i.end(a);
o <= e && e < u + 3 ? e - o >= this._config.autoCleanupMaxBackwardDuration && (r = !0, s = e - this._config.autoCleanupMinBackwardDuration, this._pendingRemoveRanges[t].push({
start: o,
end: s
})) : u < e && (r = !0, this._pendingRemoveRanges[t].push({start: o, end: u}))
}
r && !n.updating && this._doRemoveRanges("_doCleanupSourceBuffer")
}
}
}
}, {
key: "_updateMediaSourceDuration", value: function () {
var e, t;
this.checkMediaSource("_updateMediaSourceDuration") && (e = this._sourceBuffers, 0 === this._mediaElement.readyState || "open" !== this._mediaSource.readyState || e.video && e.video.updating || e.audio && e.audio.updating || (e = this._mediaSource.duration, 0 < (t = this._pendingMediaDuration) && (isNaN(e) || e < t) && (o.default.v(this.TAG, "Update MediaSource duration from " + e + " to " + t), this._mediaSource.duration = t), this._requireSetMediaDuration = !1, this._pendingMediaDuration = 0))
}
}, {
key: "_doRemoveRanges", value: function (e) {
if (this.checkMediaSource("_doRemoveRanges")) for (var t in this._pendingRemoveRanges) if (this._sourceBuffers[t] && !this._sourceBuffers[t].updating) for (var n = this._sourceBuffers[t], i = this._pendingRemoveRanges[t]; i.length && !n.updating;) {
var r = i.shift();
n.remove(r.start, r.end)
}
}
}, {
key: "_doAppendSegments", value: function () {
if (this.checkMediaSource("_doAppendSegments")) {
var t, e = this._pendingSegments;
for (t in e) if (this._sourceBuffers[t] && !this._sourceBuffers[t].updating && 0 < e[t].length) {
var n, i, r = e[t].shift();
if (r.timestampOffset && (n = this._sourceBuffers[t].timestampOffset, i = r.timestampOffset / 1e3, .1 < Math.abs(n - i) && (o.default.v(this.TAG, "Update MPEG audio timestampOffset from " + n + " to " + i), this._sourceBuffers[t].timestampOffset = i), delete r.timestampOffset), r.data && 0 !== r.data.byteLength) try {
this._sourceBuffers[t].appendBuffer(r.data), this._isBufferFull = !1, "video" === t && r.hasOwnProperty("info") && this._idrList.appendArray(r.info.syncPoints)
} catch (e) {
this._pendingSegments[t].unshift(r), 22 === e.code ? (this._isBufferFull || this._emitter.emit(s.default.BUFFER_FULL), this._isBufferFull = !0) : (o.default.e(this.TAG, e.message, this._mediaElement.error), this._emitter.emit(s.default.ERROR, {
code: e.code,
msg: e.message
}))
}
}
}
}
}, {
key: "_onSourceOpen", value: function () {
if (o.default.v(this.TAG, "MediaSource onSourceOpen"), this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), 0 < this._pendingSourceBufferInit.length) for (var e = this._pendingSourceBufferInit; e.length;) {
var t = e.shift();
this.appendInitSegment(t, !0)
}
this._hasPendingSegments() && this._doAppendSegments(), this._emitter.emit(s.default.SOURCE_OPEN)
}
}, {
key: "_onSourceEnded", value: function () {
o.default.v(this.TAG, "MediaSource onSourceEnded"), this._emitter.emit(s.default.SOURCE_END)
}
}, {
key: "_onSourceClose", value: function () {
o.default.v(this.TAG, "MediaSource onSourceClose"), this._mediaSource && null != this.e && (this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), this._mediaSource.removeEventListener("sourceended", this.e.onSourceEnded), this._mediaSource.removeEventListener("sourceclose", this.e.onSourceClose)), this._emitter.emit(s.default.SOURCE_CLOSE)
}
}, {
key: "_hasPendingSegments", value: function () {
var e = this._pendingSegments;
return 0 < e.video.length || 0 < e.audio.length
}
}, {
key: "_hasPendingRemoveRanges", value: function () {
var e = this._pendingRemoveRanges;
return 0 < e.video.length || 0 < e.audio.length
}
}, {
key: "_onSourceBufferUpdateEnd", value: function () {
this._requireSetMediaDuration ? this._updateMediaSourceDuration() : this._hasPendingRemoveRanges() ? this._doRemoveRanges("_onSourceBufferUpdateEnd") : this._hasPendingSegments() ? this._doAppendSegments() : this._hasPendingEos && this.endOfStream(), this._emitter.emit(s.default.UPDATE_END)
}
}, {
key: "_onSourceBufferError", value: function (e) {
o.default.e(this.TAG, "SourceBuffer Error: ", e), this._emitter.emit(s.default.ERROR, {
code: e.code,
msg: e.message
})
}
}]);
n = _;
function _(e) {
(0, i.default)(this, _), this.TAG = "MSEController", this._config = e, this._emitter = new a.default, this._config.isLive && null == this._config.autoCleanupSourceBuffer && (this._config.autoCleanupSourceBuffer = !0), this.e = {
onSourceOpen: this._onSourceOpen.bind(this),
onSourceEnded: this._onSourceEnded.bind(this),
onSourceClose: this._onSourceClose.bind(this),
onSourceBufferError: this._onSourceBufferError.bind(this),
onSourceBufferUpdateEnd: this._onSourceBufferUpdateEnd.bind(this)
}, this._mediaSource = null, this._mediaSourceObjectURL = null, this._mediaElement = null, this._hasAudio = !0, this._isBufferFull = !1, this._hasPendingEos = !1, this._requireSetMediaDuration = !1, this._pendingMediaDuration = 0, this._pendingSourceBufferInit = [], this._mimeTypes = {
video: null,
audio: null
}, this._sourceBuffers = {video: null, audio: null}, this._lastInitSegments = {
video: null,
audio: null
}, this._pendingSegments = {video: [], audio: []}, this._pendingRemoveRanges = {
video: [],
audio: []
}, this._idrList = new d.IDRSampleList
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = c(n(11)), r = c(n(20)), a = c(n(9)), s = c(n(1)), o = c(n(2)), u = c(n(10)), d = c(n(39)), l = n(63),
h = n(5);
function c(e) {
return e && e.__esModule ? e : {default: e}
}
(0, o.default)(_, [{
key: "destroy", value: function () {
this._mediaElement && (this.unload(), this.detachMediaElement()), this.e = null, this._mediaDataSource = null, this._emitter.removeAllListeners(), this._emitter = null
}
}, {
key: "on", value: function (e, t) {
var n = this;
e === d.default.MEDIA_INFO ? null != this._mediaElement && 0 !== this._mediaElement.readyState && i.default.resolve().then(function () {
n._emitter.emit(d.default.MEDIA_INFO, n.mediaInfo)
}) : e === d.default.STATISTICS_INFO && null != this._mediaElement && 0 !== this._mediaElement.readyState && i.default.resolve().then(function () {
n._emitter.emit(d.default.STATISTICS_INFO, n.statisticsInfo)
}), this._emitter.addListener(e, t)
}
}, {
key: "off", value: function (e, t) {
this._emitter.removeListener(e, t)
}
}, {
key: "attachMediaElement", value: function (e) {
if ((this._mediaElement = e).addEventListener("loadedmetadata", this.e.onvLoadedMetadata), null != this._pendingSeekTime) try {
e.currentTime = this._pendingSeekTime, this._pendingSeekTime = null
} catch (e) {
}
}
}, {
key: "detachMediaElement", value: function () {
this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src"), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), this._mediaElement = null), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
}
}, {
key: "load", value: function () {
if (!this._mediaElement) throw new h.IllegalStateException("HTMLMediaElement must be attached before load()!");
this._mediaElement.src = this._mediaDataSource.url, 0 < this._mediaElement.readyState && (this._mediaElement.currentTime = 0), this._mediaElement.preload = "auto", this._mediaElement.load(), this._statisticsReporter = window.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval)
}
}, {
key: "unload", value: function () {
this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src")), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
}
}, {
key: "play", value: function () {
return this._mediaElement.play()
}
}, {
key: "pause", value: function () {
this._mediaElement.pause()
}
}, {
key: "_onvLoadedMetadata", value: function (e) {
null != this._pendingSeekTime && (this._mediaElement.currentTime = this._pendingSeekTime, this._pendingSeekTime = null), this._emitter.emit(d.default.MEDIA_INFO, this.mediaInfo)
}
}, {
key: "_reportStatisticsInfo", value: function () {
this._emitter.emit(d.default.STATISTICS_INFO, this.statisticsInfo)
}
}, {
key: "type", get: function () {
return this._type
}
}, {
key: "buffered", get: function () {
return this._mediaElement.buffered
}
}, {
key: "duration", get: function () {
return this._mediaElement.duration
}
}, {
key: "volume", get: function () {
return this._mediaElement.volume
}, set: function (e) {
this._mediaElement.volume = e
}
}, {
key: "muted", get: function () {
return this._mediaElement.muted
}, set: function (e) {
this._mediaElement.muted = e
}
}, {
key: "currentTime", get: function () {
return this._mediaElement ? this._mediaElement.currentTime : 0
}, set: function (e) {
this._mediaElement ? this._mediaElement.currentTime = e : this._pendingSeekTime = e
}
}, {
key: "mediaInfo", get: function () {
var e = {mimeType: (this._mediaElement instanceof HTMLAudioElement ? "audio/" : "video/") + this._mediaDataSource.type};
return this._mediaElement && (e.duration = Math.floor(1e3 * this._mediaElement.duration), this._mediaElement instanceof HTMLVideoElement && (e.width = this._mediaElement.videoWidth, e.height = this._mediaElement.videoHeight)), e
}
}, {
key: "statisticsInfo", get: function () {
var e, t, n, i, r = {playerType: this._type, url: this._mediaDataSource.url};
return this._mediaElement instanceof HTMLVideoElement && (e = !0, i = n = 0, this._mediaElement.getVideoPlaybackQuality ? (n = (t = this._mediaElement.getVideoPlaybackQuality()).totalVideoFrames, i = t.droppedVideoFrames) : null != this._mediaElement.webkitDecodedFrameCount ? (n = this._mediaElement.webkitDecodedFrameCount, i = this._mediaElement.webkitDroppedFrameCount) : e = !1, e && (r.decodedFrames = n, r.droppedFrames = i)), r
}
}]);
n = _;
function _(e, t) {
if ((0, s.default)(this, _), this.TAG = "NativePlayer", this._type = "NativePlayer", this._emitter = new u.default, this._config = (0, l.createDefaultConfig)(), "object" === (void 0 === t ? "undefined" : (0, a.default)(t)) && (0, r.default)(this._config, t), "flv" === e.type.toLowerCase()) throw new h.InvalidArgumentException("NativePlayer does't support flv MediaDataSource input!");
if (e.hasOwnProperty("segments")) throw new h.InvalidArgumentException("NativePlayer(" + e.type + ") doesn't support multipart playback!");
this.e = {onvLoadedMetadata: this._onvLoadedMetadata.bind(this)}, this._pendingSeekTime = null, this._statisticsReporter = null, this._mediaDataSource = e, this._mediaElement = null
}
t.default = n
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var i = r(n(1));
function r(e) {
return e && e.__esModule ? e : {default: e}
}
function a() {
(0, i.default)(this, a), this._ua = self.navigator.userAgent.toLowerCase(), this._system = void 0, this._systemVersion = void 0, this._systemByte = void 0, this._platform = void 0, this._engine = void 0, this._engineVersion = void 0, this._supporter = void 0, this._supporterVersion = void 0, this._shell = void 0, this._shellVersion = void 0, this._start()
}
(0, r(n(2)).default)(a, [{
key: "_start", value: function () {
this._checkSystem(), this._checkPlatform(), this._checkEngine(), this._checkSupporter(), this._checkShell()
}
}, {
key: "_checkUa", value: function (e) {
return e.test(this._ua)
}
}, {
key: "_getVersion", value: function (e) {
e = e.exec(this._ua);
return e ? e.shift().split(/\s|\/|:/gi).pop() : null
}
}, {
key: "_checkSystem", value: function () {
var e, t = this, n = this._checkUa.bind(this),
i = [{sys: "windows", re: /windows|win32|win64|wow32|wow64/gi}, {
sys: "osx",
re: /macintosh|macintel/gi
}, {sys: "linux", re: /x11/gi}, {sys: "android", re: /android|adr/gi}, {
sys: "ios",
re: /ios|iphone|ipad|iwatch/gi
}].find(function (e) {
return n(e.re)
}), i = (this._system = i ? i.sys : void 0, this._systemByte = n(/win32|wow32|x32/gi) ? 32 : 64, [{
sys: "osx",
re: /os x [\d(.|_)]+/gi
}, {sys: "android", re: /android [\d(.|_)]+/gi}, {
sys: "ios",
re: /os [\d(.|_)]+/gi
}].find(function (e) {
return e.sys === t._system
}));
"windows" === this._system ? (e = [{vs: "2000", re: /windows nt 5.0|windows 2000/gi}, {
vs: "xp",
re: /windows nt 5.1|windows 2000/gi
}, {vs: "2003", re: /windows nt 5.2|windows 2003/gi}, {
vs: "vista",
re: /windows nt 6.0|windows vista/gi
}, {vs: "7", re: /windows nt 6.1|windows 7/gi}, {vs: "8", re: /windows nt 6.2|windows 8/gi}, {
vs: "8.1",
re: /windows nt 6.3|windows 8.1/gi
}, {vs: "10", re: /windows nt 10.0|windows 10/gi}].find(function (e) {
return n(e.re)
}), this._systemVersion = e ? e.vs : void 0) : this._systemVersion = i ? this._getVersion(i.re) : void 0
}
}, {
key: "_checkPlatform", value: function () {
var t = this;
["windows", "osx"].find(function (e) {
return e === t._system
}) ? this._platform = "desktop" : ["ios", "android", "linux"].find(function (e) {
return e === t._system
}) && (this._platform = "mobile")
}
}, {
key: "_checkEngine", value: function () {
var t = this._checkUa.bind(this),
e = [{eng: "webkit", re: /applewebkit/gi, vre: /applewebkit\/[\d(.|_)]+/gi}, {
eng: "presto",
re: /presto/gi,
vre: /presto\/[\d(.|_)]+/gi
}, {
eng: "trident",
re: /trident|compatible|msie/gi,
vre: /(trident|compatible|msie)\/[\d(.|_)]+/gi
}, {eng: "gecko", re: /gecko|firefox/gi, vre: /(gecko|firefox)\/[\d(.|_)]+/gi}].find(function (e) {
return t(e.re)
});
e && (this._engine = e.eng, this._engineVersion = this._getVersion(e.vre))
}
}, {
key: "_checkSupporter", value: function () {
var t = this._checkUa.bind(this), e = this._system, n = this._engine;
"android" === e && "webkit" === n ? (e = this._ua.match(/chrome\/\d+[\.\d+]+/gi)) && (e = e.pop().split("/"), this._supporterVersion = e.pop(), this._supporter = e.pop()) : "webkit" === n ? (e = [{
sp: "edge",
re: /edge/gi,
vre: /edge\/[\d(.|_)]+/gi
}, {sp: "opera", re: /opr/gi, vre: /opr\/[\d(.|_)]+/gi}, {
sp: "chrome",
re: /chrome|crios/gi,
vre: /(chrome|crios)\/[\d(.|_)]+/gi
}, {sp: "safari", re: /safari/gi, vre: /version\/[\d(.|_)]+/gi}].find(function (e) {
return t(e.re)
})) && (this._supporter = e.sp, this._supporterVersion = this._getVersion(e.vre)) : "presto" === n ? (this.supporter = "opera", this._supporterVersion = this._getVersion(/opera\/[\d(.|_)]+/gi)) : "trident" === n ? (this._supporter = "ie", this._supporterVersion = this._getVersion(/rv:[\d(.|_)]+/gi)) : "gecko" === n && (this._supporter = "firefox", this._supporterVersion = this._getVersion(/(rv:|firefox\/)[\d(.|_)]+/gi))
}
}, {
key: "_checkShell", value: function () {
var t = this._checkUa.bind(this), e = this._system, n = this._engine;
"android" !== e && "linux" !== e || "webkit" !== n ? (e = [{
sl: "weChat",
re: /micromessenger/gi,
vre: /micromessenger\/[\d(.|_)]+/gi
}, {sl: "qq", re: /qqbrowser/gi, vre: /micromessenger\/[\d(.|_)]+/gi}, {
sl: "uc",
re: /ucbrowser/gi,
vre: /ucbrowser\/[\d(.|_)]+/gi
}, {
sl: "baidu",
re: /baidu(boxapp|browser)/gi,
vre: /baidu(boxapp|browser)\/[\d(.|_)]+/gi
}].find(function (e) {
return t(e.re)
})) && (this._shell = e.sl, this._shellVersion = this._getVersion(e.vre)) : (n = this._ua.match(/[\w|\/]+Browser\/\d+[\.\d+]+/gi)) && (e = n.pop().split("/"), this._shellVersion = e.pop(), this._shell = e.pop())
}
}, {
key: "system", get: function () {
return this._system
}
}, {
key: "systemVersion", get: function () {
return this._systemVersion
}
}, {
key: "systemByte", get: function () {
return this._systemByte
}
}, {
key: "platform", get: function () {
return this._platform
}
}, {
key: "engine", get: function () {
return this._engine
}
}, {
key: "engineVersion", get: function () {
return this._engineVersion
}
}, {
key: "supporter", get: function () {
return this._supporter
}
}, {
key: "supporterVersion", get: function () {
return this._supporterVersion
}
}, {
key: "shell", get: function () {
return this._shell
}
}, {
key: "shellVersion", get: function () {
return this._shellVersion
}
}]), t.default = a
}, function (e) {
e.exports = JSON.parse('{"name":"h5player","version":"2.1.2build20220713","description":"player for h5 page without plugin","main":"./dist/h5player.min.js","scripts":{"start":"webpack --config build/webpack.dev.js --watch","dev":"webpack-dev-server --config build/webpack.dev.js","dev:https":"webpack-dev-server --config build/webpack.dev.js --https --coop","build":"npm run prod && npm run backup","build:dev":"webpack --config build/webpack.dev.js","prod":"webpack --config build/webpack.prod.js","backup":"webpack --config build/webpack.backup.js","http":"node dev/http.js","https":"node dev/https.js","preinstall":"node ./bin/preinstall.js","postinstall":"node ./bin/postinstall.js","preuninstall":"node ./bin/preuninstall.js","prepublishOnly":"npm run prod"},"author":"hezhuen","license":"MIT","dependencies":{"chalk":"^4.1.2","inquirer":"^8.2.0","shelljs":"^0.8.4"},"devDependencies":{"@babel/polyfill":"^7.12.1","babel-core":"^6.26.3","babel-eslint":"^8.2.6","babel-loader":"^7.1.5","babel-plugin-syntax-dynamic-import":"^6.18.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-preset-es2015":"^6.24.1","babel-runtime":"^6.26.0","copy-webpack-plugin":"^4.5.2","css-loader":"^1.0.0","es6-promise":"^4.2.8","eslint":"^5.1.0","eslint-loader":"^2.1.0","html-loader":"^0.5.5","jquery":"^3.6.0","json-loader":"^0.5.7","less":"^3.7.1","less-loader":"^4.1.0","mime":"^2.5.2","moment":"^2.0.0","style-loader":"^0.21.0","uglifyjs-webpack-plugin":"^2.2.0","url-loader":"^1.0.1","uuid":"^3.3.3","webpack":"^4.16.1","webpack-cli":"^3.1.0","webpack-dev-server":"^3.11.2","webpack-merge":"^5.7.3","webworkify":"^1.5.0","webworkify-webpack":"^2.1.5"},"publishConfig":{"registry":"https://af.hikvision.com.cn/artifactory/api/npm/npm-fsdmdept/","access":"public"},"files":["dist","bin"]}')
}], a = {}, r.m = n, r.c = a, r.d = function (e, t, n) {
r.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: n})
}, r.r = function (e) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
}, r.t = function (t, e) {
if (1 & e && (t = r(t)), 8 & e) return t;
if (4 & e && "object" == typeof t && t && t.__esModule) return t;
var n = Object.create(null);
if (r.r(n), Object.defineProperty(n, "default", {
enumerable: !0,
value: t
}), 2 & e && "string" != typeof t) for (var i in t) r.d(n, i, function (e) {
return t[e]
}.bind(null, i));
return n
}, r.n = function (e) {
var t = e && e.__esModule ? function () {
return e.default
} : function () {
return e
};
return r.d(t, "a", t), t
}, r.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}, r.p = "", r(r.s = 235);
function r(e) {
if (a[e]) return a[e].exports;
var t = a[e] = {i: e, l: !1, exports: {}};
return n[e].call(t.exports, t, t.exports, r), t.l = !0, t.exports
}
var n, a
});