diff --git a/frontend/src/assets/js/app.js b/frontend/src/assets/js/app.js
new file mode 100644
index 0000000..e32287b
--- /dev/null
+++ b/frontend/src/assets/js/app.js
@@ -0,0 +1,25141 @@
+/*! For license information please see app.js.LICENSE.txt */
+!function (e) {
+    var t = {};
+
+    function n(i) {
+        if (t[i]) return t[i].exports;
+        var a = t[i] = {i: i, l: !1, exports: {}};
+        return e[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports
+    }
+
+    n.m = e, n.c = t, n.d = function (e, t, i) {
+        n.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: i})
+    }, n.r = function (e) {
+        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
+    }, n.t = function (e, t) {
+        if (1 & t && (e = n(e)), 8 & t) return e;
+        if (4 & t && "object" == typeof e && e && e.__esModule) return e;
+        var i = Object.create(null);
+        if (n.r(i), Object.defineProperty(i, "default", {
+            enumerable: !0,
+            value: e
+        }), 2 & t && "string" != typeof e) for (var a in e) n.d(i, a, function (t) {
+            return e[t]
+        }.bind(null, a));
+        return i
+    }, n.n = function (e) {
+        var t = e && e.__esModule ? function () {
+            return e.default
+        } : function () {
+            return e
+        };
+        return n.d(t, "a", t), t
+    }, n.o = function (e, t) {
+        return Object.prototype.hasOwnProperty.call(e, t)
+    }, n.p = "", n(n.s = 304)
+}([function (e, t, n) {
+    (function (e) {
+        e.exports = function () {
+            "use strict";
+            var t, i;
+
+            function a() {
+                return t.apply(null, arguments)
+            }
+
+            function r(e) {
+                t = e
+            }
+
+            function l(e) {
+                return e instanceof Array || "[object Array]" === Object.prototype.toString.call(e)
+            }
+
+            function o(e) {
+                return null != e && "[object Object]" === Object.prototype.toString.call(e)
+            }
+
+            function s(e, t) {
+                return Object.prototype.hasOwnProperty.call(e, t)
+            }
+
+            function d(e) {
+                if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length;
+                var t;
+                for (t in e) if (s(e, t)) return !1;
+                return !0
+            }
+
+            function u(e) {
+                return void 0 === e
+            }
+
+            function c(e) {
+                return "number" == typeof e || "[object Number]" === Object.prototype.toString.call(e)
+            }
+
+            function h(e) {
+                return e instanceof Date || "[object Date]" === Object.prototype.toString.call(e)
+            }
+
+            function m(e, t) {
+                var n, i = [];
+                for (n = 0; n < e.length; ++n) i.push(t(e[n], n));
+                return i
+            }
+
+            function f(e, t) {
+                for (var n in t) s(t, n) && (e[n] = t[n]);
+                return s(t, "toString") && (e.toString = t.toString), s(t, "valueOf") && (e.valueOf = t.valueOf), e
+            }
+
+            function _(e, t, n, i) {
+                return Gn(e, t, n, i, !0).utc()
+            }
+
+            function p() {
+                return {
+                    empty: !1,
+                    unusedTokens: [],
+                    unusedInput: [],
+                    overflow: -2,
+                    charsLeftOver: 0,
+                    nullInput: !1,
+                    invalidEra: null,
+                    invalidMonth: null,
+                    invalidFormat: !1,
+                    userInvalidated: !1,
+                    iso: !1,
+                    parsedDateParts: [],
+                    era: null,
+                    meridiem: null,
+                    rfc2822: !1,
+                    weekdayMismatch: !1
+                }
+            }
+
+            function g(e) {
+                return null == e._pf && (e._pf = p()), e._pf
+            }
+
+            function y(e) {
+                if (null == e._isValid) {
+                    var t = g(e), n = i.call(t.parsedDateParts, (function (e) {
+                            return null != e
+                        })),
+                        a = !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 && (a = a && 0 === t.charsLeftOver && 0 === t.unusedTokens.length && void 0 === t.bigHour), null != Object.isFrozen && Object.isFrozen(e)) return a;
+                    e._isValid = a
+                }
+                return e._isValid
+            }
+
+            function v(e) {
+                var t = _(NaN);
+                return null != e ? f(g(t), e) : g(t).userInvalidated = !0, t
+            }
+
+            i = Array.prototype.some ? Array.prototype.some : function (e) {
+                var t, n = Object(this), i = n.length >>> 0;
+                for (t = 0; t < i; t++) if (t in n && e.call(this, n[t], t, n)) return !0;
+                return !1
+            };
+            var M = a.momentProperties = [], b = !1;
+
+            function x(e, t) {
+                var n, i, a;
+                if (u(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), u(t._i) || (e._i = t._i), u(t._f) || (e._f = t._f), u(t._l) || (e._l = t._l), u(t._strict) || (e._strict = t._strict), u(t._tzm) || (e._tzm = t._tzm), u(t._isUTC) || (e._isUTC = t._isUTC), u(t._offset) || (e._offset = t._offset), u(t._pf) || (e._pf = g(t)), u(t._locale) || (e._locale = t._locale), M.length > 0) for (n = 0; n < M.length; n++) u(a = t[i = M[n]]) || (e[i] = a);
+                return e
+            }
+
+            function L(e) {
+                x(this, e), this._d = new Date(null != e._d ? e._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), !1 === b && (b = !0, a.updateOffset(this), b = !1)
+            }
+
+            function w(e) {
+                return e instanceof L || null != e && null != e._isAMomentObject
+            }
+
+            function k(e) {
+                !1 === a.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + e)
+            }
+
+            function Y(e, t) {
+                var n = !0;
+                return f((function () {
+                    if (null != a.deprecationHandler && a.deprecationHandler(null, e), n) {
+                        var i, r, l, o = [];
+                        for (r = 0; r < arguments.length; r++) {
+                            if (i = "", "object" == typeof arguments[r]) {
+                                for (l in i += "\n[" + r + "] ", arguments[0]) s(arguments[0], l) && (i += l + ": " + arguments[0][l] + ", ");
+                                i = i.slice(0, -2)
+                            } else i = arguments[r];
+                            o.push(i)
+                        }
+                        k(e + "\nArguments: " + Array.prototype.slice.call(o).join("") + "\n" + (new Error).stack), n = !1
+                    }
+                    return t.apply(this, arguments)
+                }), t)
+            }
+
+            var D, T = {};
+
+            function S(e, t) {
+                null != a.deprecationHandler && a.deprecationHandler(e, t), T[e] || (k(t), T[e] = !0)
+            }
+
+            function j(e) {
+                return "undefined" != typeof Function && e instanceof Function || "[object Function]" === Object.prototype.toString.call(e)
+            }
+
+            function E(e) {
+                var t, n;
+                for (n in e) s(e, n) && (j(t = e[n]) ? this[n] = t : this["_" + n] = t);
+                this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source)
+            }
+
+            function H(e, t) {
+                var n, i = f({}, e);
+                for (n in t) s(t, n) && (o(e[n]) && o(t[n]) ? (i[n] = {}, f(i[n], e[n]), f(i[n], t[n])) : null != t[n] ? i[n] = t[n] : delete i[n]);
+                for (n in e) s(e, n) && !s(t, n) && o(e[n]) && (i[n] = f({}, i[n]));
+                return i
+            }
+
+            function O(e) {
+                null != e && this.set(e)
+            }
+
+            a.suppressDeprecationWarnings = !1, a.deprecationHandler = null, D = Object.keys ? Object.keys : function (e) {
+                var t, n = [];
+                for (t in e) s(e, t) && n.push(t);
+                return n
+            };
+            var A = {
+                sameDay: "[Today at] LT",
+                nextDay: "[Tomorrow at] LT",
+                nextWeek: "dddd [at] LT",
+                lastDay: "[Yesterday at] LT",
+                lastWeek: "[Last] dddd [at] LT",
+                sameElse: "L"
+            };
+
+            function P(e, t, n) {
+                var i = this._calendar[e] || this._calendar.sameElse;
+                return j(i) ? i.call(t, n) : i
+            }
+
+            function C(e, t, n) {
+                var i = "" + Math.abs(e), a = t - i.length;
+                return (e >= 0 ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, a)).toString().substr(1) + i
+            }
+
+            var F = /(\[[^\[]*\])|(\\)?([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,
+                I = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, W = {}, N = {};
+
+            function z(e, t, n, i) {
+                var a = i;
+                "string" == typeof i && (a = function () {
+                    return this[i]()
+                }), e && (N[e] = a), t && (N[t[0]] = function () {
+                    return C(a.apply(this, arguments), t[1], t[2])
+                }), n && (N[n] = function () {
+                    return this.localeData().ordinal(a.apply(this, arguments), e)
+                })
+            }
+
+            function R(e) {
+                return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "")
+            }
+
+            function V(e) {
+                var t, n, i = e.match(F);
+                for (t = 0, n = i.length; t < n; t++) N[i[t]] ? i[t] = N[i[t]] : i[t] = R(i[t]);
+                return function (t) {
+                    var a, r = "";
+                    for (a = 0; a < n; a++) r += j(i[a]) ? i[a].call(t, e) : i[a];
+                    return r
+                }
+            }
+
+            function B(e, t) {
+                return e.isValid() ? (t = Z(t, e.localeData()), W[t] = W[t] || V(t), W[t](e)) : e.localeData().invalidDate()
+            }
+
+            function Z(e, t) {
+                var n = 5;
+
+                function i(e) {
+                    return t.longDateFormat(e) || e
+                }
+
+                for (I.lastIndex = 0; n >= 0 && I.test(e);) e = e.replace(I, i), I.lastIndex = 0, n -= 1;
+                return e
+            }
+
+            var U = {
+                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 J(e) {
+                var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()];
+                return t || !n ? t : (this._longDateFormat[e] = n.match(F).map((function (e) {
+                    return "MMMM" === e || "MM" === e || "DD" === e || "dddd" === e ? e.slice(1) : e
+                })).join(""), this._longDateFormat[e])
+            }
+
+            var G = "Invalid date";
+
+            function q() {
+                return this._invalidDate
+            }
+
+            var K = "%d", X = /\d{1,2}/;
+
+            function $(e) {
+                return this._ordinal.replace("%d", e)
+            }
+
+            var Q = {
+                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 ee(e, t, n, i) {
+                var a = this._relativeTime[n];
+                return j(a) ? a(e, t, n, i) : a.replace(/%d/i, e)
+            }
+
+            function te(e, t) {
+                var n = this._relativeTime[e > 0 ? "future" : "past"];
+                return j(n) ? n(t) : n.replace(/%s/i, t)
+            }
+
+            var ne = {};
+
+            function ie(e, t) {
+                var n = e.toLowerCase();
+                ne[n] = ne[n + "s"] = ne[t] = e
+            }
+
+            function ae(e) {
+                return "string" == typeof e ? ne[e] || ne[e.toLowerCase()] : void 0
+            }
+
+            function re(e) {
+                var t, n, i = {};
+                for (n in e) s(e, n) && (t = ae(n)) && (i[t] = e[n]);
+                return i
+            }
+
+            var le = {};
+
+            function oe(e, t) {
+                le[e] = t
+            }
+
+            function se(e) {
+                var t, n = [];
+                for (t in e) s(e, t) && n.push({unit: t, priority: le[t]});
+                return n.sort((function (e, t) {
+                    return e.priority - t.priority
+                })), n
+            }
+
+            function de(e) {
+                return e % 4 == 0 && e % 100 != 0 || e % 400 == 0
+            }
+
+            function ue(e) {
+                return e < 0 ? Math.ceil(e) || 0 : Math.floor(e)
+            }
+
+            function ce(e) {
+                var t = +e, n = 0;
+                return 0 !== t && isFinite(t) && (n = ue(t)), n
+            }
+
+            function he(e, t) {
+                return function (n) {
+                    return null != n ? (fe(this, e, n), a.updateOffset(this, t), this) : me(this, e)
+                }
+            }
+
+            function me(e, t) {
+                return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN
+            }
+
+            function fe(e, t, n) {
+                e.isValid() && !isNaN(n) && ("FullYear" === t && de(e.year()) && 1 === e.month() && 29 === e.date() ? (n = ce(n), e._d["set" + (e._isUTC ? "UTC" : "") + t](n, e.month(), et(n, e.month()))) : e._d["set" + (e._isUTC ? "UTC" : "") + t](n))
+            }
+
+            function _e(e) {
+                return j(this[e = ae(e)]) ? this[e]() : this
+            }
+
+            function pe(e, t) {
+                if ("object" == typeof e) {
+                    var n, i = se(e = re(e));
+                    for (n = 0; n < i.length; n++) this[i[n].unit](e[i[n].unit])
+                } else if (j(this[e = ae(e)])) return this[e](t);
+                return this
+            }
+
+            var ge, ye = /\d/, ve = /\d\d/, Me = /\d{3}/, be = /\d{4}/, xe = /[+-]?\d{6}/, Le = /\d\d?/,
+                we = /\d\d\d\d?/, ke = /\d\d\d\d\d\d?/, Ye = /\d{1,3}/, De = /\d{1,4}/, Te = /[+-]?\d{1,6}/, Se = /\d+/,
+                je = /[+-]?\d+/, Ee = /Z|[+-]\d\d:?\d\d/gi, He = /Z|[+-]\d\d(?::?\d\d)?/gi, Oe = /[+-]?\d+(\.\d{1,3})?/,
+                Ae = /[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;
+
+            function Pe(e, t, n) {
+                ge[e] = j(t) ? t : function (e, i) {
+                    return e && n ? n : t
+                }
+            }
+
+            function Ce(e, t) {
+                return s(ge, e) ? ge[e](t._strict, t._locale) : new RegExp(Fe(e))
+            }
+
+            function Fe(e) {
+                return Ie(e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, (function (e, t, n, i, a) {
+                    return t || n || i || a
+                })))
+            }
+
+            function Ie(e) {
+                return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&")
+            }
+
+            ge = {};
+            var We = {};
+
+            function Ne(e, t) {
+                var n, i = t;
+                for ("string" == typeof e && (e = [e]), c(t) && (i = function (e, n) {
+                    n[t] = ce(e)
+                }), n = 0; n < e.length; n++) We[e[n]] = i
+            }
+
+            function ze(e, t) {
+                Ne(e, (function (e, n, i, a) {
+                    i._w = i._w || {}, t(e, i._w, i, a)
+                }))
+            }
+
+            function Re(e, t, n) {
+                null != t && s(We, e) && We[e](t, n._a, n, e)
+            }
+
+            var Ve, Be = 0, Ze = 1, Ue = 2, Je = 3, Ge = 4, qe = 5, Ke = 6, Xe = 7, $e = 8;
+
+            function Qe(e, t) {
+                return (e % t + t) % t
+            }
+
+            function et(e, t) {
+                if (isNaN(e) || isNaN(t)) return NaN;
+                var n = Qe(t, 12);
+                return e += (t - n) / 12, 1 === n ? de(e) ? 29 : 28 : 31 - n % 7 % 2
+            }
+
+            Ve = Array.prototype.indexOf ? Array.prototype.indexOf : function (e) {
+                var t;
+                for (t = 0; t < this.length; ++t) if (this[t] === e) return t;
+                return -1
+            }, z("M", ["MM", 2], "Mo", (function () {
+                return this.month() + 1
+            })), z("MMM", 0, 0, (function (e) {
+                return this.localeData().monthsShort(this, e)
+            })), z("MMMM", 0, 0, (function (e) {
+                return this.localeData().months(this, e)
+            })), ie("month", "M"), oe("month", 8), Pe("M", Le), Pe("MM", Le, ve), Pe("MMM", (function (e, t) {
+                return t.monthsShortRegex(e)
+            })), Pe("MMMM", (function (e, t) {
+                return t.monthsRegex(e)
+            })), Ne(["M", "MM"], (function (e, t) {
+                t[Ze] = ce(e) - 1
+            })), Ne(["MMM", "MMMM"], (function (e, t, n, i) {
+                var a = n._locale.monthsParse(e, i, n._strict);
+                null != a ? t[Ze] = a : g(n).invalidMonth = e
+            }));
+            var tt = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
+                nt = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), it = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
+                at = Ae, rt = Ae;
+
+            function lt(e, t) {
+                return e ? l(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || it).test(t) ? "format" : "standalone"][e.month()] : l(this._months) ? this._months : this._months.standalone
+            }
+
+            function ot(e, t) {
+                return e ? l(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[it.test(t) ? "format" : "standalone"][e.month()] : l(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone
+            }
+
+            function st(e, t, n) {
+                var i, a, r, l = e.toLocaleLowerCase();
+                if (!this._monthsParse) for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], i = 0; i < 12; ++i) r = _([2e3, i]), this._shortMonthsParse[i] = this.monthsShort(r, "").toLocaleLowerCase(), this._longMonthsParse[i] = this.months(r, "").toLocaleLowerCase();
+                return n ? "MMM" === t ? -1 !== (a = Ve.call(this._shortMonthsParse, l)) ? a : null : -1 !== (a = Ve.call(this._longMonthsParse, l)) ? a : null : "MMM" === t ? -1 !== (a = Ve.call(this._shortMonthsParse, l)) || -1 !== (a = Ve.call(this._longMonthsParse, l)) ? a : null : -1 !== (a = Ve.call(this._longMonthsParse, l)) || -1 !== (a = Ve.call(this._shortMonthsParse, l)) ? a : null
+            }
+
+            function dt(e, t, n) {
+                var i, a, r;
+                if (this._monthsParseExact) return st.call(this, e, t, n);
+                for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), i = 0; i < 12; i++) {
+                    if (a = _([2e3, i]), n && !this._longMonthsParse[i] && (this._longMonthsParse[i] = new RegExp("^" + this.months(a, "").replace(".", "") + "$", "i"), this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(a, "").replace(".", "") + "$", "i")), n || this._monthsParse[i] || (r = "^" + this.months(a, "") + "|^" + this.monthsShort(a, ""), this._monthsParse[i] = new RegExp(r.replace(".", ""), "i")), n && "MMMM" === t && this._longMonthsParse[i].test(e)) return i;
+                    if (n && "MMM" === t && this._shortMonthsParse[i].test(e)) return i;
+                    if (!n && this._monthsParse[i].test(e)) return i
+                }
+            }
+
+            function ut(e, t) {
+                var n;
+                if (!e.isValid()) return e;
+                if ("string" == typeof t) if (/^\d+$/.test(t)) t = ce(t); else if (!c(t = e.localeData().monthsParse(t))) return e;
+                return n = Math.min(e.date(), et(e.year(), t)), e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n), e
+            }
+
+            function ct(e) {
+                return null != e ? (ut(this, e), a.updateOffset(this, !0), this) : me(this, "Month")
+            }
+
+            function ht() {
+                return et(this.year(), this.month())
+            }
+
+            function mt(e) {
+                return this._monthsParseExact ? (s(this, "_monthsRegex") || _t.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (s(this, "_monthsShortRegex") || (this._monthsShortRegex = at), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex)
+            }
+
+            function ft(e) {
+                return this._monthsParseExact ? (s(this, "_monthsRegex") || _t.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (s(this, "_monthsRegex") || (this._monthsRegex = rt), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex)
+            }
+
+            function _t() {
+                function e(e, t) {
+                    return t.length - e.length
+                }
+
+                var t, n, i = [], a = [], r = [];
+                for (t = 0; t < 12; t++) n = _([2e3, t]), i.push(this.monthsShort(n, "")), a.push(this.months(n, "")), r.push(this.months(n, "")), r.push(this.monthsShort(n, ""));
+                for (i.sort(e), a.sort(e), r.sort(e), t = 0; t < 12; t++) i[t] = Ie(i[t]), a[t] = Ie(a[t]);
+                for (t = 0; t < 24; t++) r[t] = Ie(r[t]);
+                this._monthsRegex = new RegExp("^(" + r.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + i.join("|") + ")", "i")
+            }
+
+            function pt(e) {
+                return de(e) ? 366 : 365
+            }
+
+            z("Y", 0, 0, (function () {
+                var e = this.year();
+                return e <= 9999 ? C(e, 4) : "+" + e
+            })), z(0, ["YY", 2], 0, (function () {
+                return this.year() % 100
+            })), z(0, ["YYYY", 4], 0, "year"), z(0, ["YYYYY", 5], 0, "year"), z(0, ["YYYYYY", 6, !0], 0, "year"), ie("year", "y"), oe("year", 1), Pe("Y", je), Pe("YY", Le, ve), Pe("YYYY", De, be), Pe("YYYYY", Te, xe), Pe("YYYYYY", Te, xe), Ne(["YYYYY", "YYYYYY"], Be), Ne("YYYY", (function (e, t) {
+                t[Be] = 2 === e.length ? a.parseTwoDigitYear(e) : ce(e)
+            })), Ne("YY", (function (e, t) {
+                t[Be] = a.parseTwoDigitYear(e)
+            })), Ne("Y", (function (e, t) {
+                t[Be] = parseInt(e, 10)
+            })), a.parseTwoDigitYear = function (e) {
+                return ce(e) + (ce(e) > 68 ? 1900 : 2e3)
+            };
+            var gt = he("FullYear", !0);
+
+            function yt() {
+                return de(this.year())
+            }
+
+            function vt(e, t, n, i, a, r, l) {
+                var o;
+                return e < 100 && e >= 0 ? (o = new Date(e + 400, t, n, i, a, r, l), isFinite(o.getFullYear()) && o.setFullYear(e)) : o = new Date(e, t, n, i, a, r, l), o
+            }
+
+            function Mt(e) {
+                var t, n;
+                return e < 100 && e >= 0 ? ((n = Array.prototype.slice.call(arguments))[0] = e + 400, t = new Date(Date.UTC.apply(null, n)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t
+            }
+
+            function bt(e, t, n) {
+                var i = 7 + t - n;
+                return -(7 + Mt(e, 0, i).getUTCDay() - t) % 7 + i - 1
+            }
+
+            function xt(e, t, n, i, a) {
+                var r, l, o = 1 + 7 * (t - 1) + (7 + n - i) % 7 + bt(e, i, a);
+                return o <= 0 ? l = pt(r = e - 1) + o : o > pt(e) ? (r = e + 1, l = o - pt(e)) : (r = e, l = o), {
+                    year: r,
+                    dayOfYear: l
+                }
+            }
+
+            function Lt(e, t, n) {
+                var i, a, r = bt(e.year(), t, n), l = Math.floor((e.dayOfYear() - r - 1) / 7) + 1;
+                return l < 1 ? i = l + wt(a = e.year() - 1, t, n) : l > wt(e.year(), t, n) ? (i = l - wt(e.year(), t, n), a = e.year() + 1) : (a = e.year(), i = l), {
+                    week: i,
+                    year: a
+                }
+            }
+
+            function wt(e, t, n) {
+                var i = bt(e, t, n), a = bt(e + 1, t, n);
+                return (pt(e) - i + a) / 7
+            }
+
+            function kt(e) {
+                return Lt(e, this._week.dow, this._week.doy).week
+            }
+
+            z("w", ["ww", 2], "wo", "week"), z("W", ["WW", 2], "Wo", "isoWeek"), ie("week", "w"), ie("isoWeek", "W"), oe("week", 5), oe("isoWeek", 5), Pe("w", Le), Pe("ww", Le, ve), Pe("W", Le), Pe("WW", Le, ve), ze(["w", "ww", "W", "WW"], (function (e, t, n, i) {
+                t[i.substr(0, 1)] = ce(e)
+            }));
+            var Yt = {dow: 0, doy: 6};
+
+            function Dt() {
+                return this._week.dow
+            }
+
+            function Tt() {
+                return this._week.doy
+            }
+
+            function St(e) {
+                var t = this.localeData().week(this);
+                return null == e ? t : this.add(7 * (e - t), "d")
+            }
+
+            function jt(e) {
+                var t = Lt(this, 1, 4).week;
+                return null == e ? t : this.add(7 * (e - t), "d")
+            }
+
+            function Et(e, t) {
+                return "string" != typeof e ? e : isNaN(e) ? "number" == typeof (e = t.weekdaysParse(e)) ? e : null : parseInt(e, 10)
+            }
+
+            function Ht(e, t) {
+                return "string" == typeof e ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e
+            }
+
+            function Ot(e, t) {
+                return e.slice(t, 7).concat(e.slice(0, t))
+            }
+
+            z("d", 0, "do", "day"), z("dd", 0, 0, (function (e) {
+                return this.localeData().weekdaysMin(this, e)
+            })), z("ddd", 0, 0, (function (e) {
+                return this.localeData().weekdaysShort(this, e)
+            })), z("dddd", 0, 0, (function (e) {
+                return this.localeData().weekdays(this, e)
+            })), z("e", 0, 0, "weekday"), z("E", 0, 0, "isoWeekday"), ie("day", "d"), ie("weekday", "e"), ie("isoWeekday", "E"), oe("day", 11), oe("weekday", 11), oe("isoWeekday", 11), Pe("d", Le), Pe("e", Le), Pe("E", Le), Pe("dd", (function (e, t) {
+                return t.weekdaysMinRegex(e)
+            })), Pe("ddd", (function (e, t) {
+                return t.weekdaysShortRegex(e)
+            })), Pe("dddd", (function (e, t) {
+                return t.weekdaysRegex(e)
+            })), ze(["dd", "ddd", "dddd"], (function (e, t, n, i) {
+                var a = n._locale.weekdaysParse(e, i, n._strict);
+                null != a ? t.d = a : g(n).invalidWeekday = e
+            })), ze(["d", "e", "E"], (function (e, t, n, i) {
+                t[i] = ce(e)
+            }));
+            var At = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
+                Pt = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Ct = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), Ft = Ae, It = Ae,
+                Wt = Ae;
+
+            function Nt(e, t) {
+                var n = l(this._weekdays) ? this._weekdays : this._weekdays[e && !0 !== e && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
+                return !0 === e ? Ot(n, this._week.dow) : e ? n[e.day()] : n
+            }
+
+            function zt(e) {
+                return !0 === e ? Ot(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort
+            }
+
+            function Rt(e) {
+                return !0 === e ? Ot(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin
+            }
+
+            function Vt(e, t, n) {
+                var i, a, r, l = e.toLocaleLowerCase();
+                if (!this._weekdaysParse) for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], i = 0; i < 7; ++i) r = _([2e3, 1]).day(i), this._minWeekdaysParse[i] = this.weekdaysMin(r, "").toLocaleLowerCase(), this._shortWeekdaysParse[i] = this.weekdaysShort(r, "").toLocaleLowerCase(), this._weekdaysParse[i] = this.weekdays(r, "").toLocaleLowerCase();
+                return n ? "dddd" === t ? -1 !== (a = Ve.call(this._weekdaysParse, l)) ? a : null : "ddd" === t ? -1 !== (a = Ve.call(this._shortWeekdaysParse, l)) ? a : null : -1 !== (a = Ve.call(this._minWeekdaysParse, l)) ? a : null : "dddd" === t ? -1 !== (a = Ve.call(this._weekdaysParse, l)) || -1 !== (a = Ve.call(this._shortWeekdaysParse, l)) || -1 !== (a = Ve.call(this._minWeekdaysParse, l)) ? a : null : "ddd" === t ? -1 !== (a = Ve.call(this._shortWeekdaysParse, l)) || -1 !== (a = Ve.call(this._weekdaysParse, l)) || -1 !== (a = Ve.call(this._minWeekdaysParse, l)) ? a : null : -1 !== (a = Ve.call(this._minWeekdaysParse, l)) || -1 !== (a = Ve.call(this._weekdaysParse, l)) || -1 !== (a = Ve.call(this._shortWeekdaysParse, l)) ? a : null
+            }
+
+            function Bt(e, t, n) {
+                var i, a, r;
+                if (this._weekdaysParseExact) return Vt.call(this, e, t, n);
+                for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), i = 0; i < 7; i++) {
+                    if (a = _([2e3, 1]).day(i), n && !this._fullWeekdaysParse[i] && (this._fullWeekdaysParse[i] = new RegExp("^" + this.weekdays(a, "").replace(".", "\\.?") + "$", "i"), this._shortWeekdaysParse[i] = new RegExp("^" + this.weekdaysShort(a, "").replace(".", "\\.?") + "$", "i"), this._minWeekdaysParse[i] = new RegExp("^" + this.weekdaysMin(a, "").replace(".", "\\.?") + "$", "i")), this._weekdaysParse[i] || (r = "^" + this.weekdays(a, "") + "|^" + this.weekdaysShort(a, "") + "|^" + this.weekdaysMin(a, ""), this._weekdaysParse[i] = new RegExp(r.replace(".", ""), "i")), n && "dddd" === t && this._fullWeekdaysParse[i].test(e)) return i;
+                    if (n && "ddd" === t && this._shortWeekdaysParse[i].test(e)) return i;
+                    if (n && "dd" === t && this._minWeekdaysParse[i].test(e)) return i;
+                    if (!n && this._weekdaysParse[i].test(e)) return i
+                }
+            }
+
+            function Zt(e) {
+                if (!this.isValid()) return null != e ? this : NaN;
+                var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+                return null != e ? (e = Et(e, this.localeData()), this.add(e - t, "d")) : t
+            }
+
+            function Ut(e) {
+                if (!this.isValid()) return null != e ? this : NaN;
+                var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
+                return null == e ? t : this.add(e - t, "d")
+            }
+
+            function Jt(e) {
+                if (!this.isValid()) return null != e ? this : NaN;
+                if (null != e) {
+                    var t = Ht(e, this.localeData());
+                    return this.day(this.day() % 7 ? t : t - 7)
+                }
+                return this.day() || 7
+            }
+
+            function Gt(e) {
+                return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || Xt.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (s(this, "_weekdaysRegex") || (this._weekdaysRegex = Ft), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex)
+            }
+
+            function qt(e) {
+                return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || Xt.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (s(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = It), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
+            }
+
+            function Kt(e) {
+                return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || Xt.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (s(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Wt), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
+            }
+
+            function Xt() {
+                function e(e, t) {
+                    return t.length - e.length
+                }
+
+                var t, n, i, a, r, l = [], o = [], s = [], d = [];
+                for (t = 0; t < 7; t++) n = _([2e3, 1]).day(t), i = Ie(this.weekdaysMin(n, "")), a = Ie(this.weekdaysShort(n, "")), r = Ie(this.weekdays(n, "")), l.push(i), o.push(a), s.push(r), d.push(i), d.push(a), d.push(r);
+                l.sort(e), o.sort(e), s.sort(e), d.sort(e), this._weekdaysRegex = new RegExp("^(" + d.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + o.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + l.join("|") + ")", "i")
+            }
+
+            function $t() {
+                return this.hours() % 12 || 12
+            }
+
+            function Qt() {
+                return this.hours() || 24
+            }
+
+            function en(e, t) {
+                z(e, 0, 0, (function () {
+                    return this.localeData().meridiem(this.hours(), this.minutes(), t)
+                }))
+            }
+
+            function tn(e, t) {
+                return t._meridiemParse
+            }
+
+            function nn(e) {
+                return "p" === (e + "").toLowerCase().charAt(0)
+            }
+
+            z("H", ["HH", 2], 0, "hour"), z("h", ["hh", 2], 0, $t), z("k", ["kk", 2], 0, Qt), z("hmm", 0, 0, (function () {
+                return "" + $t.apply(this) + C(this.minutes(), 2)
+            })), z("hmmss", 0, 0, (function () {
+                return "" + $t.apply(this) + C(this.minutes(), 2) + C(this.seconds(), 2)
+            })), z("Hmm", 0, 0, (function () {
+                return "" + this.hours() + C(this.minutes(), 2)
+            })), z("Hmmss", 0, 0, (function () {
+                return "" + this.hours() + C(this.minutes(), 2) + C(this.seconds(), 2)
+            })), en("a", !0), en("A", !1), ie("hour", "h"), oe("hour", 13), Pe("a", tn), Pe("A", tn), Pe("H", Le), Pe("h", Le), Pe("k", Le), Pe("HH", Le, ve), Pe("hh", Le, ve), Pe("kk", Le, ve), Pe("hmm", we), Pe("hmmss", ke), Pe("Hmm", we), Pe("Hmmss", ke), Ne(["H", "HH"], Je), Ne(["k", "kk"], (function (e, t, n) {
+                var i = ce(e);
+                t[Je] = 24 === i ? 0 : i
+            })), Ne(["a", "A"], (function (e, t, n) {
+                n._isPm = n._locale.isPM(e), n._meridiem = e
+            })), Ne(["h", "hh"], (function (e, t, n) {
+                t[Je] = ce(e), g(n).bigHour = !0
+            })), Ne("hmm", (function (e, t, n) {
+                var i = e.length - 2;
+                t[Je] = ce(e.substr(0, i)), t[Ge] = ce(e.substr(i)), g(n).bigHour = !0
+            })), Ne("hmmss", (function (e, t, n) {
+                var i = e.length - 4, a = e.length - 2;
+                t[Je] = ce(e.substr(0, i)), t[Ge] = ce(e.substr(i, 2)), t[qe] = ce(e.substr(a)), g(n).bigHour = !0
+            })), Ne("Hmm", (function (e, t, n) {
+                var i = e.length - 2;
+                t[Je] = ce(e.substr(0, i)), t[Ge] = ce(e.substr(i))
+            })), Ne("Hmmss", (function (e, t, n) {
+                var i = e.length - 4, a = e.length - 2;
+                t[Je] = ce(e.substr(0, i)), t[Ge] = ce(e.substr(i, 2)), t[qe] = ce(e.substr(a))
+            }));
+            var an = /[ap]\.?m?\.?/i, rn = he("Hours", !0);
+
+            function ln(e, t, n) {
+                return e > 11 ? n ? "pm" : "PM" : n ? "am" : "AM"
+            }
+
+            var on, sn = {
+                calendar: A,
+                longDateFormat: U,
+                invalidDate: G,
+                ordinal: K,
+                dayOfMonthOrdinalParse: X,
+                relativeTime: Q,
+                months: tt,
+                monthsShort: nt,
+                week: Yt,
+                weekdays: At,
+                weekdaysMin: Ct,
+                weekdaysShort: Pt,
+                meridiemParse: an
+            }, dn = {}, un = {};
+
+            function cn(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 hn(e) {
+                return e ? e.toLowerCase().replace("_", "-") : e
+            }
+
+            function mn(e) {
+                for (var t, n, i, a, r = 0; r < e.length;) {
+                    for (t = (a = hn(e[r]).split("-")).length, n = (n = hn(e[r + 1])) ? n.split("-") : null; t > 0;) {
+                        if (i = fn(a.slice(0, t).join("-"))) return i;
+                        if (n && n.length >= t && cn(a, n) >= t - 1) break;
+                        t--
+                    }
+                    r++
+                }
+                return on
+            }
+
+            function fn(t) {
+                var i = null;
+                if (void 0 === dn[t] && void 0 !== e && e && e.exports) try {
+                    i = on._abbr, n(255)("./" + t), _n(i)
+                } catch (e) {
+                    dn[t] = null
+                }
+                return dn[t]
+            }
+
+            function _n(e, t) {
+                var n;
+                return e && ((n = u(t) ? yn(e) : pn(e, t)) ? on = n : "undefined" != typeof console && console.warn && console.warn("Locale " + e + " not found. Did you forget to load it?")), on._abbr
+            }
+
+            function pn(e, t) {
+                if (null !== t) {
+                    var n, i = sn;
+                    if (t.abbr = e, null != dn[e]) S("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 = dn[e]._config; else if (null != t.parentLocale) if (null != dn[t.parentLocale]) i = dn[t.parentLocale]._config; else {
+                        if (null == (n = fn(t.parentLocale))) return un[t.parentLocale] || (un[t.parentLocale] = []), un[t.parentLocale].push({
+                            name: e,
+                            config: t
+                        }), null;
+                        i = n._config
+                    }
+                    return dn[e] = new O(H(i, t)), un[e] && un[e].forEach((function (e) {
+                        pn(e.name, e.config)
+                    })), _n(e), dn[e]
+                }
+                return delete dn[e], null
+            }
+
+            function gn(e, t) {
+                if (null != t) {
+                    var n, i, a = sn;
+                    null != dn[e] && null != dn[e].parentLocale ? dn[e].set(H(dn[e]._config, t)) : (null != (i = fn(e)) && (a = i._config), t = H(a, t), null == i && (t.abbr = e), (n = new O(t)).parentLocale = dn[e], dn[e] = n), _n(e)
+                } else null != dn[e] && (null != dn[e].parentLocale ? (dn[e] = dn[e].parentLocale, e === _n() && _n(e)) : null != dn[e] && delete dn[e]);
+                return dn[e]
+            }
+
+            function yn(e) {
+                var t;
+                if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) return on;
+                if (!l(e)) {
+                    if (t = fn(e)) return t;
+                    e = [e]
+                }
+                return mn(e)
+            }
+
+            function vn() {
+                return D(dn)
+            }
+
+            function Mn(e) {
+                var t, n = e._a;
+                return n && -2 === g(e).overflow && (t = n[Ze] < 0 || n[Ze] > 11 ? Ze : n[Ue] < 1 || n[Ue] > et(n[Be], n[Ze]) ? Ue : n[Je] < 0 || n[Je] > 24 || 24 === n[Je] && (0 !== n[Ge] || 0 !== n[qe] || 0 !== n[Ke]) ? Je : n[Ge] < 0 || n[Ge] > 59 ? Ge : n[qe] < 0 || n[qe] > 59 ? qe : n[Ke] < 0 || n[Ke] > 999 ? Ke : -1, g(e)._overflowDayOfYear && (t < Be || t > Ue) && (t = Ue), g(e)._overflowWeeks && -1 === t && (t = Xe), g(e)._overflowWeekday && -1 === t && (t = $e), g(e).overflow = t), e
+            }
+
+            var bn = /^\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)?)?$/,
+                xn = /^\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)?)?$/,
+                Ln = /Z|[+-]\d\d(?::?\d\d)?/,
+                wn = [["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/, !1], ["YYYY-DDD", /\d{4}-\d{3}/], ["YYYY-MM", /\d{4}-\d\d/, !1], ["YYYYYYMMDD", /[+-]\d{10}/], ["YYYYMMDD", /\d{8}/], ["GGGG[W]WWE", /\d{4}W\d{3}/], ["GGGG[W]WW", /\d{4}W\d{2}/, !1], ["YYYYDDD", /\d{7}/], ["YYYYMM", /\d{6}/, !1], ["YYYY", /\d{4}/, !1]],
+                kn = [["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/]],
+                Yn = /^\/?Date\((-?\d+)/i,
+                Dn = /^(?:(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}))$/,
+                Tn = {
+                    UT: 0,
+                    GMT: 0,
+                    EDT: -240,
+                    EST: -300,
+                    CDT: -300,
+                    CST: -360,
+                    MDT: -360,
+                    MST: -420,
+                    PDT: -420,
+                    PST: -480
+                };
+
+            function Sn(e) {
+                var t, n, i, a, r, l, o = e._i, s = bn.exec(o) || xn.exec(o);
+                if (s) {
+                    for (g(e).iso = !0, t = 0, n = wn.length; t < n; t++) if (wn[t][1].exec(s[1])) {
+                        a = wn[t][0], i = !1 !== wn[t][2];
+                        break
+                    }
+                    if (null == a) return void (e._isValid = !1);
+                    if (s[3]) {
+                        for (t = 0, n = kn.length; t < n; t++) if (kn[t][1].exec(s[3])) {
+                            r = (s[2] || " ") + kn[t][0];
+                            break
+                        }
+                        if (null == r) return void (e._isValid = !1)
+                    }
+                    if (!i && null != r) return void (e._isValid = !1);
+                    if (s[4]) {
+                        if (!Ln.exec(s[4])) return void (e._isValid = !1);
+                        l = "Z"
+                    }
+                    e._f = a + (r || "") + (l || ""), zn(e)
+                } else e._isValid = !1
+            }
+
+            function jn(e, t, n, i, a, r) {
+                var l = [En(e), nt.indexOf(t), parseInt(n, 10), parseInt(i, 10), parseInt(a, 10)];
+                return r && l.push(parseInt(r, 10)), l
+            }
+
+            function En(e) {
+                var t = parseInt(e, 10);
+                return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t
+            }
+
+            function Hn(e) {
+                return e.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "")
+            }
+
+            function On(e, t, n) {
+                return !e || Pt.indexOf(e) === new Date(t[0], t[1], t[2]).getDay() || (g(n).weekdayMismatch = !0, n._isValid = !1, !1)
+            }
+
+            function An(e, t, n) {
+                if (e) return Tn[e];
+                if (t) return 0;
+                var i = parseInt(n, 10), a = i % 100;
+                return (i - a) / 100 * 60 + a
+            }
+
+            function Pn(e) {
+                var t, n = Dn.exec(Hn(e._i));
+                if (n) {
+                    if (t = jn(n[4], n[3], n[2], n[5], n[6], n[7]), !On(n[1], t, e)) return;
+                    e._a = t, e._tzm = An(n[8], n[9], n[10]), e._d = Mt.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), g(e).rfc2822 = !0
+                } else e._isValid = !1
+            }
+
+            function Cn(e) {
+                var t = Yn.exec(e._i);
+                null === t ? (Sn(e), !1 === e._isValid && (delete e._isValid, Pn(e), !1 === e._isValid && (delete e._isValid, e._strict ? e._isValid = !1 : a.createFromInputFallback(e)))) : e._d = new Date(+t[1])
+            }
+
+            function Fn(e, t, n) {
+                return null != e ? e : null != t ? t : n
+            }
+
+            function In(e) {
+                var t = new Date(a.now());
+                return e._useUTC ? [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()] : [t.getFullYear(), t.getMonth(), t.getDate()]
+            }
+
+            function Wn(e) {
+                var t, n, i, a, r, l = [];
+                if (!e._d) {
+                    for (i = In(e), e._w && null == e._a[Ue] && null == e._a[Ze] && Nn(e), null != e._dayOfYear && (r = Fn(e._a[Be], i[Be]), (e._dayOfYear > pt(r) || 0 === e._dayOfYear) && (g(e)._overflowDayOfYear = !0), n = Mt(r, 0, e._dayOfYear), e._a[Ze] = n.getUTCMonth(), e._a[Ue] = n.getUTCDate()), t = 0; t < 3 && null == e._a[t]; ++t) e._a[t] = l[t] = i[t];
+                    for (; t < 7; t++) e._a[t] = l[t] = null == e._a[t] ? 2 === t ? 1 : 0 : e._a[t];
+                    24 === e._a[Je] && 0 === e._a[Ge] && 0 === e._a[qe] && 0 === e._a[Ke] && (e._nextDay = !0, e._a[Je] = 0), e._d = (e._useUTC ? Mt : vt).apply(null, l), a = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[Je] = 24), e._w && void 0 !== e._w.d && e._w.d !== a && (g(e).weekdayMismatch = !0)
+                }
+            }
+
+            function Nn(e) {
+                var t, n, i, a, r, l, o, s, d;
+                null != (t = e._w).GG || null != t.W || null != t.E ? (r = 1, l = 4, n = Fn(t.GG, e._a[Be], Lt(qn(), 1, 4).year), i = Fn(t.W, 1), ((a = Fn(t.E, 1)) < 1 || a > 7) && (s = !0)) : (r = e._locale._week.dow, l = e._locale._week.doy, d = Lt(qn(), r, l), n = Fn(t.gg, e._a[Be], d.year), i = Fn(t.w, d.week), null != t.d ? ((a = t.d) < 0 || a > 6) && (s = !0) : null != t.e ? (a = t.e + r, (t.e < 0 || t.e > 6) && (s = !0)) : a = r), i < 1 || i > wt(n, r, l) ? g(e)._overflowWeeks = !0 : null != s ? g(e)._overflowWeekday = !0 : (o = xt(n, i, a, r, l), e._a[Be] = o.year, e._dayOfYear = o.dayOfYear)
+            }
+
+            function zn(e) {
+                if (e._f !== a.ISO_8601) if (e._f !== a.RFC_2822) {
+                    e._a = [], g(e).empty = !0;
+                    var t, n, i, r, l, o, s = "" + e._i, d = s.length, u = 0;
+                    for (i = Z(e._f, e._locale).match(F) || [], t = 0; t < i.length; t++) r = i[t], (n = (s.match(Ce(r, e)) || [])[0]) && ((l = s.substr(0, s.indexOf(n))).length > 0 && g(e).unusedInput.push(l), s = s.slice(s.indexOf(n) + n.length), u += n.length), N[r] ? (n ? g(e).empty = !1 : g(e).unusedTokens.push(r), Re(r, n, e)) : e._strict && !n && g(e).unusedTokens.push(r);
+                    g(e).charsLeftOver = d - u, s.length > 0 && g(e).unusedInput.push(s), e._a[Je] <= 12 && !0 === g(e).bigHour && e._a[Je] > 0 && (g(e).bigHour = void 0), g(e).parsedDateParts = e._a.slice(0), g(e).meridiem = e._meridiem, e._a[Je] = Rn(e._locale, e._a[Je], e._meridiem), null !== (o = g(e).era) && (e._a[Be] = e._locale.erasConvertYear(o, e._a[Be])), Wn(e), Mn(e)
+                } else Pn(e); else Sn(e)
+            }
+
+            function Rn(e, t, n) {
+                var i;
+                return null == n ? t : null != e.meridiemHour ? e.meridiemHour(t, n) : null != e.isPM ? ((i = e.isPM(n)) && t < 12 && (t += 12), i || 12 !== t || (t = 0), t) : t
+            }
+
+            function Vn(e) {
+                var t, n, i, a, r, l, o = !1;
+                if (0 === e._f.length) return g(e).invalidFormat = !0, void (e._d = new Date(NaN));
+                for (a = 0; a < e._f.length; a++) r = 0, l = !1, t = x({}, e), null != e._useUTC && (t._useUTC = e._useUTC), t._f = e._f[a], zn(t), y(t) && (l = !0), r += g(t).charsLeftOver, r += 10 * g(t).unusedTokens.length, g(t).score = r, o ? r < i && (i = r, n = t) : (null == i || r < i || l) && (i = r, n = t, l && (o = !0));
+                f(e, n || t)
+            }
+
+            function Bn(e) {
+                if (!e._d) {
+                    var t = re(e._i), n = void 0 === t.day ? t.date : t.day;
+                    e._a = m([t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond], (function (e) {
+                        return e && parseInt(e, 10)
+                    })), Wn(e)
+                }
+            }
+
+            function Zn(e) {
+                var t = new L(Mn(Un(e)));
+                return t._nextDay && (t.add(1, "d"), t._nextDay = void 0), t
+            }
+
+            function Un(e) {
+                var t = e._i, n = e._f;
+                return e._locale = e._locale || yn(e._l), null === t || void 0 === n && "" === t ? v({nullInput: !0}) : ("string" == typeof t && (e._i = t = e._locale.preparse(t)), w(t) ? new L(Mn(t)) : (h(t) ? e._d = t : l(n) ? Vn(e) : n ? zn(e) : Jn(e), y(e) || (e._d = null), e))
+            }
+
+            function Jn(e) {
+                var t = e._i;
+                u(t) ? e._d = new Date(a.now()) : h(t) ? e._d = new Date(t.valueOf()) : "string" == typeof t ? Cn(e) : l(t) ? (e._a = m(t.slice(0), (function (e) {
+                    return parseInt(e, 10)
+                })), Wn(e)) : o(t) ? Bn(e) : c(t) ? e._d = new Date(t) : a.createFromInputFallback(e)
+            }
+
+            function Gn(e, t, n, i, a) {
+                var r = {};
+                return !0 !== t && !1 !== t || (i = t, t = void 0), !0 !== n && !1 !== n || (i = n, n = void 0), (o(e) && d(e) || l(e) && 0 === e.length) && (e = void 0), r._isAMomentObject = !0, r._useUTC = r._isUTC = a, r._l = n, r._i = e, r._f = t, r._strict = i, Zn(r)
+            }
+
+            function qn(e, t, n, i) {
+                return Gn(e, t, n, i, !1)
+            }
+
+            a.createFromInputFallback = Y("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" : ""))
+            })), a.ISO_8601 = function () {
+            }, a.RFC_2822 = function () {
+            };
+            var Kn = Y("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", (function () {
+                    var e = qn.apply(null, arguments);
+                    return this.isValid() && e.isValid() ? e < this ? this : e : v()
+                })),
+                Xn = Y("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", (function () {
+                    var e = qn.apply(null, arguments);
+                    return this.isValid() && e.isValid() ? e > this ? this : e : v()
+                }));
+
+            function $n(e, t) {
+                var n, i;
+                if (1 === t.length && l(t[0]) && (t = t[0]), !t.length) return qn();
+                for (n = t[0], i = 1; i < t.length; ++i) t[i].isValid() && !t[i][e](n) || (n = t[i]);
+                return n
+            }
+
+            function Qn() {
+                return $n("isBefore", [].slice.call(arguments, 0))
+            }
+
+            function ei() {
+                return $n("isAfter", [].slice.call(arguments, 0))
+            }
+
+            var ti = function () {
+                return Date.now ? Date.now() : +new Date
+            }, ni = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"];
+
+            function ii(e) {
+                var t, n, i = !1;
+                for (t in e) if (s(e, t) && (-1 === Ve.call(ni, t) || null != e[t] && isNaN(e[t]))) return !1;
+                for (n = 0; n < ni.length; ++n) if (e[ni[n]]) {
+                    if (i) return !1;
+                    parseFloat(e[ni[n]]) !== ce(e[ni[n]]) && (i = !0)
+                }
+                return !0
+            }
+
+            function ai() {
+                return this._isValid
+            }
+
+            function ri() {
+                return Ti(NaN)
+            }
+
+            function li(e) {
+                var t = re(e), n = t.year || 0, i = t.quarter || 0, a = t.month || 0, r = t.week || t.isoWeek || 0,
+                    l = t.day || 0, o = t.hour || 0, s = t.minute || 0, d = t.second || 0, u = t.millisecond || 0;
+                this._isValid = ii(t), this._milliseconds = +u + 1e3 * d + 6e4 * s + 1e3 * o * 60 * 60, this._days = +l + 7 * r, this._months = +a + 3 * i + 12 * n, this._data = {}, this._locale = yn(), this._bubble()
+            }
+
+            function oi(e) {
+                return e instanceof li
+            }
+
+            function si(e) {
+                return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e)
+            }
+
+            function di(e, t, n) {
+                var i, a = Math.min(e.length, t.length), r = Math.abs(e.length - t.length), l = 0;
+                for (i = 0; i < a; i++) (n && e[i] !== t[i] || !n && ce(e[i]) !== ce(t[i])) && l++;
+                return l + r
+            }
+
+            function ui(e, t) {
+                z(e, 0, 0, (function () {
+                    var e = this.utcOffset(), n = "+";
+                    return e < 0 && (e = -e, n = "-"), n + C(~~(e / 60), 2) + t + C(~~e % 60, 2)
+                }))
+            }
+
+            ui("Z", ":"), ui("ZZ", ""), Pe("Z", He), Pe("ZZ", He), Ne(["Z", "ZZ"], (function (e, t, n) {
+                n._useUTC = !0, n._tzm = hi(He, e)
+            }));
+            var ci = /([\+\-]|\d\d)/gi;
+
+            function hi(e, t) {
+                var n, i, a = (t || "").match(e);
+                return null === a ? null : 0 === (i = 60 * (n = ((a[a.length - 1] || []) + "").match(ci) || ["-", 0, 0])[1] + ce(n[2])) ? 0 : "+" === n[0] ? i : -i
+            }
+
+            function mi(e, t) {
+                var n, i;
+                return t._isUTC ? (n = t.clone(), i = (w(e) || h(e) ? e.valueOf() : qn(e).valueOf()) - n.valueOf(), n._d.setTime(n._d.valueOf() + i), a.updateOffset(n, !1), n) : qn(e).local()
+            }
+
+            function fi(e) {
+                return -Math.round(e._d.getTimezoneOffset())
+            }
+
+            function _i(e, t, n) {
+                var i, r = this._offset || 0;
+                if (!this.isValid()) return null != e ? this : NaN;
+                if (null != e) {
+                    if ("string" == typeof e) {
+                        if (null === (e = hi(He, e))) return this
+                    } else Math.abs(e) < 16 && !n && (e *= 60);
+                    return !this._isUTC && t && (i = fi(this)), this._offset = e, this._isUTC = !0, null != i && this.add(i, "m"), r !== e && (!t || this._changeInProgress ? Oi(this, Ti(e - r, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, a.updateOffset(this, !0), this._changeInProgress = null)), this
+                }
+                return this._isUTC ? r : fi(this)
+            }
+
+            function pi(e, t) {
+                return null != e ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset()
+            }
+
+            function gi(e) {
+                return this.utcOffset(0, e)
+            }
+
+            function yi(e) {
+                return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(fi(this), "m")), this
+            }
+
+            function vi() {
+                if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); else if ("string" == typeof this._i) {
+                    var e = hi(Ee, this._i);
+                    null != e ? this.utcOffset(e) : this.utcOffset(0, !0)
+                }
+                return this
+            }
+
+            function Mi(e) {
+                return !!this.isValid() && (e = e ? qn(e).utcOffset() : 0, (this.utcOffset() - e) % 60 == 0)
+            }
+
+            function bi() {
+                return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset()
+            }
+
+            function xi() {
+                if (!u(this._isDSTShifted)) return this._isDSTShifted;
+                var e, t = {};
+                return x(t, this), (t = Un(t))._a ? (e = t._isUTC ? _(t._a) : qn(t._a), this._isDSTShifted = this.isValid() && di(t._a, e.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted
+            }
+
+            function Li() {
+                return !!this.isValid() && !this._isUTC
+            }
+
+            function wi() {
+                return !!this.isValid() && this._isUTC
+            }
+
+            function ki() {
+                return !!this.isValid() && this._isUTC && 0 === this._offset
+            }
+
+            a.updateOffset = function () {
+            };
+            var Yi = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
+                Di = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+
+            function Ti(e, t) {
+                var n, i, a, r = e, l = null;
+                return oi(e) ? r = {
+                    ms: e._milliseconds,
+                    d: e._days,
+                    M: e._months
+                } : c(e) || !isNaN(+e) ? (r = {}, t ? r[t] = +e : r.milliseconds = +e) : (l = Yi.exec(e)) ? (n = "-" === l[1] ? -1 : 1, r = {
+                    y: 0,
+                    d: ce(l[Ue]) * n,
+                    h: ce(l[Je]) * n,
+                    m: ce(l[Ge]) * n,
+                    s: ce(l[qe]) * n,
+                    ms: ce(si(1e3 * l[Ke])) * n
+                }) : (l = Di.exec(e)) ? (n = "-" === l[1] ? -1 : 1, r = {
+                    y: Si(l[2], n),
+                    M: Si(l[3], n),
+                    w: Si(l[4], n),
+                    d: Si(l[5], n),
+                    h: Si(l[6], n),
+                    m: Si(l[7], n),
+                    s: Si(l[8], n)
+                }) : null == r ? r = {} : "object" == typeof r && ("from" in r || "to" in r) && (a = Ei(qn(r.from), qn(r.to)), (r = {}).ms = a.milliseconds, r.M = a.months), i = new li(r), oi(e) && s(e, "_locale") && (i._locale = e._locale), oi(e) && s(e, "_isValid") && (i._isValid = e._isValid), i
+            }
+
+            function Si(e, t) {
+                var n = e && parseFloat(e.replace(",", "."));
+                return (isNaN(n) ? 0 : n) * t
+            }
+
+            function ji(e, t) {
+                var n = {};
+                return n.months = t.month() - e.month() + 12 * (t.year() - e.year()), e.clone().add(n.months, "M").isAfter(t) && --n.months, n.milliseconds = +t - +e.clone().add(n.months, "M"), n
+            }
+
+            function Ei(e, t) {
+                var n;
+                return e.isValid() && t.isValid() ? (t = mi(t, e), e.isBefore(t) ? n = ji(e, t) : ((n = ji(t, e)).milliseconds = -n.milliseconds, n.months = -n.months), n) : {
+                    milliseconds: 0,
+                    months: 0
+                }
+            }
+
+            function Hi(e, t) {
+                return function (n, i) {
+                    var a;
+                    return null === i || isNaN(+i) || (S(t, "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), a = n, n = i, i = a), Oi(this, Ti(n, i), e), this
+                }
+            }
+
+            function Oi(e, t, n, i) {
+                var r = t._milliseconds, l = si(t._days), o = si(t._months);
+                e.isValid() && (i = null == i || i, o && ut(e, me(e, "Month") + o * n), l && fe(e, "Date", me(e, "Date") + l * n), r && e._d.setTime(e._d.valueOf() + r * n), i && a.updateOffset(e, l || o))
+            }
+
+            Ti.fn = li.prototype, Ti.invalid = ri;
+            var Ai = Hi(1, "add"), Pi = Hi(-1, "subtract");
+
+            function Ci(e) {
+                return "string" == typeof e || e instanceof String
+            }
+
+            function Fi(e) {
+                return w(e) || h(e) || Ci(e) || c(e) || Wi(e) || Ii(e) || null == e
+            }
+
+            function Ii(e) {
+                var t, n, i = o(e) && !d(e), a = !1,
+                    r = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"];
+                for (t = 0; t < r.length; t += 1) n = r[t], a = a || s(e, n);
+                return i && a
+            }
+
+            function Wi(e) {
+                var t = l(e), n = !1;
+                return t && (n = 0 === e.filter((function (t) {
+                    return !c(t) && Ci(e)
+                })).length), t && n
+            }
+
+            function Ni(e) {
+                var t, n, i = o(e) && !d(e), a = !1,
+                    r = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"];
+                for (t = 0; t < r.length; t += 1) n = r[t], a = a || s(e, n);
+                return i && a
+            }
+
+            function zi(e, t) {
+                var n = e.diff(t, "days", !0);
+                return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse"
+            }
+
+            function Ri(e, t) {
+                1 === arguments.length && (arguments[0] ? Fi(arguments[0]) ? (e = arguments[0], t = void 0) : Ni(arguments[0]) && (t = arguments[0], e = void 0) : (e = void 0, t = void 0));
+                var n = e || qn(), i = mi(n, this).startOf("day"), r = a.calendarFormat(this, i) || "sameElse",
+                    l = t && (j(t[r]) ? t[r].call(this, n) : t[r]);
+                return this.format(l || this.localeData().calendar(r, this, qn(n)))
+            }
+
+            function Vi() {
+                return new L(this)
+            }
+
+            function Bi(e, t) {
+                var n = w(e) ? e : qn(e);
+                return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = ae(t) || "millisecond") ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf())
+            }
+
+            function Zi(e, t) {
+                var n = w(e) ? e : qn(e);
+                return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = ae(t) || "millisecond") ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf())
+            }
+
+            function Ui(e, t, n, i) {
+                var a = w(e) ? e : qn(e), r = w(t) ? t : qn(t);
+                return !!(this.isValid() && a.isValid() && r.isValid()) && ("(" === (i = i || "()")[0] ? this.isAfter(a, n) : !this.isBefore(a, n)) && (")" === i[1] ? this.isBefore(r, n) : !this.isAfter(r, n))
+            }
+
+            function Ji(e, t) {
+                var n, i = w(e) ? e : qn(e);
+                return !(!this.isValid() || !i.isValid()) && ("millisecond" === (t = ae(t) || "millisecond") ? this.valueOf() === i.valueOf() : (n = i.valueOf(), this.clone().startOf(t).valueOf() <= n && n <= this.clone().endOf(t).valueOf()))
+            }
+
+            function Gi(e, t) {
+                return this.isSame(e, t) || this.isAfter(e, t)
+            }
+
+            function qi(e, t) {
+                return this.isSame(e, t) || this.isBefore(e, t)
+            }
+
+            function Ki(e, t, n) {
+                var i, a, r;
+                if (!this.isValid()) return NaN;
+                if (!(i = mi(e, this)).isValid()) return NaN;
+                switch (a = 6e4 * (i.utcOffset() - this.utcOffset()), t = ae(t)) {
+                    case"year":
+                        r = Xi(this, i) / 12;
+                        break;
+                    case"month":
+                        r = Xi(this, i);
+                        break;
+                    case"quarter":
+                        r = Xi(this, i) / 3;
+                        break;
+                    case"second":
+                        r = (this - i) / 1e3;
+                        break;
+                    case"minute":
+                        r = (this - i) / 6e4;
+                        break;
+                    case"hour":
+                        r = (this - i) / 36e5;
+                        break;
+                    case"day":
+                        r = (this - i - a) / 864e5;
+                        break;
+                    case"week":
+                        r = (this - i - a) / 6048e5;
+                        break;
+                    default:
+                        r = this - i
+                }
+                return n ? r : ue(r)
+            }
+
+            function Xi(e, t) {
+                if (e.date() < t.date()) return -Xi(t, e);
+                var n = 12 * (t.year() - e.year()) + (t.month() - e.month()), i = e.clone().add(n, "months");
+                return -(n + (t - i < 0 ? (t - i) / (i - e.clone().add(n - 1, "months")) : (t - i) / (e.clone().add(n + 1, "months") - i))) || 0
+            }
+
+            function $i() {
+                return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")
+            }
+
+            function Qi(e) {
+                if (!this.isValid()) return null;
+                var t = !0 !== e, n = t ? this.clone().utc() : this;
+                return n.year() < 0 || n.year() > 9999 ? B(n, t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ") : j(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", B(n, "Z")) : B(n, t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ")
+            }
+
+            function ea() {
+                if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
+                var e, t, n, i, a = "moment", r = "";
+                return this.isLocal() || (a = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone", r = "Z"), e = "[" + a + '("]', t = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", n = "-MM-DD[T]HH:mm:ss.SSS", i = r + '[")]', this.format(e + t + n + i)
+            }
+
+            function ta(e) {
+                e || (e = this.isUtc() ? a.defaultFormatUtc : a.defaultFormat);
+                var t = B(this, e);
+                return this.localeData().postformat(t)
+            }
+
+            function na(e, t) {
+                return this.isValid() && (w(e) && e.isValid() || qn(e).isValid()) ? Ti({
+                    to: this,
+                    from: e
+                }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate()
+            }
+
+            function ia(e) {
+                return this.from(qn(), e)
+            }
+
+            function aa(e, t) {
+                return this.isValid() && (w(e) && e.isValid() || qn(e).isValid()) ? Ti({
+                    from: this,
+                    to: e
+                }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate()
+            }
+
+            function ra(e) {
+                return this.to(qn(), e)
+            }
+
+            function la(e) {
+                var t;
+                return void 0 === e ? this._locale._abbr : (null != (t = yn(e)) && (this._locale = t), this)
+            }
+
+            a.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", a.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
+            var oa = Y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", (function (e) {
+                return void 0 === e ? this.localeData() : this.locale(e)
+            }));
+
+            function sa() {
+                return this._locale
+            }
+
+            var da = 1e3, ua = 60 * da, ca = 60 * ua, ha = 3506328 * ca;
+
+            function ma(e, t) {
+                return (e % t + t) % t
+            }
+
+            function fa(e, t, n) {
+                return e < 100 && e >= 0 ? new Date(e + 400, t, n) - ha : new Date(e, t, n).valueOf()
+            }
+
+            function _a(e, t, n) {
+                return e < 100 && e >= 0 ? Date.UTC(e + 400, t, n) - ha : Date.UTC(e, t, n)
+            }
+
+            function pa(e) {
+                var t, n;
+                if (void 0 === (e = ae(e)) || "millisecond" === e || !this.isValid()) return this;
+                switch (n = this._isUTC ? _a : fa, 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 -= ma(t + (this._isUTC ? 0 : this.utcOffset() * ua), ca);
+                        break;
+                    case"minute":
+                        t = this._d.valueOf(), t -= ma(t, ua);
+                        break;
+                    case"second":
+                        t = this._d.valueOf(), t -= ma(t, da)
+                }
+                return this._d.setTime(t), a.updateOffset(this, !0), this
+            }
+
+            function ga(e) {
+                var t, n;
+                if (void 0 === (e = ae(e)) || "millisecond" === e || !this.isValid()) return this;
+                switch (n = this._isUTC ? _a : fa, 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 += ca - ma(t + (this._isUTC ? 0 : this.utcOffset() * ua), ca) - 1;
+                        break;
+                    case"minute":
+                        t = this._d.valueOf(), t += ua - ma(t, ua) - 1;
+                        break;
+                    case"second":
+                        t = this._d.valueOf(), t += da - ma(t, da) - 1
+                }
+                return this._d.setTime(t), a.updateOffset(this, !0), this
+            }
+
+            function ya() {
+                return this._d.valueOf() - 6e4 * (this._offset || 0)
+            }
+
+            function va() {
+                return Math.floor(this.valueOf() / 1e3)
+            }
+
+            function Ma() {
+                return new Date(this.valueOf())
+            }
+
+            function ba() {
+                var e = this;
+                return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]
+            }
+
+            function xa() {
+                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 La() {
+                return this.isValid() ? this.toISOString() : null
+            }
+
+            function wa() {
+                return y(this)
+            }
+
+            function ka() {
+                return f({}, g(this))
+            }
+
+            function Ya() {
+                return g(this).overflow
+            }
+
+            function Da() {
+                return {input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict}
+            }
+
+            function Ta(e, t) {
+                var n, i, r, l = this._eras || yn("en")._eras;
+                for (n = 0, i = l.length; n < i; ++n) {
+                    switch (typeof l[n].since) {
+                        case"string":
+                            r = a(l[n].since).startOf("day"), l[n].since = r.valueOf()
+                    }
+                    switch (typeof l[n].until) {
+                        case"undefined":
+                            l[n].until = 1 / 0;
+                            break;
+                        case"string":
+                            r = a(l[n].until).startOf("day").valueOf(), l[n].until = r.valueOf()
+                    }
+                }
+                return l
+            }
+
+            function Sa(e, t, n) {
+                var i, a, r, l, o, s = this.eras();
+                for (e = e.toUpperCase(), i = 0, a = s.length; i < a; ++i) if (r = s[i].name.toUpperCase(), l = s[i].abbr.toUpperCase(), o = s[i].narrow.toUpperCase(), n) switch (t) {
+                    case"N":
+                    case"NN":
+                    case"NNN":
+                        if (l === e) return s[i];
+                        break;
+                    case"NNNN":
+                        if (r === e) return s[i];
+                        break;
+                    case"NNNNN":
+                        if (o === e) return s[i]
+                } else if ([r, l, o].indexOf(e) >= 0) return s[i]
+            }
+
+            function ja(e, t) {
+                var n = e.since <= e.until ? 1 : -1;
+                return void 0 === t ? a(e.since).year() : a(e.since).year() + (t - e.offset) * n
+            }
+
+            function Ea() {
+                var e, t, n, i = this.localeData().eras();
+                for (e = 0, t = i.length; e < t; ++e) {
+                    if (n = this.clone().startOf("day").valueOf(), 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 Ha() {
+                var e, t, n, i = this.localeData().eras();
+                for (e = 0, t = i.length; e < t; ++e) {
+                    if (n = this.clone().startOf("day").valueOf(), 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 Oa() {
+                var e, t, n, i = this.localeData().eras();
+                for (e = 0, t = i.length; e < t; ++e) {
+                    if (n = this.clone().startOf("day").valueOf(), 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 Aa() {
+                var e, t, n, i, r = this.localeData().eras();
+                for (e = 0, t = r.length; e < t; ++e) if (n = r[e].since <= r[e].until ? 1 : -1, i = this.clone().startOf("day").valueOf(), r[e].since <= i && i <= r[e].until || r[e].until <= i && i <= r[e].since) return (this.year() - a(r[e].since).year()) * n + r[e].offset;
+                return this.year()
+            }
+
+            function Pa(e) {
+                return s(this, "_erasNameRegex") || Ra.call(this), e ? this._erasNameRegex : this._erasRegex
+            }
+
+            function Ca(e) {
+                return s(this, "_erasAbbrRegex") || Ra.call(this), e ? this._erasAbbrRegex : this._erasRegex
+            }
+
+            function Fa(e) {
+                return s(this, "_erasNarrowRegex") || Ra.call(this), e ? this._erasNarrowRegex : this._erasRegex
+            }
+
+            function Ia(e, t) {
+                return t.erasAbbrRegex(e)
+            }
+
+            function Wa(e, t) {
+                return t.erasNameRegex(e)
+            }
+
+            function Na(e, t) {
+                return t.erasNarrowRegex(e)
+            }
+
+            function za(e, t) {
+                return t._eraYearOrdinalRegex || Se
+            }
+
+            function Ra() {
+                var e, t, n = [], i = [], a = [], r = [], l = this.eras();
+                for (e = 0, t = l.length; e < t; ++e) i.push(Ie(l[e].name)), n.push(Ie(l[e].abbr)), a.push(Ie(l[e].narrow)), r.push(Ie(l[e].name)), r.push(Ie(l[e].abbr)), r.push(Ie(l[e].narrow));
+                this._erasRegex = new RegExp("^(" + r.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + n.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp("^(" + a.join("|") + ")", "i")
+            }
+
+            function Va(e, t) {
+                z(0, [e, e.length], 0, t)
+            }
+
+            function Ba(e) {
+                return Ka.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy)
+            }
+
+            function Za(e) {
+                return Ka.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4)
+            }
+
+            function Ua() {
+                return wt(this.year(), 1, 4)
+            }
+
+            function Ja() {
+                return wt(this.isoWeekYear(), 1, 4)
+            }
+
+            function Ga() {
+                var e = this.localeData()._week;
+                return wt(this.year(), e.dow, e.doy)
+            }
+
+            function qa() {
+                var e = this.localeData()._week;
+                return wt(this.weekYear(), e.dow, e.doy)
+            }
+
+            function Ka(e, t, n, i, a) {
+                var r;
+                return null == e ? Lt(this, i, a).year : (t > (r = wt(e, i, a)) && (t = r), Xa.call(this, e, t, n, i, a))
+            }
+
+            function Xa(e, t, n, i, a) {
+                var r = xt(e, t, n, i, a), l = Mt(r.year, 0, r.dayOfYear);
+                return this.year(l.getUTCFullYear()), this.month(l.getUTCMonth()), this.date(l.getUTCDate()), this
+            }
+
+            function $a(e) {
+                return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + this.month() % 3)
+            }
+
+            z("N", 0, 0, "eraAbbr"), z("NN", 0, 0, "eraAbbr"), z("NNN", 0, 0, "eraAbbr"), z("NNNN", 0, 0, "eraName"), z("NNNNN", 0, 0, "eraNarrow"), z("y", ["y", 1], "yo", "eraYear"), z("y", ["yy", 2], 0, "eraYear"), z("y", ["yyy", 3], 0, "eraYear"), z("y", ["yyyy", 4], 0, "eraYear"), Pe("N", Ia), Pe("NN", Ia), Pe("NNN", Ia), Pe("NNNN", Wa), Pe("NNNNN", Na), Ne(["N", "NN", "NNN", "NNNN", "NNNNN"], (function (e, t, n, i) {
+                var a = n._locale.erasParse(e, i, n._strict);
+                a ? g(n).era = a : g(n).invalidEra = e
+            })), Pe("y", Se), Pe("yy", Se), Pe("yyy", Se), Pe("yyyy", Se), Pe("yo", za), Ne(["y", "yy", "yyy", "yyyy"], Be), Ne(["yo"], (function (e, t, n, i) {
+                var a;
+                n._locale._eraYearOrdinalRegex && (a = e.match(n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[Be] = n._locale.eraYearOrdinalParse(e, a) : t[Be] = parseInt(e, 10)
+            })), z(0, ["gg", 2], 0, (function () {
+                return this.weekYear() % 100
+            })), z(0, ["GG", 2], 0, (function () {
+                return this.isoWeekYear() % 100
+            })), Va("gggg", "weekYear"), Va("ggggg", "weekYear"), Va("GGGG", "isoWeekYear"), Va("GGGGG", "isoWeekYear"), ie("weekYear", "gg"), ie("isoWeekYear", "GG"), oe("weekYear", 1), oe("isoWeekYear", 1), Pe("G", je), Pe("g", je), Pe("GG", Le, ve), Pe("gg", Le, ve), Pe("GGGG", De, be), Pe("gggg", De, be), Pe("GGGGG", Te, xe), Pe("ggggg", Te, xe), ze(["gggg", "ggggg", "GGGG", "GGGGG"], (function (e, t, n, i) {
+                t[i.substr(0, 2)] = ce(e)
+            })), ze(["gg", "GG"], (function (e, t, n, i) {
+                t[i] = a.parseTwoDigitYear(e)
+            })), z("Q", 0, "Qo", "quarter"), ie("quarter", "Q"), oe("quarter", 7), Pe("Q", ye), Ne("Q", (function (e, t) {
+                t[Ze] = 3 * (ce(e) - 1)
+            })), z("D", ["DD", 2], "Do", "date"), ie("date", "D"), oe("date", 9), Pe("D", Le), Pe("DD", Le, ve), Pe("Do", (function (e, t) {
+                return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient
+            })), Ne(["D", "DD"], Ue), Ne("Do", (function (e, t) {
+                t[Ue] = ce(e.match(Le)[0])
+            }));
+            var Qa = he("Date", !0);
+
+            function er(e) {
+                var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
+                return null == e ? t : this.add(e - t, "d")
+            }
+
+            z("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), ie("dayOfYear", "DDD"), oe("dayOfYear", 4), Pe("DDD", Ye), Pe("DDDD", Me), Ne(["DDD", "DDDD"], (function (e, t, n) {
+                n._dayOfYear = ce(e)
+            })), z("m", ["mm", 2], 0, "minute"), ie("minute", "m"), oe("minute", 14), Pe("m", Le), Pe("mm", Le, ve), Ne(["m", "mm"], Ge);
+            var tr = he("Minutes", !1);
+            z("s", ["ss", 2], 0, "second"), ie("second", "s"), oe("second", 15), Pe("s", Le), Pe("ss", Le, ve), Ne(["s", "ss"], qe);
+            var nr, ir, ar = he("Seconds", !1);
+            for (z("S", 0, 0, (function () {
+                return ~~(this.millisecond() / 100)
+            })), z(0, ["SS", 2], 0, (function () {
+                return ~~(this.millisecond() / 10)
+            })), z(0, ["SSS", 3], 0, "millisecond"), z(0, ["SSSS", 4], 0, (function () {
+                return 10 * this.millisecond()
+            })), z(0, ["SSSSS", 5], 0, (function () {
+                return 100 * this.millisecond()
+            })), z(0, ["SSSSSS", 6], 0, (function () {
+                return 1e3 * this.millisecond()
+            })), z(0, ["SSSSSSS", 7], 0, (function () {
+                return 1e4 * this.millisecond()
+            })), z(0, ["SSSSSSSS", 8], 0, (function () {
+                return 1e5 * this.millisecond()
+            })), z(0, ["SSSSSSSSS", 9], 0, (function () {
+                return 1e6 * this.millisecond()
+            })), ie("millisecond", "ms"), oe("millisecond", 16), Pe("S", Ye, ye), Pe("SS", Ye, ve), Pe("SSS", Ye, Me), nr = "SSSS"; nr.length <= 9; nr += "S") Pe(nr, Se);
+
+            function rr(e, t) {
+                t[Ke] = ce(1e3 * ("0." + e))
+            }
+
+            for (nr = "S"; nr.length <= 9; nr += "S") Ne(nr, rr);
+
+            function lr() {
+                return this._isUTC ? "UTC" : ""
+            }
+
+            function or() {
+                return this._isUTC ? "Coordinated Universal Time" : ""
+            }
+
+            ir = he("Milliseconds", !1), z("z", 0, 0, "zoneAbbr"), z("zz", 0, 0, "zoneName");
+            var sr = L.prototype;
+
+            function dr(e) {
+                return qn(1e3 * e)
+            }
+
+            function ur() {
+                return qn.apply(null, arguments).parseZone()
+            }
+
+            function cr(e) {
+                return e
+            }
+
+            sr.add = Ai, sr.calendar = Ri, sr.clone = Vi, sr.diff = Ki, sr.endOf = ga, sr.format = ta, sr.from = na, sr.fromNow = ia, sr.to = aa, sr.toNow = ra, sr.get = _e, sr.invalidAt = Ya, sr.isAfter = Bi, sr.isBefore = Zi, sr.isBetween = Ui, sr.isSame = Ji, sr.isSameOrAfter = Gi, sr.isSameOrBefore = qi, sr.isValid = wa, sr.lang = oa, sr.locale = la, sr.localeData = sa, sr.max = Xn, sr.min = Kn, sr.parsingFlags = ka, sr.set = pe, sr.startOf = pa, sr.subtract = Pi, sr.toArray = ba, sr.toObject = xa, sr.toDate = Ma, sr.toISOString = Qi, sr.inspect = ea, "undefined" != typeof Symbol && null != Symbol.for && (sr[Symbol.for("nodejs.util.inspect.custom")] = function () {
+                return "Moment<" + this.format() + ">"
+            }), sr.toJSON = La, sr.toString = $i, sr.unix = va, sr.valueOf = ya, sr.creationData = Da, sr.eraName = Ea, sr.eraNarrow = Ha, sr.eraAbbr = Oa, sr.eraYear = Aa, sr.year = gt, sr.isLeapYear = yt, sr.weekYear = Ba, sr.isoWeekYear = Za, sr.quarter = sr.quarters = $a, sr.month = ct, sr.daysInMonth = ht, sr.week = sr.weeks = St, sr.isoWeek = sr.isoWeeks = jt, sr.weeksInYear = Ga, sr.weeksInWeekYear = qa, sr.isoWeeksInYear = Ua, sr.isoWeeksInISOWeekYear = Ja, sr.date = Qa, sr.day = sr.days = Zt, sr.weekday = Ut, sr.isoWeekday = Jt, sr.dayOfYear = er, sr.hour = sr.hours = rn, sr.minute = sr.minutes = tr, sr.second = sr.seconds = ar, sr.millisecond = sr.milliseconds = ir, sr.utcOffset = _i, sr.utc = gi, sr.local = yi, sr.parseZone = vi, sr.hasAlignedHourOffset = Mi, sr.isDST = bi, sr.isLocal = Li, sr.isUtcOffset = wi, sr.isUtc = ki, sr.isUTC = ki, sr.zoneAbbr = lr, sr.zoneName = or, sr.dates = Y("dates accessor is deprecated. Use date instead.", Qa), sr.months = Y("months accessor is deprecated. Use month instead", ct), sr.years = Y("years accessor is deprecated. Use year instead", gt), sr.zone = Y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", pi), sr.isDSTShifted = Y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", xi);
+            var hr = O.prototype;
+
+            function mr(e, t, n, i) {
+                var a = yn(), r = _().set(i, t);
+                return a[n](r, e)
+            }
+
+            function fr(e, t, n) {
+                if (c(e) && (t = e, e = void 0), e = e || "", null != t) return mr(e, t, n, "month");
+                var i, a = [];
+                for (i = 0; i < 12; i++) a[i] = mr(e, i, n, "month");
+                return a
+            }
+
+            function _r(e, t, n, i) {
+                "boolean" == typeof e ? (c(t) && (n = t, t = void 0), t = t || "") : (n = t = e, e = !1, c(t) && (n = t, t = void 0), t = t || "");
+                var a, r = yn(), l = e ? r._week.dow : 0, o = [];
+                if (null != n) return mr(t, (n + l) % 7, i, "day");
+                for (a = 0; a < 7; a++) o[a] = mr(t, (a + l) % 7, i, "day");
+                return o
+            }
+
+            function pr(e, t) {
+                return fr(e, t, "months")
+            }
+
+            function gr(e, t) {
+                return fr(e, t, "monthsShort")
+            }
+
+            function yr(e, t, n) {
+                return _r(e, t, n, "weekdays")
+            }
+
+            function vr(e, t, n) {
+                return _r(e, t, n, "weekdaysShort")
+            }
+
+            function Mr(e, t, n) {
+                return _r(e, t, n, "weekdaysMin")
+            }
+
+            hr.calendar = P, hr.longDateFormat = J, hr.invalidDate = q, hr.ordinal = $, hr.preparse = cr, hr.postformat = cr, hr.relativeTime = ee, hr.pastFuture = te, hr.set = E, hr.eras = Ta, hr.erasParse = Sa, hr.erasConvertYear = ja, hr.erasAbbrRegex = Ca, hr.erasNameRegex = Pa, hr.erasNarrowRegex = Fa, hr.months = lt, hr.monthsShort = ot, hr.monthsParse = dt, hr.monthsRegex = ft, hr.monthsShortRegex = mt, hr.week = kt, hr.firstDayOfYear = Tt, hr.firstDayOfWeek = Dt, hr.weekdays = Nt, hr.weekdaysMin = Rt, hr.weekdaysShort = zt, hr.weekdaysParse = Bt, hr.weekdaysRegex = Gt, hr.weekdaysShortRegex = qt, hr.weekdaysMinRegex = Kt, hr.isPM = nn, hr.meridiem = ln, _n("en", {
+                eras: [{
+                    since: "0001-01-01",
+                    until: 1 / 0,
+                    offset: 1,
+                    name: "Anno Domini",
+                    narrow: "AD",
+                    abbr: "AD"
+                }, {since: "0000-12-31", until: -1 / 0, offset: 1, name: "Before Christ", narrow: "BC", abbr: "BC"}],
+                dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+                ordinal: function (e) {
+                    var t = e % 10;
+                    return e + (1 === ce(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+                }
+            }), a.lang = Y("moment.lang is deprecated. Use moment.locale instead.", _n), a.langData = Y("moment.langData is deprecated. Use moment.localeData instead.", yn);
+            var br = Math.abs;
+
+            function xr() {
+                var e = this._data;
+                return this._milliseconds = br(this._milliseconds), this._days = br(this._days), this._months = br(this._months), e.milliseconds = br(e.milliseconds), e.seconds = br(e.seconds), e.minutes = br(e.minutes), e.hours = br(e.hours), e.months = br(e.months), e.years = br(e.years), this
+            }
+
+            function Lr(e, t, n, i) {
+                var a = Ti(t, n);
+                return e._milliseconds += i * a._milliseconds, e._days += i * a._days, e._months += i * a._months, e._bubble()
+            }
+
+            function wr(e, t) {
+                return Lr(this, e, t, 1)
+            }
+
+            function kr(e, t) {
+                return Lr(this, e, t, -1)
+            }
+
+            function Yr(e) {
+                return e < 0 ? Math.floor(e) : Math.ceil(e)
+            }
+
+            function Dr() {
+                var e, t, n, i, a, r = this._milliseconds, l = this._days, o = this._months, s = this._data;
+                return r >= 0 && l >= 0 && o >= 0 || r <= 0 && l <= 0 && o <= 0 || (r += 864e5 * Yr(Sr(o) + l), l = 0, o = 0), s.milliseconds = r % 1e3, e = ue(r / 1e3), s.seconds = e % 60, t = ue(e / 60), s.minutes = t % 60, n = ue(t / 60), s.hours = n % 24, l += ue(n / 24), o += a = ue(Tr(l)), l -= Yr(Sr(a)), i = ue(o / 12), o %= 12, s.days = l, s.months = o, s.years = i, this
+            }
+
+            function Tr(e) {
+                return 4800 * e / 146097
+            }
+
+            function Sr(e) {
+                return 146097 * e / 4800
+            }
+
+            function jr(e) {
+                if (!this.isValid()) return NaN;
+                var t, n, i = this._milliseconds;
+                if ("month" === (e = ae(e)) || "quarter" === e || "year" === e) switch (t = this._days + i / 864e5, n = this._months + Tr(t), e) {
+                    case"month":
+                        return n;
+                    case"quarter":
+                        return n / 3;
+                    case"year":
+                        return n / 12
+                } else switch (t = this._days + Math.round(Sr(this._months)), e) {
+                    case"week":
+                        return t / 7 + i / 6048e5;
+                    case"day":
+                        return t + i / 864e5;
+                    case"hour":
+                        return 24 * t + i / 36e5;
+                    case"minute":
+                        return 1440 * t + i / 6e4;
+                    case"second":
+                        return 86400 * t + i / 1e3;
+                    case"millisecond":
+                        return Math.floor(864e5 * t) + i;
+                    default:
+                        throw new Error("Unknown unit " + e)
+                }
+            }
+
+            function Er() {
+                return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * ce(this._months / 12) : NaN
+            }
+
+            function Hr(e) {
+                return function () {
+                    return this.as(e)
+                }
+            }
+
+            var Or = Hr("ms"), Ar = Hr("s"), Pr = Hr("m"), Cr = Hr("h"), Fr = Hr("d"), Ir = Hr("w"), Wr = Hr("M"),
+                Nr = Hr("Q"), zr = Hr("y");
+
+            function Rr() {
+                return Ti(this)
+            }
+
+            function Vr(e) {
+                return e = ae(e), this.isValid() ? this[e + "s"]() : NaN
+            }
+
+            function Br(e) {
+                return function () {
+                    return this.isValid() ? this._data[e] : NaN
+                }
+            }
+
+            var Zr = Br("milliseconds"), Ur = Br("seconds"), Jr = Br("minutes"), Gr = Br("hours"), qr = Br("days"),
+                Kr = Br("months"), Xr = Br("years");
+
+            function $r() {
+                return ue(this.days() / 7)
+            }
+
+            var Qr = Math.round, el = {ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11};
+
+            function tl(e, t, n, i, a) {
+                return a.relativeTime(t || 1, !!n, e, i)
+            }
+
+            function nl(e, t, n, i) {
+                var a = Ti(e).abs(), r = Qr(a.as("s")), l = Qr(a.as("m")), o = Qr(a.as("h")), s = Qr(a.as("d")),
+                    d = Qr(a.as("M")), u = Qr(a.as("w")), c = Qr(a.as("y")),
+                    h = r <= n.ss && ["s", r] || r < n.s && ["ss", r] || l <= 1 && ["m"] || l < n.m && ["mm", l] || o <= 1 && ["h"] || o < n.h && ["hh", o] || s <= 1 && ["d"] || s < n.d && ["dd", s];
+                return null != n.w && (h = h || u <= 1 && ["w"] || u < n.w && ["ww", u]), (h = h || d <= 1 && ["M"] || d < n.M && ["MM", d] || c <= 1 && ["y"] || ["yy", c])[2] = t, h[3] = +e > 0, h[4] = i, tl.apply(null, h)
+            }
+
+            function il(e) {
+                return void 0 === e ? Qr : "function" == typeof e && (Qr = e, !0)
+            }
+
+            function al(e, t) {
+                return void 0 !== el[e] && (void 0 === t ? el[e] : (el[e] = t, "s" === e && (el.ss = t - 1), !0))
+            }
+
+            function rl(e, t) {
+                if (!this.isValid()) return this.localeData().invalidDate();
+                var n, i, a = !1, r = el;
+                return "object" == typeof e && (t = e, e = !1), "boolean" == typeof e && (a = e), "object" == typeof t && (r = Object.assign({}, el, t), null != t.s && null == t.ss && (r.ss = t.s - 1)), i = nl(this, !a, r, n = this.localeData()), a && (i = n.pastFuture(+this, i)), n.postformat(i)
+            }
+
+            var ll = Math.abs;
+
+            function ol(e) {
+                return (e > 0) - (e < 0) || +e
+            }
+
+            function sl() {
+                if (!this.isValid()) return this.localeData().invalidDate();
+                var e, t, n, i, a, r, l, o, s = ll(this._milliseconds) / 1e3, d = ll(this._days), u = ll(this._months),
+                    c = this.asSeconds();
+                return c ? (e = ue(s / 60), t = ue(e / 60), s %= 60, e %= 60, n = ue(u / 12), u %= 12, i = s ? s.toFixed(3).replace(/\.?0+$/, "") : "", a = c < 0 ? "-" : "", r = ol(this._months) !== ol(c) ? "-" : "", l = ol(this._days) !== ol(c) ? "-" : "", o = ol(this._milliseconds) !== ol(c) ? "-" : "", a + "P" + (n ? r + n + "Y" : "") + (u ? r + u + "M" : "") + (d ? l + d + "D" : "") + (t || e || s ? "T" : "") + (t ? o + t + "H" : "") + (e ? o + e + "M" : "") + (s ? o + i + "S" : "")) : "P0D"
+            }
+
+            var dl = li.prototype;
+            return dl.isValid = ai, dl.abs = xr, dl.add = wr, dl.subtract = kr, dl.as = jr, dl.asMilliseconds = Or, dl.asSeconds = Ar, dl.asMinutes = Pr, dl.asHours = Cr, dl.asDays = Fr, dl.asWeeks = Ir, dl.asMonths = Wr, dl.asQuarters = Nr, dl.asYears = zr, dl.valueOf = Er, dl._bubble = Dr, dl.clone = Rr, dl.get = Vr, dl.milliseconds = Zr, dl.seconds = Ur, dl.minutes = Jr, dl.hours = Gr, dl.days = qr, dl.weeks = $r, dl.months = Kr, dl.years = Xr, dl.humanize = rl, dl.toISOString = sl, dl.toString = sl, dl.toJSON = sl, dl.locale = la, dl.localeData = sa, dl.toIsoString = Y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", sl), dl.lang = oa, z("X", 0, 0, "unix"), z("x", 0, 0, "valueOf"), Pe("x", je), Pe("X", Oe), Ne("X", (function (e, t, n) {
+                n._d = new Date(1e3 * parseFloat(e))
+            })), Ne("x", (function (e, t, n) {
+                n._d = new Date(ce(e))
+            })), a.version = "2.29.1", r(qn), a.fn = sr, a.min = Qn, a.max = ei, a.now = ti, a.utc = _, a.unix = dr, a.months = pr, a.isDate = h, a.locale = _n, a.invalid = v, a.duration = Ti, a.isMoment = w, a.weekdays = yr, a.parseZone = ur, a.localeData = yn, a.isDuration = oi, a.monthsShort = gr, a.weekdaysMin = Mr, a.defineLocale = pn, a.updateLocale = gn, a.locales = vn, a.weekdaysShort = vr, a.normalizeUnits = ae, a.relativeTimeRounding = il, a.relativeTimeThreshold = al, a.calendarFormat = zi, a.prototype = sr, a.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"
+            }, a
+        }()
+    }).call(this, n(254)(e))
+}, function (e, t, n) {
+    (function (t) {
+        var n = function (e) {
+            return e && e.Math == Math && e
+        };
+        e.exports = n("object" == typeof globalThis && globalThis) || n("object" == typeof window && window) || n("object" == typeof self && self) || n("object" == typeof t && t) || function () {
+            return this
+        }() || Function("return this")()
+    }).call(this, n(11))
+}, function (e, t) {
+    e.exports = function (e) {
+        try {
+            return !!e()
+        } catch (e) {
+            return !0
+        }
+    }
+}, function (e, t, n) {
+    var i = n(1), a = n(198), r = n(4), l = n(39), o = n(205), s = n(265), d = a("wks"), u = i.Symbol,
+        c = s ? u : u && u.withoutSetter || l;
+    e.exports = function (e) {
+        return r(d, e) || (o && r(u, e) ? d[e] = u[e] : d[e] = c("Symbol." + e)), d[e]
+    }
+}, function (e, t) {
+    var n = {}.hasOwnProperty;
+    e.exports = function (e, t) {
+        return n.call(e, t)
+    }
+}, function (e, t) {
+    e.exports = function (e) {
+        return "object" == typeof e ? null !== e : "function" == typeof e
+    }
+}, function (e, t, n) {
+    var i = n(5);
+    e.exports = function (e) {
+        if (!i(e)) throw TypeError(String(e) + " is not an object");
+        return e
+    }
+}, function (e, t, n) {
+    var i = n(9), a = n(10), r = n(34);
+    e.exports = i ? function (e, t, n) {
+        return a.f(e, t, r(1, n))
+    } : function (e, t, n) {
+        return e[t] = n, e
+    }
+}, function (e, t, n) {
+    var i = n(1), a = n(191).f, r = n(7), l = n(13), o = n(35), s = n(257), d = n(201);
+    e.exports = function (e, t) {
+        var n, u, c, h, m, f = e.target, _ = e.global, p = e.stat;
+        if (n = _ ? i : p ? i[f] || o(f, {}) : (i[f] || {}).prototype) for (u in t) {
+            if (h = t[u], c = e.noTargetGet ? (m = a(n, u)) && m.value : n[u], !d(_ ? u : f + (p ? "." : "#") + u, e.forced) && void 0 !== c) {
+                if (typeof h == typeof c) continue;
+                s(h, c)
+            }
+            (e.sham || c && c.sham) && r(h, "sham", !0), l(n, u, h, e)
+        }
+    }
+}, function (e, t, n) {
+    var i = n(2);
+    e.exports = !i((function () {
+        return 7 != Object.defineProperty({}, 1, {
+            get: function () {
+                return 7
+            }
+        })[1]
+    }))
+}, function (e, t, n) {
+    var i = n(9), a = n(194), r = n(6), l = n(193), o = Object.defineProperty;
+    t.f = i ? o : function (e, t, n) {
+        if (r(e), t = l(t, !0), r(n), a) try {
+            return o(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) {
+    var n;
+    n = function () {
+        return this
+    }();
+    try {
+        n = n || new Function("return this")()
+    } catch (e) {
+        "object" == typeof window && (n = window)
+    }
+    e.exports = n
+}, 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(1), a = n(7), r = n(4), l = n(35), o = n(196), s = n(17), d = s.get, u = s.enforce,
+        c = String(String).split("String");
+    (e.exports = function (e, t, n, o) {
+        var s, d = !!o && !!o.unsafe, h = !!o && !!o.enumerable, m = !!o && !!o.noTargetGet;
+        "function" == typeof n && ("string" != typeof t || r(n, "name") || a(n, "name", t), (s = u(n)).source || (s.source = c.join("string" == typeof t ? t : ""))), e !== i ? (d ? !m && e[t] && (h = !0) : delete e[t], h ? e[t] = n : a(e, t, n)) : h ? e[t] = n : l(t, n)
+    })(Function.prototype, "toString", (function () {
+        return "function" == typeof this && d(this).source || o(this)
+    }))
+}, function (e, t, n) {
+    var i = n(24), a = Math.min;
+    e.exports = function (e) {
+        return e > 0 ? a(i(e), 9007199254740991) : 0
+    }
+}, function (e, t) {
+    var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
+    "number" == typeof __g && (__g = n)
+}, function (e, t) {
+    var n = {}.toString;
+    e.exports = function (e) {
+        return n.call(e).slice(8, -1)
+    }
+}, function (e, t, n) {
+    var i, a, r, l = n(197), o = n(1), s = n(5), d = n(7), u = n(4), c = n(36), h = n(37), m = n(23), f = o.WeakMap;
+    if (l) {
+        var _ = c.state || (c.state = new f), p = _.get, g = _.has, y = _.set;
+        i = function (e, t) {
+            return t.facade = e, y.call(_, e, t), t
+        }, a = function (e) {
+            return p.call(_, e) || {}
+        }, r = function (e) {
+            return g.call(_, e)
+        }
+    } else {
+        var v = h("state");
+        m[v] = !0, i = function (e, t) {
+            return t.facade = e, d(e, v, t), t
+        }, a = function (e) {
+            return u(e, v) ? e[v] : {}
+        }, r = function (e) {
+            return u(e, v)
+        }
+    }
+    e.exports = {
+        set: i, get: a, has: r, enforce: function (e) {
+            return r(e) ? a(e) : i(e, {})
+        }, getterFor: function (e) {
+            return function (t) {
+                var n;
+                if (!s(t) || (n = a(t)).type !== e) throw TypeError("Incompatible receiver, " + e + " required");
+                return n
+            }
+        }
+    }
+}, function (e, t, n) {
+    var i = n(12);
+    e.exports = function (e) {
+        return Object(i(e))
+    }
+}, function (e, t) {
+    e.exports = {}
+}, function (e, t, n) {
+    "use strict";
+    (function (e) {
+        var n = "undefined" != typeof window && "undefined" != typeof document && "undefined" != typeof navigator,
+            i = function () {
+                for (var e = ["Edge", "Trident", "Firefox"], t = 0; t < e.length; t += 1) if (n && navigator.userAgent.indexOf(e[t]) >= 0) return 1;
+                return 0
+            }();
+        var a = n && window.Promise ? function (e) {
+            var t = !1;
+            return function () {
+                t || (t = !0, window.Promise.resolve().then((function () {
+                    t = !1, e()
+                })))
+            }
+        } : function (e) {
+            var t = !1;
+            return function () {
+                t || (t = !0, setTimeout((function () {
+                    t = !1, e()
+                }), i))
+            }
+        };
+
+        function r(e) {
+            return e && "[object Function]" === {}.toString.call(e)
+        }
+
+        function l(e, t) {
+            if (1 !== e.nodeType) return [];
+            var n = e.ownerDocument.defaultView.getComputedStyle(e, null);
+            return t ? n[t] : n
+        }
+
+        function o(e) {
+            return "HTML" === e.nodeName ? e : e.parentNode || e.host
+        }
+
+        function s(e) {
+            if (!e) return document.body;
+            switch (e.nodeName) {
+                case"HTML":
+                case"BODY":
+                    return e.ownerDocument.body;
+                case"#document":
+                    return e.body
+            }
+            var t = l(e), n = t.overflow, i = t.overflowX, a = t.overflowY;
+            return /(auto|scroll|overlay)/.test(n + a + i) ? e : s(o(e))
+        }
+
+        function d(e) {
+            return e && e.referenceNode ? e.referenceNode : e
+        }
+
+        var u = n && !(!window.MSInputMethodContext || !document.documentMode),
+            c = n && /MSIE 10/.test(navigator.userAgent);
+
+        function h(e) {
+            return 11 === e ? u : 10 === e ? c : u || c
+        }
+
+        function m(e) {
+            if (!e) return document.documentElement;
+            for (var t = h(10) ? document.body : null, n = e.offsetParent || null; n === t && e.nextElementSibling;) n = (e = e.nextElementSibling).offsetParent;
+            var i = n && n.nodeName;
+            return i && "BODY" !== i && "HTML" !== i ? -1 !== ["TH", "TD", "TABLE"].indexOf(n.nodeName) && "static" === l(n, "position") ? m(n) : n : e ? e.ownerDocument.documentElement : document.documentElement
+        }
+
+        function f(e) {
+            return null !== e.parentNode ? f(e.parentNode) : e
+        }
+
+        function _(e, t) {
+            if (!(e && e.nodeType && t && t.nodeType)) return document.documentElement;
+            var n = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING, i = n ? e : t, a = n ? t : e,
+                r = document.createRange();
+            r.setStart(i, 0), r.setEnd(a, 0);
+            var l, o, s = r.commonAncestorContainer;
+            if (e !== s && t !== s || i.contains(a)) return "BODY" === (o = (l = s).nodeName) || "HTML" !== o && m(l.firstElementChild) !== l ? m(s) : s;
+            var d = f(e);
+            return d.host ? _(d.host, t) : _(e, f(t).host)
+        }
+
+        function p(e) {
+            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top",
+                n = "top" === t ? "scrollTop" : "scrollLeft", i = e.nodeName;
+            if ("BODY" === i || "HTML" === i) {
+                var a = e.ownerDocument.documentElement, r = e.ownerDocument.scrollingElement || a;
+                return r[n]
+            }
+            return e[n]
+        }
+
+        function g(e, t) {
+            var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = p(t, "top"), a = p(t, "left"),
+                r = n ? -1 : 1;
+            return e.top += i * r, e.bottom += i * r, e.left += a * r, e.right += a * r, e
+        }
+
+        function y(e, t) {
+            var n = "x" === t ? "Left" : "Top", i = "Left" === n ? "Right" : "Bottom";
+            return parseFloat(e["border" + n + "Width"]) + parseFloat(e["border" + i + "Width"])
+        }
+
+        function v(e, t, n, i) {
+            return Math.max(t["offset" + e], t["scroll" + e], n["client" + e], n["offset" + e], n["scroll" + e], h(10) ? parseInt(n["offset" + e]) + parseInt(i["margin" + ("Height" === e ? "Top" : "Left")]) + parseInt(i["margin" + ("Height" === e ? "Bottom" : "Right")]) : 0)
+        }
+
+        function M(e) {
+            var t = e.body, n = e.documentElement, i = h(10) && getComputedStyle(n);
+            return {height: v("Height", t, n, i), width: v("Width", t, n, i)}
+        }
+
+        var b = function (e, t) {
+            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
+        }, x = function () {
+            function e(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)
+                }
+            }
+
+            return function (t, n, i) {
+                return n && e(t.prototype, n), i && e(t, i), t
+            }
+        }(), L = function (e, t, n) {
+            return t in e ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0
+            }) : e[t] = n, e
+        }, w = Object.assign || function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+                var n = arguments[t];
+                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
+            }
+            return e
+        };
+
+        function k(e) {
+            return w({}, e, {right: e.left + e.width, bottom: e.top + e.height})
+        }
+
+        function Y(e) {
+            var t = {};
+            try {
+                if (h(10)) {
+                    t = e.getBoundingClientRect();
+                    var n = p(e, "top"), i = p(e, "left");
+                    t.top += n, t.left += i, t.bottom += n, t.right += i
+                } else t = e.getBoundingClientRect()
+            } catch (e) {
+            }
+            var a = {left: t.left, top: t.top, width: t.right - t.left, height: t.bottom - t.top},
+                r = "HTML" === e.nodeName ? M(e.ownerDocument) : {}, o = r.width || e.clientWidth || a.width,
+                s = r.height || e.clientHeight || a.height, d = e.offsetWidth - o, u = e.offsetHeight - s;
+            if (d || u) {
+                var c = l(e);
+                d -= y(c, "x"), u -= y(c, "y"), a.width -= d, a.height -= u
+            }
+            return k(a)
+        }
+
+        function D(e, t) {
+            var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = h(10),
+                a = "HTML" === t.nodeName, r = Y(e), o = Y(t), d = s(e), u = l(t), c = parseFloat(u.borderTopWidth),
+                m = parseFloat(u.borderLeftWidth);
+            n && a && (o.top = Math.max(o.top, 0), o.left = Math.max(o.left, 0));
+            var f = k({top: r.top - o.top - c, left: r.left - o.left - m, width: r.width, height: r.height});
+            if (f.marginTop = 0, f.marginLeft = 0, !i && a) {
+                var _ = parseFloat(u.marginTop), p = parseFloat(u.marginLeft);
+                f.top -= c - _, f.bottom -= c - _, f.left -= m - p, f.right -= m - p, f.marginTop = _, f.marginLeft = p
+            }
+            return (i && !n ? t.contains(d) : t === d && "BODY" !== d.nodeName) && (f = g(f, t)), f
+        }
+
+        function T(e) {
+            var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+                n = e.ownerDocument.documentElement, i = D(e, n), a = Math.max(n.clientWidth, window.innerWidth || 0),
+                r = Math.max(n.clientHeight, window.innerHeight || 0), l = t ? 0 : p(n), o = t ? 0 : p(n, "left"),
+                s = {top: l - i.top + i.marginTop, left: o - i.left + i.marginLeft, width: a, height: r};
+            return k(s)
+        }
+
+        function S(e) {
+            var t = e.nodeName;
+            if ("BODY" === t || "HTML" === t) return !1;
+            if ("fixed" === l(e, "position")) return !0;
+            var n = o(e);
+            return !!n && S(n)
+        }
+
+        function j(e) {
+            if (!e || !e.parentElement || h()) return document.documentElement;
+            for (var t = e.parentElement; t && "none" === l(t, "transform");) t = t.parentElement;
+            return t || document.documentElement
+        }
+
+        function E(e, t, n, i) {
+            var a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4], r = {top: 0, left: 0},
+                l = a ? j(e) : _(e, d(t));
+            if ("viewport" === i) r = T(l, a); else {
+                var u = void 0;
+                "scrollParent" === i ? "BODY" === (u = s(o(t))).nodeName && (u = e.ownerDocument.documentElement) : u = "window" === i ? e.ownerDocument.documentElement : i;
+                var c = D(u, l, a);
+                if ("HTML" !== u.nodeName || S(l)) r = c; else {
+                    var h = M(e.ownerDocument), m = h.height, f = h.width;
+                    r.top += c.top - c.marginTop, r.bottom = m + c.top, r.left += c.left - c.marginLeft, r.right = f + c.left
+                }
+            }
+            var p = "number" == typeof (n = n || 0);
+            return r.left += p ? n : n.left || 0, r.top += p ? n : n.top || 0, r.right -= p ? n : n.right || 0, r.bottom -= p ? n : n.bottom || 0, r
+        }
+
+        function H(e) {
+            return e.width * e.height
+        }
+
+        function O(e, t, n, i, a) {
+            var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
+            if (-1 === e.indexOf("auto")) return e;
+            var l = E(n, i, r, a), o = {
+                top: {width: l.width, height: t.top - l.top},
+                right: {width: l.right - t.right, height: l.height},
+                bottom: {width: l.width, height: l.bottom - t.bottom},
+                left: {width: t.left - l.left, height: l.height}
+            }, s = Object.keys(o).map((function (e) {
+                return w({key: e}, o[e], {area: H(o[e])})
+            })).sort((function (e, t) {
+                return t.area - e.area
+            })), d = s.filter((function (e) {
+                var t = e.width, i = e.height;
+                return t >= n.clientWidth && i >= n.clientHeight
+            })), u = d.length > 0 ? d[0].key : s[0].key, c = e.split("-")[1];
+            return u + (c ? "-" + c : "")
+        }
+
+        function A(e, t, n) {
+            var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null, a = i ? j(t) : _(t, d(n));
+            return D(n, a, i)
+        }
+
+        function P(e) {
+            var t = e.ownerDocument.defaultView.getComputedStyle(e),
+                n = parseFloat(t.marginTop || 0) + parseFloat(t.marginBottom || 0),
+                i = parseFloat(t.marginLeft || 0) + parseFloat(t.marginRight || 0);
+            return {width: e.offsetWidth + i, height: e.offsetHeight + n}
+        }
+
+        function C(e) {
+            var t = {left: "right", right: "left", bottom: "top", top: "bottom"};
+            return e.replace(/left|right|bottom|top/g, (function (e) {
+                return t[e]
+            }))
+        }
+
+        function F(e, t, n) {
+            n = n.split("-")[0];
+            var i = P(e), a = {width: i.width, height: i.height}, r = -1 !== ["right", "left"].indexOf(n),
+                l = r ? "top" : "left", o = r ? "left" : "top", s = r ? "height" : "width", d = r ? "width" : "height";
+            return a[l] = t[l] + t[s] / 2 - i[s] / 2, a[o] = n === o ? t[o] - i[d] : t[C(o)], a
+        }
+
+        function I(e, t) {
+            return Array.prototype.find ? e.find(t) : e.filter(t)[0]
+        }
+
+        function W(e, t, n) {
+            return (void 0 === n ? e : e.slice(0, function (e, t, n) {
+                if (Array.prototype.findIndex) return e.findIndex((function (e) {
+                    return e[t] === n
+                }));
+                var i = I(e, (function (e) {
+                    return e[t] === n
+                }));
+                return e.indexOf(i)
+            }(e, "name", n))).forEach((function (e) {
+                e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
+                var n = e.function || e.fn;
+                e.enabled && r(n) && (t.offsets.popper = k(t.offsets.popper), t.offsets.reference = k(t.offsets.reference), t = n(t, e))
+            })), t
+        }
+
+        function N() {
+            if (!this.state.isDestroyed) {
+                var e = {instance: this, styles: {}, arrowStyles: {}, attributes: {}, flipped: !1, offsets: {}};
+                e.offsets.reference = A(this.state, this.popper, this.reference, this.options.positionFixed), e.placement = O(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), e.originalPlacement = e.placement, e.positionFixed = this.options.positionFixed, e.offsets.popper = F(this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute", e = W(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e))
+            }
+        }
+
+        function z(e, t) {
+            return e.some((function (e) {
+                var n = e.name;
+                return e.enabled && n === t
+            }))
+        }
+
+        function R(e) {
+            for (var t = [!1, "ms", "Webkit", "Moz", "O"], n = e.charAt(0).toUpperCase() + e.slice(1), i = 0; i < t.length; i++) {
+                var a = t[i], r = a ? "" + a + n : e;
+                if (void 0 !== document.body.style[r]) return r
+            }
+            return null
+        }
+
+        function V() {
+            return this.state.isDestroyed = !0, z(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.position = "", this.popper.style.top = "", this.popper.style.left = "", this.popper.style.right = "", this.popper.style.bottom = "", this.popper.style.willChange = "", this.popper.style[R("transform")] = ""), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this
+        }
+
+        function B(e) {
+            var t = e.ownerDocument;
+            return t ? t.defaultView : window
+        }
+
+        function Z(e, t, n, i) {
+            var a = "BODY" === e.nodeName, r = a ? e.ownerDocument.defaultView : e;
+            r.addEventListener(t, n, {passive: !0}), a || Z(s(r.parentNode), t, n, i), i.push(r)
+        }
+
+        function U(e, t, n, i) {
+            n.updateBound = i, B(e).addEventListener("resize", n.updateBound, {passive: !0});
+            var a = s(e);
+            return Z(a, "scroll", n.updateBound, n.scrollParents), n.scrollElement = a, n.eventsEnabled = !0, n
+        }
+
+        function J() {
+            this.state.eventsEnabled || (this.state = U(this.reference, this.options, this.state, this.scheduleUpdate))
+        }
+
+        function G() {
+            var e, t;
+            this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = (e = this.reference, t = this.state, B(e).removeEventListener("resize", t.updateBound), t.scrollParents.forEach((function (e) {
+                e.removeEventListener("scroll", t.updateBound)
+            })), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t))
+        }
+
+        function q(e) {
+            return "" !== e && !isNaN(parseFloat(e)) && isFinite(e)
+        }
+
+        function K(e, t) {
+            Object.keys(t).forEach((function (n) {
+                var i = "";
+                -1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(n) && q(t[n]) && (i = "px"), e.style[n] = t[n] + i
+            }))
+        }
+
+        var X = n && /Firefox/i.test(navigator.userAgent);
+
+        function $(e, t, n) {
+            var i = I(e, (function (e) {
+                return e.name === t
+            })), a = !!i && e.some((function (e) {
+                return e.name === n && e.enabled && e.order < i.order
+            }));
+            if (!a) {
+                var r = "`" + t + "`", l = "`" + n + "`";
+                console.warn(l + " modifier is required by " + r + " modifier in order to work, be sure to include it before " + r + "!")
+            }
+            return a
+        }
+
+        var Q = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
+            ee = Q.slice(3);
+
+        function te(e) {
+            var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = ee.indexOf(e),
+                i = ee.slice(n + 1).concat(ee.slice(0, n));
+            return t ? i.reverse() : i
+        }
+
+        var ne = "flip", ie = "clockwise", ae = "counterclockwise";
+
+        function re(e, t, n, i) {
+            var a = [0, 0], r = -1 !== ["right", "left"].indexOf(i), l = e.split(/(\+|\-)/).map((function (e) {
+                return e.trim()
+            })), o = l.indexOf(I(l, (function (e) {
+                return -1 !== e.search(/,|\s/)
+            })));
+            l[o] && -1 === l[o].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
+            var s = /\s*,\s*|\s+/,
+                d = -1 !== o ? [l.slice(0, o).concat([l[o].split(s)[0]]), [l[o].split(s)[1]].concat(l.slice(o + 1))] : [l];
+            return (d = d.map((function (e, i) {
+                var a = (1 === i ? !r : r) ? "height" : "width", l = !1;
+                return e.reduce((function (e, t) {
+                    return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? (e[e.length - 1] = t, l = !0, e) : l ? (e[e.length - 1] += t, l = !1, e) : e.concat(t)
+                }), []).map((function (e) {
+                    return function (e, t, n, i) {
+                        var a = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/), r = +a[1], l = a[2];
+                        if (!r) return e;
+                        if (0 === l.indexOf("%")) {
+                            var o = void 0;
+                            switch (l) {
+                                case"%p":
+                                    o = n;
+                                    break;
+                                case"%":
+                                case"%r":
+                                default:
+                                    o = i
+                            }
+                            return k(o)[t] / 100 * r
+                        }
+                        if ("vh" === l || "vw" === l) return ("vh" === l ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * r;
+                        return r
+                    }(e, a, t, n)
+                }))
+            }))).forEach((function (e, t) {
+                e.forEach((function (n, i) {
+                    q(n) && (a[t] += n * ("-" === e[i - 1] ? -1 : 1))
+                }))
+            })), a
+        }
+
+        var le = {
+            placement: "bottom", positionFixed: !1, eventsEnabled: !0, removeOnDestroy: !1, onCreate: function () {
+            }, onUpdate: function () {
+            }, modifiers: {
+                shift: {
+                    order: 100, enabled: !0, fn: function (e) {
+                        var t = e.placement, n = t.split("-")[0], i = t.split("-")[1];
+                        if (i) {
+                            var a = e.offsets, r = a.reference, l = a.popper, o = -1 !== ["bottom", "top"].indexOf(n),
+                                s = o ? "left" : "top", d = o ? "width" : "height",
+                                u = {start: L({}, s, r[s]), end: L({}, s, r[s] + r[d] - l[d])};
+                            e.offsets.popper = w({}, l, u[i])
+                        }
+                        return e
+                    }
+                }, offset: {
+                    order: 200, enabled: !0, fn: function (e, t) {
+                        var n = t.offset, i = e.placement, a = e.offsets, r = a.popper, l = a.reference,
+                            o = i.split("-")[0], s = void 0;
+                        return s = q(+n) ? [+n, 0] : re(n, r, l, o), "left" === o ? (r.top += s[0], r.left -= s[1]) : "right" === o ? (r.top += s[0], r.left += s[1]) : "top" === o ? (r.left += s[0], r.top -= s[1]) : "bottom" === o && (r.left += s[0], r.top += s[1]), e.popper = r, e
+                    }, offset: 0
+                }, preventOverflow: {
+                    order: 300, enabled: !0, fn: function (e, t) {
+                        var n = t.boundariesElement || m(e.instance.popper);
+                        e.instance.reference === n && (n = m(n));
+                        var i = R("transform"), a = e.instance.popper.style, r = a.top, l = a.left, o = a[i];
+                        a.top = "", a.left = "", a[i] = "";
+                        var s = E(e.instance.popper, e.instance.reference, t.padding, n, e.positionFixed);
+                        a.top = r, a.left = l, a[i] = o, t.boundaries = s;
+                        var d = t.priority, u = e.offsets.popper, c = {
+                            primary: function (e) {
+                                var n = u[e];
+                                return u[e] < s[e] && !t.escapeWithReference && (n = Math.max(u[e], s[e])), L({}, e, n)
+                            }, secondary: function (e) {
+                                var n = "right" === e ? "left" : "top", i = u[n];
+                                return u[e] > s[e] && !t.escapeWithReference && (i = Math.min(u[n], s[e] - ("right" === e ? u.width : u.height))), L({}, n, i)
+                            }
+                        };
+                        return d.forEach((function (e) {
+                            var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary";
+                            u = w({}, u, c[t](e))
+                        })), e.offsets.popper = u, e
+                    }, priority: ["left", "right", "top", "bottom"], padding: 5, boundariesElement: "scrollParent"
+                }, keepTogether: {
+                    order: 400, enabled: !0, fn: function (e) {
+                        var t = e.offsets, n = t.popper, i = t.reference, a = e.placement.split("-")[0], r = Math.floor,
+                            l = -1 !== ["top", "bottom"].indexOf(a), o = l ? "right" : "bottom", s = l ? "left" : "top",
+                            d = l ? "width" : "height";
+                        return n[o] < r(i[s]) && (e.offsets.popper[s] = r(i[s]) - n[d]), n[s] > r(i[o]) && (e.offsets.popper[s] = r(i[o])), e
+                    }
+                }, arrow: {
+                    order: 500, enabled: !0, fn: function (e, t) {
+                        var n;
+                        if (!$(e.instance.modifiers, "arrow", "keepTogether")) return e;
+                        var i = t.element;
+                        if ("string" == typeof i) {
+                            if (!(i = e.instance.popper.querySelector(i))) return e
+                        } else if (!e.instance.popper.contains(i)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e;
+                        var a = e.placement.split("-")[0], r = e.offsets, o = r.popper, s = r.reference,
+                            d = -1 !== ["left", "right"].indexOf(a), u = d ? "height" : "width", c = d ? "Top" : "Left",
+                            h = c.toLowerCase(), m = d ? "left" : "top", f = d ? "bottom" : "right", _ = P(i)[u];
+                        s[f] - _ < o[h] && (e.offsets.popper[h] -= o[h] - (s[f] - _)), s[h] + _ > o[f] && (e.offsets.popper[h] += s[h] + _ - o[f]), e.offsets.popper = k(e.offsets.popper);
+                        var p = s[h] + s[u] / 2 - _ / 2, g = l(e.instance.popper), y = parseFloat(g["margin" + c]),
+                            v = parseFloat(g["border" + c + "Width"]), M = p - e.offsets.popper[h] - y - v;
+                        return M = Math.max(Math.min(o[u] - _, M), 0), e.arrowElement = i, e.offsets.arrow = (L(n = {}, h, Math.round(M)), L(n, m, ""), n), e
+                    }, element: "[x-arrow]"
+                }, flip: {
+                    order: 600,
+                    enabled: !0,
+                    fn: function (e, t) {
+                        if (z(e.instance.modifiers, "inner")) return e;
+                        if (e.flipped && e.placement === e.originalPlacement) return e;
+                        var n = E(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement, e.positionFixed),
+                            i = e.placement.split("-")[0], a = C(i), r = e.placement.split("-")[1] || "", l = [];
+                        switch (t.behavior) {
+                            case ne:
+                                l = [i, a];
+                                break;
+                            case ie:
+                                l = te(i);
+                                break;
+                            case ae:
+                                l = te(i, !0);
+                                break;
+                            default:
+                                l = t.behavior
+                        }
+                        return l.forEach((function (o, s) {
+                            if (i !== o || l.length === s + 1) return e;
+                            i = e.placement.split("-")[0], a = C(i);
+                            var d = e.offsets.popper, u = e.offsets.reference, c = Math.floor,
+                                h = "left" === i && c(d.right) > c(u.left) || "right" === i && c(d.left) < c(u.right) || "top" === i && c(d.bottom) > c(u.top) || "bottom" === i && c(d.top) < c(u.bottom),
+                                m = c(d.left) < c(n.left), f = c(d.right) > c(n.right), _ = c(d.top) < c(n.top),
+                                p = c(d.bottom) > c(n.bottom),
+                                g = "left" === i && m || "right" === i && f || "top" === i && _ || "bottom" === i && p,
+                                y = -1 !== ["top", "bottom"].indexOf(i),
+                                v = !!t.flipVariations && (y && "start" === r && m || y && "end" === r && f || !y && "start" === r && _ || !y && "end" === r && p),
+                                M = !!t.flipVariationsByContent && (y && "start" === r && f || y && "end" === r && m || !y && "start" === r && p || !y && "end" === r && _),
+                                b = v || M;
+                            (h || g || b) && (e.flipped = !0, (h || g) && (i = l[s + 1]), b && (r = function (e) {
+                                return "end" === e ? "start" : "start" === e ? "end" : e
+                            }(r)), e.placement = i + (r ? "-" + r : ""), e.offsets.popper = w({}, e.offsets.popper, F(e.instance.popper, e.offsets.reference, e.placement)), e = W(e.instance.modifiers, e, "flip"))
+                        })), e
+                    },
+                    behavior: "flip",
+                    padding: 5,
+                    boundariesElement: "viewport",
+                    flipVariations: !1,
+                    flipVariationsByContent: !1
+                }, inner: {
+                    order: 700, enabled: !1, fn: function (e) {
+                        var t = e.placement, n = t.split("-")[0], i = e.offsets, a = i.popper, r = i.reference,
+                            l = -1 !== ["left", "right"].indexOf(n), o = -1 === ["top", "left"].indexOf(n);
+                        return a[l ? "left" : "top"] = r[n] - (o ? a[l ? "width" : "height"] : 0), e.placement = C(t), e.offsets.popper = k(a), e
+                    }
+                }, hide: {
+                    order: 800, enabled: !0, fn: function (e) {
+                        if (!$(e.instance.modifiers, "hide", "preventOverflow")) return e;
+                        var t = e.offsets.reference, n = I(e.instance.modifiers, (function (e) {
+                            return "preventOverflow" === e.name
+                        })).boundaries;
+                        if (t.bottom < n.top || t.left > n.right || t.top > n.bottom || t.right < n.left) {
+                            if (!0 === e.hide) return e;
+                            e.hide = !0, e.attributes["x-out-of-boundaries"] = ""
+                        } else {
+                            if (!1 === e.hide) return e;
+                            e.hide = !1, e.attributes["x-out-of-boundaries"] = !1
+                        }
+                        return e
+                    }
+                }, computeStyle: {
+                    order: 850, enabled: !0, fn: function (e, t) {
+                        var n = t.x, i = t.y, a = e.offsets.popper, r = I(e.instance.modifiers, (function (e) {
+                            return "applyStyle" === e.name
+                        })).gpuAcceleration;
+                        void 0 !== r && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
+                        var l = void 0 !== r ? r : t.gpuAcceleration, o = m(e.instance.popper), s = Y(o),
+                            d = {position: a.position}, u = function (e, t) {
+                                var n = e.offsets, i = n.popper, a = n.reference, r = Math.round, l = Math.floor,
+                                    o = function (e) {
+                                        return e
+                                    }, s = r(a.width), d = r(i.width), u = -1 !== ["left", "right"].indexOf(e.placement),
+                                    c = -1 !== e.placement.indexOf("-"), h = t ? u || c || s % 2 == d % 2 ? r : l : o,
+                                    m = t ? r : o;
+                                return {
+                                    left: h(s % 2 == 1 && d % 2 == 1 && !c && t ? i.left - 1 : i.left),
+                                    top: m(i.top),
+                                    bottom: m(i.bottom),
+                                    right: h(i.right)
+                                }
+                            }(e, window.devicePixelRatio < 2 || !X), c = "bottom" === n ? "top" : "bottom",
+                            h = "right" === i ? "left" : "right", f = R("transform"), _ = void 0, p = void 0;
+                        if (p = "bottom" === c ? "HTML" === o.nodeName ? -o.clientHeight + u.bottom : -s.height + u.bottom : u.top, _ = "right" === h ? "HTML" === o.nodeName ? -o.clientWidth + u.right : -s.width + u.right : u.left, l && f) d[f] = "translate3d(" + _ + "px, " + p + "px, 0)", d[c] = 0, d[h] = 0, d.willChange = "transform"; else {
+                            var g = "bottom" === c ? -1 : 1, y = "right" === h ? -1 : 1;
+                            d[c] = p * g, d[h] = _ * y, d.willChange = c + ", " + h
+                        }
+                        var v = {"x-placement": e.placement};
+                        return e.attributes = w({}, v, e.attributes), e.styles = w({}, d, e.styles), e.arrowStyles = w({}, e.offsets.arrow, e.arrowStyles), e
+                    }, gpuAcceleration: !0, x: "bottom", y: "right"
+                }, applyStyle: {
+                    order: 900, enabled: !0, fn: function (e) {
+                        var t, n;
+                        return K(e.instance.popper, e.styles), t = e.instance.popper, n = e.attributes, Object.keys(n).forEach((function (e) {
+                            !1 !== n[e] ? t.setAttribute(e, n[e]) : t.removeAttribute(e)
+                        })), e.arrowElement && Object.keys(e.arrowStyles).length && K(e.arrowElement, e.arrowStyles), e
+                    }, onLoad: function (e, t, n, i, a) {
+                        var r = A(a, t, e, n.positionFixed),
+                            l = O(n.placement, r, t, e, n.modifiers.flip.boundariesElement, n.modifiers.flip.padding);
+                        return t.setAttribute("x-placement", l), K(t, {position: n.positionFixed ? "fixed" : "absolute"}), n
+                    }, gpuAcceleration: void 0
+                }
+            }
+        }, oe = function () {
+            function e(t, n) {
+                var i = this, l = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
+                b(this, e), this.scheduleUpdate = function () {
+                    return requestAnimationFrame(i.update)
+                }, this.update = a(this.update.bind(this)), this.options = w({}, e.Defaults, l), this.state = {
+                    isDestroyed: !1,
+                    isCreated: !1,
+                    scrollParents: []
+                }, this.reference = t && t.jquery ? t[0] : t, this.popper = n && n.jquery ? n[0] : n, this.options.modifiers = {}, Object.keys(w({}, e.Defaults.modifiers, l.modifiers)).forEach((function (t) {
+                    i.options.modifiers[t] = w({}, e.Defaults.modifiers[t] || {}, l.modifiers ? l.modifiers[t] : {})
+                })), this.modifiers = Object.keys(this.options.modifiers).map((function (e) {
+                    return w({name: e}, i.options.modifiers[e])
+                })).sort((function (e, t) {
+                    return e.order - t.order
+                })), this.modifiers.forEach((function (e) {
+                    e.enabled && r(e.onLoad) && e.onLoad(i.reference, i.popper, i.options, e, i.state)
+                })), this.update();
+                var o = this.options.eventsEnabled;
+                o && this.enableEventListeners(), this.state.eventsEnabled = o
+            }
+
+            return x(e, [{
+                key: "update", value: function () {
+                    return N.call(this)
+                }
+            }, {
+                key: "destroy", value: function () {
+                    return V.call(this)
+                }
+            }, {
+                key: "enableEventListeners", value: function () {
+                    return J.call(this)
+                }
+            }, {
+                key: "disableEventListeners", value: function () {
+                    return G.call(this)
+                }
+            }]), e
+        }();
+        oe.Utils = ("undefined" != typeof window ? window : e).PopperUtils, oe.placements = Q, oe.Defaults = le, t.a = oe
+    }).call(this, n(11))
+}, function (e, t, n) {
+    var i = n(22), a = n(12);
+    e.exports = function (e) {
+        return i(a(e))
+    }
+}, function (e, t, n) {
+    var i = n(2), a = n(16), r = "".split;
+    e.exports = i((function () {
+        return !Object("z").propertyIsEnumerable(0)
+    })) ? function (e) {
+        return "String" == a(e) ? r.call(e, "") : Object(e)
+    } : Object
+}, function (e, t) {
+    e.exports = {}
+}, function (e, t) {
+    var n = Math.ceil, i = Math.floor;
+    e.exports = function (e) {
+        return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
+    }
+}, function (e, t) {
+    var n = !("undefined" == typeof window || !window.document || !window.document.createElement);
+    e.exports = n
+}, function (e, t, n) {
+    var i = n(27);
+    e.exports = function (e) {
+        if (!i(e)) throw TypeError(e + " is not an object!");
+        return e
+    }
+}, function (e, t) {
+    e.exports = function (e) {
+        return "object" == typeof e ? null !== e : "function" == typeof e
+    }
+}, function (e, t) {
+    e.exports = function (e) {
+        if (null == e) throw TypeError("Can't call method on  " + e);
+        return e
+    }
+}, function (e, t) {
+    var n = Math.ceil, i = Math.floor;
+    e.exports = function (e) {
+        return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
+    }
+}, function (e, t) {
+    var n = e.exports = {version: "2.6.12"};
+    "number" == typeof __e && (__e = n)
+}, function (e, t, n) {
+    var i = n(245), a = n(249);
+    e.exports = n(32) ? function (e, t, n) {
+        return i.f(e, t, a(1, n))
+    } : function (e, t, n) {
+        return e[t] = n, e
+    }
+}, function (e, t, n) {
+    e.exports = !n(33)((function () {
+        return 7 != Object.defineProperty({}, "a", {
+            get: function () {
+                return 7
+            }
+        }).a
+    }))
+}, function (e, t) {
+    e.exports = function (e) {
+        try {
+            return !!e()
+        } catch (e) {
+            return !0
+        }
+    }
+}, function (e, t) {
+    e.exports = function (e, t) {
+        return {enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t}
+    }
+}, function (e, t, n) {
+    var i = n(1), a = n(7);
+    e.exports = function (e, t) {
+        try {
+            a(i, e, t)
+        } catch (n) {
+            i[e] = t
+        }
+        return t
+    }
+}, function (e, t, n) {
+    var i = n(1), a = n(35), r = "__core-js_shared__", l = i[r] || a(r, {});
+    e.exports = l
+}, function (e, t, n) {
+    var i = n(198), a = n(39), r = i("keys");
+    e.exports = function (e) {
+        return r[e] || (r[e] = a(e))
+    }
+}, function (e, t) {
+    e.exports = !1
+}, function (e, t) {
+    var n = 0, i = Math.random();
+    e.exports = function (e) {
+        return "Symbol(" + String(void 0 === e ? "" : e) + ")_" + (++n + i).toString(36)
+    }
+}, function (e, t, n) {
+    var i = n(259), a = n(1), r = function (e) {
+        return "function" == typeof e ? e : void 0
+    };
+    e.exports = function (e, t) {
+        return arguments.length < 2 ? r(i[e]) || r(a[e]) : i[e] && i[e][t] || a[e] && a[e][t]
+    }
+}, function (e, t) {
+    e.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"]
+}, function (e, t, n) {
+    var i = n(203), a = n(22), r = n(18), l = n(14), o = n(263), s = [].push, d = function (e) {
+        var t = 1 == e, n = 2 == e, d = 3 == e, u = 4 == e, c = 6 == e, h = 7 == e, m = 5 == e || c;
+        return function (f, _, p, g) {
+            for (var y, v, M = r(f), b = a(M), x = i(_, p, 3), L = l(b.length), w = 0, k = g || o, Y = t ? k(f, L) : n || h ? k(f, 0) : void 0; L > w; w++) if ((m || w in b) && (v = x(y = b[w], w, M), e)) if (t) Y[w] = v; else if (v) switch (e) {
+                case 3:
+                    return !0;
+                case 5:
+                    return y;
+                case 6:
+                    return w;
+                case 2:
+                    s.call(Y, y)
+            } else switch (e) {
+                case 4:
+                    return !1;
+                case 7:
+                    s.call(Y, y)
+            }
+            return c ? -1 : d || u ? u : Y
+        }
+    };
+    e.exports = {
+        forEach: d(0),
+        map: d(1),
+        filter: d(2),
+        some: d(3),
+        every: d(4),
+        find: d(5),
+        findIndex: d(6),
+        filterOut: d(7)
+    }
+}, function (e, t, n) {
+    var i = n(9), a = n(2), r = n(4), l = Object.defineProperty, o = {}, s = function (e) {
+        throw e
+    };
+    e.exports = function (e, t) {
+        if (r(o, e)) return o[e];
+        t || (t = {});
+        var n = [][e], d = !!r(t, "ACCESSORS") && t.ACCESSORS, u = r(t, 0) ? t[0] : s, c = r(t, 1) ? t[1] : void 0;
+        return o[e] = !!n && !a((function () {
+            if (d && !i) return !0;
+            var e = {length: -1};
+            d ? l(e, 1, {enumerable: !0, get: s}) : e[1] = 1, n.call(e, u, c)
+        }))
+    }
+}, function (e, t, n) {
+    var i = n(10).f, a = n(4), r = n(3)("toStringTag");
+    e.exports = function (e, t, n) {
+        e && !a(e = n ? e : e.prototype, r) && i(e, r, {configurable: !0, value: t})
+    }
+}, function (e, t, n) {
+    var i = {};
+    i[n(3)("toStringTag")] = "z", e.exports = "[object z]" === String(i)
+}, function (e, t, n) {
+    var i = n(23), a = n(5), r = n(4), l = n(10).f, o = n(39), s = n(285), d = o("meta"), u = 0,
+        c = Object.isExtensible || function () {
+            return !0
+        }, h = function (e) {
+            l(e, d, {value: {objectID: "O" + ++u, weakData: {}}})
+        }, m = e.exports = {
+            REQUIRED: !1, fastKey: function (e, t) {
+                if (!a(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
+                if (!r(e, d)) {
+                    if (!c(e)) return "F";
+                    if (!t) return "E";
+                    h(e)
+                }
+                return e[d].objectID
+            }, getWeakData: function (e, t) {
+                if (!r(e, d)) {
+                    if (!c(e)) return !0;
+                    if (!t) return !1;
+                    h(e)
+                }
+                return e[d].weakData
+            }, onFreeze: function (e) {
+                return s && m.REQUIRED && c(e) && !r(e, d) && h(e), e
+            }
+        };
+    i[d] = !0
+}, function (e, t, n) {
+    "use strict";
+    var i, a, r = n(298), l = n(299), o = RegExp.prototype.exec, s = String.prototype.replace, d = o,
+        u = (i = /a/, a = /b*/g, o.call(i, "a"), o.call(a, "a"), 0 !== i.lastIndex || 0 !== a.lastIndex),
+        c = l.UNSUPPORTED_Y || l.BROKEN_CARET, h = void 0 !== /()??/.exec("")[1];
+    (u || h || c) && (d = function (e) {
+        var t, n, i, a, l = this, d = c && l.sticky, m = r.call(l), f = l.source, _ = 0, p = e;
+        return d && (-1 === (m = m.replace("y", "")).indexOf("g") && (m += "g"), p = String(e).slice(l.lastIndex), l.lastIndex > 0 && (!l.multiline || l.multiline && "\n" !== e[l.lastIndex - 1]) && (f = "(?: " + f + ")", p = " " + p, _++), n = new RegExp("^(?:" + f + ")", m)), h && (n = new RegExp("^" + f + "$(?!\\s)", m)), u && (t = l.lastIndex), i = o.call(d ? n : l, p), d ? i ? (i.input = i.input.slice(_), i[0] = i[0].slice(_), i.index = l.lastIndex, l.lastIndex += i[0].length) : l.lastIndex = 0 : u && i && (l.lastIndex = l.global ? i.index + i[0].length : t), h && i && i.length > 1 && s.call(i[0], n, (function () {
+            for (a = 1; a < arguments.length - 2; a++) void 0 === arguments[a] && (i[a] = void 0)
+        })), i
+    }), e.exports = d
+}, function (e, t, n) {
+    var i;
+    "undefined" != typeof self && self, i = function () {
+        return function (e) {
+            var t = {};
+
+            function n(i) {
+                if (t[i]) return t[i].exports;
+                var a = t[i] = {i: i, l: !1, exports: {}};
+                return e[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports
+            }
+
+            return n.m = e, n.c = t, n.d = function (e, t, i) {
+                n.o(e, t) || Object.defineProperty(e, t, {configurable: !1, enumerable: !0, get: i})
+            }, n.r = function (e) {
+                Object.defineProperty(e, "__esModule", {value: !0})
+            }, n.n = function (e) {
+                var t = e && e.__esModule ? function () {
+                    return e.default
+                } : function () {
+                    return e
+                };
+                return n.d(t, "a", t), t
+            }, n.o = function (e, t) {
+                return Object.prototype.hasOwnProperty.call(e, t)
+            }, n.p = "", n(n.s = 0)
+        }({
+            "./dist/icons.json": function (e) {
+                e.exports = {
+                    activity: '<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>',
+                    airplay: '<path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><polygon points="12 15 17 21 7 21 12 15"></polygon>',
+                    "alert-circle": '<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>',
+                    "alert-octagon": '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>',
+                    "alert-triangle": '<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line>',
+                    "align-center": '<line x1="18" y1="10" x2="6" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="18" y1="18" x2="6" y2="18"></line>',
+                    "align-justify": '<line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line>',
+                    "align-left": '<line x1="17" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="17" y1="18" x2="3" y2="18"></line>',
+                    "align-right": '<line x1="21" y1="10" x2="7" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="7" y2="18"></line>',
+                    anchor: '<circle cx="12" cy="5" r="3"></circle><line x1="12" y1="22" x2="12" y2="8"></line><path d="M5 12H2a10 10 0 0 0 20 0h-3"></path>',
+                    aperture: '<circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line>',
+                    archive: '<polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line>',
+                    "arrow-down-circle": '<circle cx="12" cy="12" r="10"></circle><polyline points="8 12 12 16 16 12"></polyline><line x1="12" y1="8" x2="12" y2="16"></line>',
+                    "arrow-down-left": '<line x1="17" y1="7" x2="7" y2="17"></line><polyline points="17 17 7 17 7 7"></polyline>',
+                    "arrow-down-right": '<line x1="7" y1="7" x2="17" y2="17"></line><polyline points="17 7 17 17 7 17"></polyline>',
+                    "arrow-down": '<line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline>',
+                    "arrow-left-circle": '<circle cx="12" cy="12" r="10"></circle><polyline points="12 8 8 12 12 16"></polyline><line x1="16" y1="12" x2="8" y2="12"></line>',
+                    "arrow-left": '<line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline>',
+                    "arrow-right-circle": '<circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    "arrow-right": '<line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline>',
+                    "arrow-up-circle": '<circle cx="12" cy="12" r="10"></circle><polyline points="16 12 12 8 8 12"></polyline><line x1="12" y1="16" x2="12" y2="8"></line>',
+                    "arrow-up-left": '<line x1="17" y1="17" x2="7" y2="7"></line><polyline points="7 17 7 7 17 7"></polyline>',
+                    "arrow-up-right": '<line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline>',
+                    "arrow-up": '<line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>',
+                    "at-sign": '<circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path>',
+                    award: '<circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline>',
+                    "bar-chart-2": '<line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line>',
+                    "bar-chart": '<line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line>',
+                    "battery-charging": '<path d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19"></path><line x1="23" y1="13" x2="23" y2="11"></line><polyline points="11 6 7 12 13 12 9 18"></polyline>',
+                    battery: '<rect x="1" y="6" width="18" height="12" rx="2" ry="2"></rect><line x1="23" y1="13" x2="23" y2="11"></line>',
+                    "bell-off": '<path d="M13.73 21a2 2 0 0 1-3.46 0"></path><path d="M18.63 13A17.89 17.89 0 0 1 18 8"></path><path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14"></path><path d="M18 8a6 6 0 0 0-9.33-5"></path><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    bell: '<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path>',
+                    bluetooth: '<polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline>',
+                    bold: '<path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path>',
+                    "book-open": '<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path>',
+                    book: '<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path>',
+                    bookmark: '<path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path>',
+                    box: '<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',
+                    briefcase: '<rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path>',
+                    calendar: '<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>',
+                    "camera-off": '<line x1="1" y1="1" x2="23" y2="23"></line><path d="M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56"></path>',
+                    camera: '<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle>',
+                    cast: '<path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path><line x1="2" y1="20" x2="2.01" y2="20"></line>',
+                    "check-circle": '<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>',
+                    "check-square": '<polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path>',
+                    check: '<polyline points="20 6 9 17 4 12"></polyline>',
+                    "chevron-down": '<polyline points="6 9 12 15 18 9"></polyline>',
+                    "chevron-left": '<polyline points="15 18 9 12 15 6"></polyline>',
+                    "chevron-right": '<polyline points="9 18 15 12 9 6"></polyline>',
+                    "chevron-up": '<polyline points="18 15 12 9 6 15"></polyline>',
+                    "chevrons-down": '<polyline points="7 13 12 18 17 13"></polyline><polyline points="7 6 12 11 17 6"></polyline>',
+                    "chevrons-left": '<polyline points="11 17 6 12 11 7"></polyline><polyline points="18 17 13 12 18 7"></polyline>',
+                    "chevrons-right": '<polyline points="13 17 18 12 13 7"></polyline><polyline points="6 17 11 12 6 7"></polyline>',
+                    "chevrons-up": '<polyline points="17 11 12 6 7 11"></polyline><polyline points="17 18 12 13 7 18"></polyline>',
+                    chrome: '<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line>',
+                    circle: '<circle cx="12" cy="12" r="10"></circle>',
+                    clipboard: '<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect>',
+                    clock: '<circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline>',
+                    "cloud-drizzle": '<line x1="8" y1="19" x2="8" y2="21"></line><line x1="8" y1="13" x2="8" y2="15"></line><line x1="16" y1="19" x2="16" y2="21"></line><line x1="16" y1="13" x2="16" y2="15"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="12" y1="15" x2="12" y2="17"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',
+                    "cloud-lightning": '<path d="M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9"></path><polyline points="13 11 9 17 15 17 11 23"></polyline>',
+                    "cloud-off": '<path d="M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3"></path><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    "cloud-rain": '<line x1="16" y1="13" x2="16" y2="21"></line><line x1="8" y1="13" x2="8" y2="21"></line><line x1="12" y1="15" x2="12" y2="23"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',
+                    "cloud-snow": '<path d="M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25"></path><line x1="8" y1="16" x2="8.01" y2="16"></line><line x1="8" y1="20" x2="8.01" y2="20"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="12" y1="22" x2="12.01" y2="22"></line><line x1="16" y1="16" x2="16.01" y2="16"></line><line x1="16" y1="20" x2="16.01" y2="20"></line>',
+                    cloud: '<path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"></path>',
+                    code: '<polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline>',
+                    codepen: '<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon><line x1="12" y1="22" x2="12" y2="15.5"></line><polyline points="22 8.5 12 15.5 2 8.5"></polyline><polyline points="2 15.5 12 8.5 22 15.5"></polyline><line x1="12" y1="2" x2="12" y2="8.5"></line>',
+                    codesandbox: '<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="7.5 4.21 12 6.81 16.5 4.21"></polyline><polyline points="7.5 19.79 7.5 14.6 3 12"></polyline><polyline points="21 12 16.5 14.6 16.5 19.79"></polyline><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',
+                    coffee: '<path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line>',
+                    columns: '<path d="M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18"></path>',
+                    command: '<path d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"></path>',
+                    compass: '<circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon>',
+                    copy: '<rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>',
+                    "corner-down-left": '<polyline points="9 10 4 15 9 20"></polyline><path d="M20 4v7a4 4 0 0 1-4 4H4"></path>',
+                    "corner-down-right": '<polyline points="15 10 20 15 15 20"></polyline><path d="M4 4v7a4 4 0 0 0 4 4h12"></path>',
+                    "corner-left-down": '<polyline points="14 15 9 20 4 15"></polyline><path d="M20 4h-7a4 4 0 0 0-4 4v12"></path>',
+                    "corner-left-up": '<polyline points="14 9 9 4 4 9"></polyline><path d="M20 20h-7a4 4 0 0 1-4-4V4"></path>',
+                    "corner-right-down": '<polyline points="10 15 15 20 20 15"></polyline><path d="M4 4h7a4 4 0 0 1 4 4v12"></path>',
+                    "corner-right-up": '<polyline points="10 9 15 4 20 9"></polyline><path d="M4 20h7a4 4 0 0 0 4-4V4"></path>',
+                    "corner-up-left": '<polyline points="9 14 4 9 9 4"></polyline><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path>',
+                    "corner-up-right": '<polyline points="15 14 20 9 15 4"></polyline><path d="M4 20v-7a4 4 0 0 1 4-4h12"></path>',
+                    cpu: '<rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line>',
+                    "credit-card": '<rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect><line x1="1" y1="10" x2="23" y2="10"></line>',
+                    crop: '<path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"></path><path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"></path>',
+                    crosshair: '<circle cx="12" cy="12" r="10"></circle><line x1="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line>',
+                    database: '<ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"></path><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path>',
+                    delete: '<path d="M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"></path><line x1="18" y1="9" x2="12" y2="15"></line><line x1="12" y1="9" x2="18" y2="15"></line>',
+                    disc: '<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="3"></circle>',
+                    "divide-circle": '<line x1="8" y1="12" x2="16" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line><line x1="12" y1="8" x2="12" y2="8"></line><circle cx="12" cy="12" r="10"></circle>',
+                    "divide-square": '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="8" y1="12" x2="16" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line><line x1="12" y1="8" x2="12" y2="8"></line>',
+                    divide: '<circle cx="12" cy="6" r="2"></circle><line x1="5" y1="12" x2="19" y2="12"></line><circle cx="12" cy="18" r="2"></circle>',
+                    "dollar-sign": '<line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>',
+                    "download-cloud": '<polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path>',
+                    download: '<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line>',
+                    dribbble: '<circle cx="12" cy="12" r="10"></circle><path d="M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32"></path>',
+                    droplet: '<path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path>',
+                    "edit-2": '<path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path>',
+                    "edit-3": '<path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path>',
+                    edit: '<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path>',
+                    "external-link": '<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>',
+                    "eye-off": '<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    eye: '<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle>',
+                    facebook: '<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path>',
+                    "fast-forward": '<polygon points="13 19 22 12 13 5 13 19"></polygon><polygon points="2 19 11 12 2 5 2 19"></polygon>',
+                    feather: '<path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17.5" y1="15" x2="9" y2="15"></line>',
+                    figma: '<path d="M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z"></path><path d="M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z"></path><path d="M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z"></path><path d="M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z"></path><path d="M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z"></path>',
+                    "file-minus": '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line>',
+                    "file-plus": '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line>',
+                    "file-text": '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline>',
+                    file: '<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>',
+                    film: '<rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="7" y1="2" x2="7" y2="22"></line><line x1="17" y1="2" x2="17" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line><line x1="2" y1="7" x2="7" y2="7"></line><line x1="2" y1="17" x2="7" y2="17"></line><line x1="17" y1="17" x2="22" y2="17"></line><line x1="17" y1="7" x2="22" y2="7"></line>',
+                    filter: '<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>',
+                    flag: '<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line>',
+                    "folder-minus": '<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="9" y1="14" x2="15" y2="14"></line>',
+                    "folder-plus": '<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="12" y1="11" x2="12" y2="17"></line><line x1="9" y1="14" x2="15" y2="14"></line>',
+                    folder: '<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>',
+                    framer: '<path d="M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7"></path>',
+                    frown: '<circle cx="12" cy="12" r="10"></circle><path d="M16 16s-1.5-2-4-2-4 2-4 2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',
+                    gift: '<polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>',
+                    "git-branch": '<line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path>',
+                    "git-commit": '<circle cx="12" cy="12" r="4"></circle><line x1="1.05" y1="12" x2="7" y2="12"></line><line x1="17.01" y1="12" x2="22.96" y2="12"></line>',
+                    "git-merge": '<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path>',
+                    "git-pull-request": '<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" y1="9" x2="6" y2="21"></line>',
+                    github: '<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>',
+                    gitlab: '<path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path>',
+                    globe: '<circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path>',
+                    grid: '<rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect>',
+                    "hard-drive": '<line x1="22" y1="12" x2="2" y2="12"></line><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" y1="16" x2="6.01" y2="16"></line><line x1="10" y1="16" x2="10.01" y2="16"></line>',
+                    hash: '<line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line>',
+                    headphones: '<path d="M3 18v-6a9 9 0 0 1 18 0v6"></path><path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>',
+                    heart: '<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>',
+                    "help-circle": '<circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line>',
+                    hexagon: '<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>',
+                    home: '<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline>',
+                    image: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline>',
+                    inbox: '<polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path>',
+                    info: '<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line>',
+                    instagram: '<rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line>',
+                    italic: '<line x1="19" y1="4" x2="10" y2="4"></line><line x1="14" y1="20" x2="5" y2="20"></line><line x1="15" y1="4" x2="9" y2="20"></line>',
+                    key: '<path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"></path>',
+                    layers: '<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline>',
+                    layout: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line>',
+                    "life-buoy": '<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="4.93" y1="4.93" x2="9.17" y2="9.17"></line><line x1="14.83" y1="14.83" x2="19.07" y2="19.07"></line><line x1="14.83" y1="9.17" x2="19.07" y2="4.93"></line><line x1="14.83" y1="9.17" x2="18.36" y2="5.64"></line><line x1="4.93" y1="19.07" x2="9.17" y2="14.83"></line>',
+                    "link-2": '<path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    link: '<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>',
+                    linkedin: '<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle>',
+                    list: '<line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line>',
+                    loader: '<line x1="12" y1="2" x2="12" y2="6"></line><line x1="12" y1="18" x2="12" y2="22"></line><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"></line><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"></line><line x1="2" y1="12" x2="6" y2="12"></line><line x1="18" y1="12" x2="22" y2="12"></line><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"></line><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"></line>',
+                    lock: '<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path>',
+                    "log-in": '<path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" y1="12" x2="3" y2="12"></line>',
+                    "log-out": '<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line>',
+                    mail: '<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>',
+                    "map-pin": '<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle>',
+                    map: '<polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"></polygon><line x1="8" y1="2" x2="8" y2="18"></line><line x1="16" y1="6" x2="16" y2="22"></line>',
+                    "maximize-2": '<polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line>',
+                    maximize: '<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path>',
+                    meh: '<circle cx="12" cy="12" r="10"></circle><line x1="8" y1="15" x2="16" y2="15"></line><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',
+                    menu: '<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>',
+                    "message-circle": '<path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path>',
+                    "message-square": '<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>',
+                    "mic-off": '<line x1="1" y1="1" x2="23" y2="23"></line><path d="M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6"></path><path d="M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',
+                    mic: '<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',
+                    "minimize-2": '<polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line>',
+                    minimize: '<path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"></path>',
+                    "minus-circle": '<circle cx="12" cy="12" r="10"></circle><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    "minus-square": '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    minus: '<line x1="5" y1="12" x2="19" y2="12"></line>',
+                    monitor: '<rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line>',
+                    moon: '<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>',
+                    "more-horizontal": '<circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle>',
+                    "more-vertical": '<circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle>',
+                    "mouse-pointer": '<path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path><path d="M13 13l6 6"></path>',
+                    move: '<polyline points="5 9 2 12 5 15"></polyline><polyline points="9 5 12 2 15 5"></polyline><polyline points="15 19 12 22 9 19"></polyline><polyline points="19 9 22 12 19 15"></polyline><line x1="2" y1="12" x2="22" y2="12"></line><line x1="12" y1="2" x2="12" y2="22"></line>',
+                    music: '<path d="M9 18V5l12-2v13"></path><circle cx="6" cy="18" r="3"></circle><circle cx="18" cy="16" r="3"></circle>',
+                    "navigation-2": '<polygon points="12 2 19 21 12 17 5 21 12 2"></polygon>',
+                    navigation: '<polygon points="3 11 22 2 13 21 11 13 3 11"></polygon>',
+                    octagon: '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>',
+                    package: '<line x1="16.5" y1="9.4" x2="7.5" y2="4.21"></line><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',
+                    paperclip: '<path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path>',
+                    "pause-circle": '<circle cx="12" cy="12" r="10"></circle><line x1="10" y1="15" x2="10" y2="9"></line><line x1="14" y1="15" x2="14" y2="9"></line>',
+                    pause: '<rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect>',
+                    "pen-tool": '<path d="M12 19l7-7 3 3-7 7-3-3z"></path><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"></path><path d="M2 2l7.586 7.586"></path><circle cx="11" cy="11" r="2"></circle>',
+                    percent: '<line x1="19" y1="5" x2="5" y2="19"></line><circle cx="6.5" cy="6.5" r="2.5"></circle><circle cx="17.5" cy="17.5" r="2.5"></circle>',
+                    "phone-call": '<path d="M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    "phone-forwarded": '<polyline points="19 1 23 5 19 9"></polyline><line x1="15" y1="5" x2="23" y2="5"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    "phone-incoming": '<polyline points="16 2 16 8 22 8"></polyline><line x1="23" y1="1" x2="16" y2="8"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    "phone-missed": '<line x1="23" y1="1" x2="17" y2="7"></line><line x1="17" y1="1" x2="23" y2="7"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    "phone-off": '<path d="M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"></path><line x1="23" y1="1" x2="1" y2="23"></line>',
+                    "phone-outgoing": '<polyline points="23 7 23 1 17 1"></polyline><line x1="16" y1="8" x2="23" y2="1"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    phone: '<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',
+                    "pie-chart": '<path d="M21.21 15.89A10 10 0 1 1 8 2.83"></path><path d="M22 12A10 10 0 0 0 12 2v10z"></path>',
+                    "play-circle": '<circle cx="12" cy="12" r="10"></circle><polygon points="10 8 16 12 10 16 10 8"></polygon>',
+                    play: '<polygon points="5 3 19 12 5 21 5 3"></polygon>',
+                    "plus-circle": '<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    "plus-square": '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',
+                    plus: '<line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line>',
+                    pocket: '<path d="M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"></path><polyline points="8 10 12 14 16 10"></polyline>',
+                    power: '<path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line>',
+                    printer: '<polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect>',
+                    radio: '<circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path>',
+                    "refresh-ccw": '<polyline points="1 4 1 10 7 10"></polyline><polyline points="23 20 23 14 17 14"></polyline><path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15"></path>',
+                    "refresh-cw": '<polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path>',
+                    repeat: '<polyline points="17 1 21 5 17 9"></polyline><path d="M3 11V9a4 4 0 0 1 4-4h14"></path><polyline points="7 23 3 19 7 15"></polyline><path d="M21 13v2a4 4 0 0 1-4 4H3"></path>',
+                    rewind: '<polygon points="11 19 2 12 11 5 11 19"></polygon><polygon points="22 19 13 12 22 5 22 19"></polygon>',
+                    "rotate-ccw": '<polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path>',
+                    "rotate-cw": '<polyline points="23 4 23 10 17 10"></polyline><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"></path>',
+                    rss: '<path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle>',
+                    save: '<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline>',
+                    scissors: '<circle cx="6" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><line x1="20" y1="4" x2="8.12" y2="15.88"></line><line x1="14.47" y1="14.48" x2="20" y2="20"></line><line x1="8.12" y1="8.12" x2="12" y2="12"></line>',
+                    search: '<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>',
+                    send: '<line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>',
+                    server: '<rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line>',
+                    settings: '<circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>',
+                    "share-2": '<circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line>',
+                    share: '<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line>',
+                    "shield-off": '<path d="M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18"></path><path d="M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38"></path><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    shield: '<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>',
+                    "shopping-bag": '<path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path>',
+                    "shopping-cart": '<circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>',
+                    shuffle: '<polyline points="16 3 21 3 21 8"></polyline><line x1="4" y1="20" x2="21" y2="3"></line><polyline points="21 16 21 21 16 21"></polyline><line x1="15" y1="15" x2="21" y2="21"></line><line x1="4" y1="4" x2="9" y2="9"></line>',
+                    sidebar: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line>',
+                    "skip-back": '<polygon points="19 20 9 12 19 4 19 20"></polygon><line x1="5" y1="19" x2="5" y2="5"></line>',
+                    "skip-forward": '<polygon points="5 4 15 12 5 20 5 4"></polygon><line x1="19" y1="5" x2="19" y2="19"></line>',
+                    slack: '<path d="M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z"></path><path d="M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"></path><path d="M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z"></path><path d="M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z"></path><path d="M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z"></path><path d="M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z"></path><path d="M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z"></path><path d="M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z"></path>',
+                    slash: '<circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line>',
+                    sliders: '<line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line>',
+                    smartphone: '<rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>',
+                    smile: '<circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',
+                    speaker: '<rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><circle cx="12" cy="14" r="4"></circle><line x1="12" y1="6" x2="12.01" y2="6"></line>',
+                    square: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>',
+                    star: '<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>',
+                    "stop-circle": '<circle cx="12" cy="12" r="10"></circle><rect x="9" y="9" width="6" height="6"></rect>',
+                    sun: '<circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>',
+                    sunrise: '<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="2" x2="12" y2="9"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="8 6 12 2 16 6"></polyline>',
+                    sunset: '<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="9" x2="12" y2="2"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="16 5 12 9 8 5"></polyline>',
+                    tablet: '<rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>',
+                    tag: '<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line>',
+                    target: '<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle>',
+                    terminal: '<polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line>',
+                    thermometer: '<path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path>',
+                    "thumbs-down": '<path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"></path>',
+                    "thumbs-up": '<path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path>',
+                    "toggle-left": '<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="8" cy="12" r="3"></circle>',
+                    "toggle-right": '<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="16" cy="12" r="3"></circle>',
+                    tool: '<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path>',
+                    "trash-2": '<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line>',
+                    trash: '<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path>',
+                    trello: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><rect x="7" y="7" width="3" height="9"></rect><rect x="14" y="7" width="3" height="5"></rect>',
+                    "trending-down": '<polyline points="23 18 13.5 8.5 8.5 13.5 1 6"></polyline><polyline points="17 18 23 18 23 12"></polyline>',
+                    "trending-up": '<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline>',
+                    triangle: '<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>',
+                    truck: '<rect x="1" y="3" width="15" height="13"></rect><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></polygon><circle cx="5.5" cy="18.5" r="2.5"></circle><circle cx="18.5" cy="18.5" r="2.5"></circle>',
+                    tv: '<rect x="2" y="7" width="20" height="15" rx="2" ry="2"></rect><polyline points="17 2 12 7 7 2"></polyline>',
+                    twitch: '<path d="M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"></path>',
+                    twitter: '<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path>',
+                    type: '<polyline points="4 7 4 4 20 4 20 7"></polyline><line x1="9" y1="20" x2="15" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line>',
+                    umbrella: '<path d="M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7"></path>',
+                    underline: '<path d="M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3"></path><line x1="4" y1="21" x2="20" y2="21"></line>',
+                    unlock: '<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 9.9-1"></path>',
+                    "upload-cloud": '<polyline points="16 16 12 12 8 16"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline>',
+                    upload: '<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line>',
+                    "user-check": '<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline>',
+                    "user-minus": '<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="23" y1="11" x2="17" y2="11"></line>',
+                    "user-plus": '<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="20" y1="8" x2="20" y2="14"></line><line x1="23" y1="11" x2="17" y2="11"></line>',
+                    "user-x": '<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="18" y1="8" x2="23" y2="13"></line><line x1="23" y1="8" x2="18" y2="13"></line>',
+                    user: '<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle>',
+                    users: '<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>',
+                    "video-off": '<path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    video: '<polygon points="23 7 16 12 23 17 23 7"></polygon><rect x="1" y="5" width="15" height="14" rx="2" ry="2"></rect>',
+                    voicemail: '<circle cx="5.5" cy="11.5" r="4.5"></circle><circle cx="18.5" cy="11.5" r="4.5"></circle><line x1="5.5" y1="16" x2="18.5" y2="16"></line>',
+                    "volume-1": '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path>',
+                    "volume-2": '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path>',
+                    "volume-x": '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><line x1="23" y1="9" x2="17" y2="15"></line><line x1="17" y1="9" x2="23" y2="15"></line>',
+                    volume: '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>',
+                    watch: '<circle cx="12" cy="12" r="7"></circle><polyline points="12 9 12 12 13.5 13.5"></polyline><path d="M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83"></path>',
+                    "wifi-off": '<line x1="1" y1="1" x2="23" y2="23"></line><path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path><path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path><path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path><path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line>',
+                    wifi: '<path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line>',
+                    wind: '<path d="M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2"></path>',
+                    "x-circle": '<circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',
+                    "x-octagon": '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',
+                    "x-square": '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line>',
+                    x: '<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>',
+                    youtube: '<path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon>',
+                    "zap-off": '<polyline points="12.41 6.75 13 2 10.57 4.92"></polyline><polyline points="18.57 12.91 21 10 15.66 10"></polyline><polyline points="8 8 3 14 12 14 11 22 16 16"></polyline><line x1="1" y1="1" x2="23" y2="23"></line>',
+                    zap: '<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon>',
+                    "zoom-in": '<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line>',
+                    "zoom-out": '<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line>'
+                }
+            }, "./node_modules/classnames/dedupe.js": function (e, t, n) {
+                var i;
+                !function () {
+                    "use strict";
+                    var n = function () {
+                        function e() {
+                        }
+
+                        function t(e, t) {
+                            for (var n = t.length, i = 0; i < n; ++i) a(e, t[i])
+                        }
+
+                        e.prototype = Object.create(null);
+                        var n = {}.hasOwnProperty, i = /\s+/;
+
+                        function a(e, a) {
+                            if (a) {
+                                var r = typeof a;
+                                "string" === r ? function (e, t) {
+                                    for (var n = t.split(i), a = n.length, r = 0; r < a; ++r) e[n[r]] = !0
+                                }(e, a) : Array.isArray(a) ? t(e, a) : "object" === r ? function (e, t) {
+                                    for (var i in t) n.call(t, i) && (e[i] = !!t[i])
+                                }(e, a) : "number" === r && function (e, t) {
+                                    e[t] = !0
+                                }(e, a)
+                            }
+                        }
+
+                        return function () {
+                            for (var n = arguments.length, i = Array(n), a = 0; a < n; a++) i[a] = arguments[a];
+                            var r = new e;
+                            t(r, i);
+                            var l = [];
+                            for (var o in r) r[o] && l.push(o);
+                            return l.join(" ")
+                        }
+                    }();
+                    void 0 !== e && e.exports ? e.exports = n : void 0 === (i = function () {
+                        return n
+                    }.apply(t, [])) || (e.exports = i)
+                }()
+            }, "./node_modules/core-js/es/array/from.js": function (e, t, n) {
+                n("./node_modules/core-js/modules/es.string.iterator.js"), n("./node_modules/core-js/modules/es.array.from.js");
+                var i = n("./node_modules/core-js/internals/path.js");
+                e.exports = i.Array.from
+            }, "./node_modules/core-js/internals/a-function.js": function (e, t) {
+                e.exports = function (e) {
+                    if ("function" != typeof e) throw TypeError(String(e) + " is not a function");
+                    return e
+                }
+            }, "./node_modules/core-js/internals/an-object.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/is-object.js");
+                e.exports = function (e) {
+                    if (!i(e)) throw TypeError(String(e) + " is not an object");
+                    return e
+                }
+            }, "./node_modules/core-js/internals/array-from.js": function (e, t, n) {
+                "use strict";
+                var i = n("./node_modules/core-js/internals/bind-context.js"),
+                    a = n("./node_modules/core-js/internals/to-object.js"),
+                    r = n("./node_modules/core-js/internals/call-with-safe-iteration-closing.js"),
+                    l = n("./node_modules/core-js/internals/is-array-iterator-method.js"),
+                    o = n("./node_modules/core-js/internals/to-length.js"),
+                    s = n("./node_modules/core-js/internals/create-property.js"),
+                    d = n("./node_modules/core-js/internals/get-iterator-method.js");
+                e.exports = function (e) {
+                    var t, n, u, c, h = a(e), m = "function" == typeof this ? this : Array, f = arguments.length,
+                        _ = f > 1 ? arguments[1] : void 0, p = void 0 !== _, g = 0, y = d(h);
+                    if (p && (_ = i(_, f > 2 ? arguments[2] : void 0, 2)), null == y || m == Array && l(y)) for (n = new m(t = o(h.length)); t > g; g++) s(n, g, p ? _(h[g], g) : h[g]); else for (c = y.call(h), n = new m; !(u = c.next()).done; g++) s(n, g, p ? r(c, _, [u.value, g], !0) : u.value);
+                    return n.length = g, n
+                }
+            }, "./node_modules/core-js/internals/array-includes.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/to-indexed-object.js"),
+                    a = n("./node_modules/core-js/internals/to-length.js"),
+                    r = n("./node_modules/core-js/internals/to-absolute-index.js");
+                e.exports = function (e) {
+                    return function (t, n, l) {
+                        var o, s = i(t), d = a(s.length), u = r(l, d);
+                        if (e && n != n) {
+                            for (; d > u;) if ((o = s[u++]) != o) return !0
+                        } else for (; d > u; u++) if ((e || u in s) && s[u] === n) return e || u || 0;
+                        return !e && -1
+                    }
+                }
+            }, "./node_modules/core-js/internals/bind-context.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/a-function.js");
+                e.exports = function (e, t, n) {
+                    if (i(e), void 0 === t) return e;
+                    switch (n) {
+                        case 0:
+                            return function () {
+                                return e.call(t)
+                            };
+                        case 1:
+                            return function (n) {
+                                return e.call(t, n)
+                            };
+                        case 2:
+                            return function (n, i) {
+                                return e.call(t, n, i)
+                            };
+                        case 3:
+                            return function (n, i, a) {
+                                return e.call(t, n, i, a)
+                            }
+                    }
+                    return function () {
+                        return e.apply(t, arguments)
+                    }
+                }
+            }, "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/an-object.js");
+                e.exports = function (e, t, n, a) {
+                    try {
+                        return a ? t(i(n)[0], n[1]) : t(n)
+                    } catch (t) {
+                        var r = e.return;
+                        throw void 0 !== r && i(r.call(e)), t
+                    }
+                }
+            }, "./node_modules/core-js/internals/check-correctness-of-iteration.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/well-known-symbol.js")("iterator"), a = !1;
+                try {
+                    var r = 0, l = {
+                        next: function () {
+                            return {done: !!r++}
+                        }, return: function () {
+                            a = !0
+                        }
+                    };
+                    l[i] = function () {
+                        return this
+                    }, Array.from(l, (function () {
+                        throw 2
+                    }))
+                } catch (e) {
+                }
+                e.exports = function (e, t) {
+                    if (!t && !a) return !1;
+                    var n = !1;
+                    try {
+                        var r = {};
+                        r[i] = function () {
+                            return {
+                                next: function () {
+                                    return {done: n = !0}
+                                }
+                            }
+                        }, e(r)
+                    } catch (e) {
+                    }
+                    return n
+                }
+            }, "./node_modules/core-js/internals/classof-raw.js": function (e, t) {
+                var n = {}.toString;
+                e.exports = function (e) {
+                    return n.call(e).slice(8, -1)
+                }
+            }, "./node_modules/core-js/internals/classof.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/classof-raw.js"),
+                    a = n("./node_modules/core-js/internals/well-known-symbol.js")("toStringTag"),
+                    r = "Arguments" == i(function () {
+                        return arguments
+                    }());
+                e.exports = function (e) {
+                    var t, n, l;
+                    return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {
+                        try {
+                            return e[t]
+                        } catch (e) {
+                        }
+                    }(t = Object(e), a)) ? n : r ? i(t) : "Object" == (l = i(t)) && "function" == typeof t.callee ? "Arguments" : l
+                }
+            }, "./node_modules/core-js/internals/copy-constructor-properties.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/has.js"),
+                    a = n("./node_modules/core-js/internals/own-keys.js"),
+                    r = n("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),
+                    l = n("./node_modules/core-js/internals/object-define-property.js");
+                e.exports = function (e, t) {
+                    for (var n = a(t), o = l.f, s = r.f, d = 0; d < n.length; d++) {
+                        var u = n[d];
+                        i(e, u) || o(e, u, s(t, u))
+                    }
+                }
+            }, "./node_modules/core-js/internals/correct-prototype-getter.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/fails.js");
+                e.exports = !i((function () {
+                    function e() {
+                    }
+
+                    return e.prototype.constructor = null, Object.getPrototypeOf(new e) !== e.prototype
+                }))
+            }, "./node_modules/core-js/internals/create-iterator-constructor.js": function (e, t, n) {
+                "use strict";
+                var i = n("./node_modules/core-js/internals/iterators-core.js").IteratorPrototype,
+                    a = n("./node_modules/core-js/internals/object-create.js"),
+                    r = n("./node_modules/core-js/internals/create-property-descriptor.js"),
+                    l = n("./node_modules/core-js/internals/set-to-string-tag.js"),
+                    o = n("./node_modules/core-js/internals/iterators.js"), s = function () {
+                        return this
+                    };
+                e.exports = function (e, t, n) {
+                    var d = t + " Iterator";
+                    return e.prototype = a(i, {next: r(1, n)}), l(e, d, !1, !0), o[d] = s, e
+                }
+            }, "./node_modules/core-js/internals/create-property-descriptor.js": function (e, t) {
+                e.exports = function (e, t) {
+                    return {enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t}
+                }
+            }, "./node_modules/core-js/internals/create-property.js": function (e, t, n) {
+                "use strict";
+                var i = n("./node_modules/core-js/internals/to-primitive.js"),
+                    a = n("./node_modules/core-js/internals/object-define-property.js"),
+                    r = n("./node_modules/core-js/internals/create-property-descriptor.js");
+                e.exports = function (e, t, n) {
+                    var l = i(t);
+                    l in e ? a.f(e, l, r(0, n)) : e[l] = n
+                }
+            }, "./node_modules/core-js/internals/define-iterator.js": function (e, t, n) {
+                "use strict";
+                var i = n("./node_modules/core-js/internals/export.js"),
+                    a = n("./node_modules/core-js/internals/create-iterator-constructor.js"),
+                    r = n("./node_modules/core-js/internals/object-get-prototype-of.js"),
+                    l = n("./node_modules/core-js/internals/object-set-prototype-of.js"),
+                    o = n("./node_modules/core-js/internals/set-to-string-tag.js"),
+                    s = n("./node_modules/core-js/internals/hide.js"),
+                    d = n("./node_modules/core-js/internals/redefine.js"),
+                    u = n("./node_modules/core-js/internals/well-known-symbol.js"),
+                    c = n("./node_modules/core-js/internals/is-pure.js"),
+                    h = n("./node_modules/core-js/internals/iterators.js"),
+                    m = n("./node_modules/core-js/internals/iterators-core.js"), f = m.IteratorPrototype,
+                    _ = m.BUGGY_SAFARI_ITERATORS, p = u("iterator"), g = "keys", y = "values", v = "entries",
+                    M = function () {
+                        return this
+                    };
+                e.exports = function (e, t, n, u, m, b, x) {
+                    a(n, t, u);
+                    var L, w, k, Y = function (e) {
+                            if (e === m && E) return E;
+                            if (!_ && e in S) return S[e];
+                            switch (e) {
+                                case g:
+                                case y:
+                                case v:
+                                    return function () {
+                                        return new n(this, e)
+                                    }
+                            }
+                            return function () {
+                                return new n(this)
+                            }
+                        }, D = t + " Iterator", T = !1, S = e.prototype, j = S[p] || S["@@iterator"] || m && S[m],
+                        E = !_ && j || Y(m), H = "Array" == t && S.entries || j;
+                    if (H && (L = r(H.call(new e)), f !== Object.prototype && L.next && (c || r(L) === f || (l ? l(L, f) : "function" != typeof L[p] && s(L, p, M)), o(L, D, !0, !0), c && (h[D] = M))), m == y && j && j.name !== y && (T = !0, E = function () {
+                        return j.call(this)
+                    }), c && !x || S[p] === E || s(S, p, E), h[t] = E, m) if (w = {
+                        values: Y(y),
+                        keys: b ? E : Y(g),
+                        entries: Y(v)
+                    }, x) for (k in w) (_ || T || !(k in S)) && d(S, k, w[k]); else i({
+                        target: t,
+                        proto: !0,
+                        forced: _ || T
+                    }, w);
+                    return w
+                }
+            }, "./node_modules/core-js/internals/descriptors.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/fails.js");
+                e.exports = !i((function () {
+                    return 7 != Object.defineProperty({}, "a", {
+                        get: function () {
+                            return 7
+                        }
+                    }).a
+                }))
+            }, "./node_modules/core-js/internals/document-create-element.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/is-object.js"), r = i.document,
+                    l = a(r) && a(r.createElement);
+                e.exports = function (e) {
+                    return l ? r.createElement(e) : {}
+                }
+            }, "./node_modules/core-js/internals/enum-bug-keys.js": function (e, t) {
+                e.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"]
+            }, "./node_modules/core-js/internals/export.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/object-get-own-property-descriptor.js").f,
+                    r = n("./node_modules/core-js/internals/hide.js"),
+                    l = n("./node_modules/core-js/internals/redefine.js"),
+                    o = n("./node_modules/core-js/internals/set-global.js"),
+                    s = n("./node_modules/core-js/internals/copy-constructor-properties.js"),
+                    d = n("./node_modules/core-js/internals/is-forced.js");
+                e.exports = function (e, t) {
+                    var n, u, c, h, m, f = e.target, _ = e.global, p = e.stat;
+                    if (n = _ ? i : p ? i[f] || o(f, {}) : (i[f] || {}).prototype) for (u in t) {
+                        if (h = t[u], c = e.noTargetGet ? (m = a(n, u)) && m.value : n[u], !d(_ ? u : f + (p ? "." : "#") + u, e.forced) && void 0 !== c) {
+                            if (typeof h == typeof c) continue;
+                            s(h, c)
+                        }
+                        (e.sham || c && c.sham) && r(h, "sham", !0), l(n, u, h, e)
+                    }
+                }
+            }, "./node_modules/core-js/internals/fails.js": function (e, t) {
+                e.exports = function (e) {
+                    try {
+                        return !!e()
+                    } catch (e) {
+                        return !0
+                    }
+                }
+            }, "./node_modules/core-js/internals/function-to-string.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/shared.js");
+                e.exports = i("native-function-to-string", Function.toString)
+            }, "./node_modules/core-js/internals/get-iterator-method.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/classof.js"),
+                    a = n("./node_modules/core-js/internals/iterators.js"),
+                    r = n("./node_modules/core-js/internals/well-known-symbol.js")("iterator");
+                e.exports = function (e) {
+                    if (null != e) return e[r] || e["@@iterator"] || a[i(e)]
+                }
+            }, "./node_modules/core-js/internals/global.js": function (e, t, n) {
+                (function (t) {
+                    var n = "object", i = function (e) {
+                        return e && e.Math == Math && e
+                    };
+                    e.exports = i(typeof globalThis == n && globalThis) || i(typeof window == n && window) || i(typeof self == n && self) || i(typeof t == n && t) || Function("return this")()
+                }).call(this, n("./node_modules/webpack/buildin/global.js"))
+            }, "./node_modules/core-js/internals/has.js": function (e, t) {
+                var n = {}.hasOwnProperty;
+                e.exports = function (e, t) {
+                    return n.call(e, t)
+                }
+            }, "./node_modules/core-js/internals/hidden-keys.js": function (e, t) {
+                e.exports = {}
+            }, "./node_modules/core-js/internals/hide.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/descriptors.js"),
+                    a = n("./node_modules/core-js/internals/object-define-property.js"),
+                    r = n("./node_modules/core-js/internals/create-property-descriptor.js");
+                e.exports = i ? function (e, t, n) {
+                    return a.f(e, t, r(1, n))
+                } : function (e, t, n) {
+                    return e[t] = n, e
+                }
+            }, "./node_modules/core-js/internals/html.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js").document;
+                e.exports = i && i.documentElement
+            }, "./node_modules/core-js/internals/ie8-dom-define.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/descriptors.js"),
+                    a = n("./node_modules/core-js/internals/fails.js"),
+                    r = n("./node_modules/core-js/internals/document-create-element.js");
+                e.exports = !i && !a((function () {
+                    return 7 != Object.defineProperty(r("div"), "a", {
+                        get: function () {
+                            return 7
+                        }
+                    }).a
+                }))
+            }, "./node_modules/core-js/internals/indexed-object.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/fails.js"),
+                    a = n("./node_modules/core-js/internals/classof-raw.js"), r = "".split;
+                e.exports = i((function () {
+                    return !Object("z").propertyIsEnumerable(0)
+                })) ? function (e) {
+                    return "String" == a(e) ? r.call(e, "") : Object(e)
+                } : Object
+            }, "./node_modules/core-js/internals/internal-state.js": function (e, t, n) {
+                var i, a, r, l = n("./node_modules/core-js/internals/native-weak-map.js"),
+                    o = n("./node_modules/core-js/internals/global.js"),
+                    s = n("./node_modules/core-js/internals/is-object.js"),
+                    d = n("./node_modules/core-js/internals/hide.js"), u = n("./node_modules/core-js/internals/has.js"),
+                    c = n("./node_modules/core-js/internals/shared-key.js"),
+                    h = n("./node_modules/core-js/internals/hidden-keys.js"), m = o.WeakMap;
+                if (l) {
+                    var f = new m, _ = f.get, p = f.has, g = f.set;
+                    i = function (e, t) {
+                        return g.call(f, e, t), t
+                    }, a = function (e) {
+                        return _.call(f, e) || {}
+                    }, r = function (e) {
+                        return p.call(f, e)
+                    }
+                } else {
+                    var y = c("state");
+                    h[y] = !0, i = function (e, t) {
+                        return d(e, y, t), t
+                    }, a = function (e) {
+                        return u(e, y) ? e[y] : {}
+                    }, r = function (e) {
+                        return u(e, y)
+                    }
+                }
+                e.exports = {
+                    set: i, get: a, has: r, enforce: function (e) {
+                        return r(e) ? a(e) : i(e, {})
+                    }, getterFor: function (e) {
+                        return function (t) {
+                            var n;
+                            if (!s(t) || (n = a(t)).type !== e) throw TypeError("Incompatible receiver, " + e + " required");
+                            return n
+                        }
+                    }
+                }
+            }, "./node_modules/core-js/internals/is-array-iterator-method.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/well-known-symbol.js"),
+                    a = n("./node_modules/core-js/internals/iterators.js"), r = i("iterator"), l = Array.prototype;
+                e.exports = function (e) {
+                    return void 0 !== e && (a.Array === e || l[r] === e)
+                }
+            }, "./node_modules/core-js/internals/is-forced.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/fails.js"), a = /#|\.prototype\./, r = function (e, t) {
+                    var n = o[l(e)];
+                    return n == d || n != s && ("function" == typeof t ? i(t) : !!t)
+                }, l = r.normalize = function (e) {
+                    return String(e).replace(a, ".").toLowerCase()
+                }, o = r.data = {}, s = r.NATIVE = "N", d = r.POLYFILL = "P";
+                e.exports = r
+            }, "./node_modules/core-js/internals/is-object.js": function (e, t) {
+                e.exports = function (e) {
+                    return "object" == typeof e ? null !== e : "function" == typeof e
+                }
+            }, "./node_modules/core-js/internals/is-pure.js": function (e, t) {
+                e.exports = !1
+            }, "./node_modules/core-js/internals/iterators-core.js": function (e, t, n) {
+                "use strict";
+                var i, a, r, l = n("./node_modules/core-js/internals/object-get-prototype-of.js"),
+                    o = n("./node_modules/core-js/internals/hide.js"), s = n("./node_modules/core-js/internals/has.js"),
+                    d = n("./node_modules/core-js/internals/well-known-symbol.js"),
+                    u = n("./node_modules/core-js/internals/is-pure.js"), c = d("iterator"), h = !1;
+                [].keys && ("next" in (r = [].keys()) ? (a = l(l(r))) !== Object.prototype && (i = a) : h = !0), null == i && (i = {}), u || s(i, c) || o(i, c, (function () {
+                    return this
+                })), e.exports = {IteratorPrototype: i, BUGGY_SAFARI_ITERATORS: h}
+            }, "./node_modules/core-js/internals/iterators.js": function (e, t) {
+                e.exports = {}
+            }, "./node_modules/core-js/internals/native-symbol.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/fails.js");
+                e.exports = !!Object.getOwnPropertySymbols && !i((function () {
+                    return !String(Symbol())
+                }))
+            }, "./node_modules/core-js/internals/native-weak-map.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/function-to-string.js"), r = i.WeakMap;
+                e.exports = "function" == typeof r && /native code/.test(a.call(r))
+            }, "./node_modules/core-js/internals/object-create.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/an-object.js"),
+                    a = n("./node_modules/core-js/internals/object-define-properties.js"),
+                    r = n("./node_modules/core-js/internals/enum-bug-keys.js"),
+                    l = n("./node_modules/core-js/internals/hidden-keys.js"),
+                    o = n("./node_modules/core-js/internals/html.js"),
+                    s = n("./node_modules/core-js/internals/document-create-element.js"),
+                    d = n("./node_modules/core-js/internals/shared-key.js")("IE_PROTO"), u = function () {
+                    }, c = function () {
+                        var e, t = s("iframe"), n = r.length;
+                        for (t.style.display = "none", o.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), c = e.F; n--;) delete c.prototype[r[n]];
+                        return c()
+                    };
+                e.exports = Object.create || function (e, t) {
+                    var n;
+                    return null !== e ? (u.prototype = i(e), n = new u, u.prototype = null, n[d] = e) : n = c(), void 0 === t ? n : a(n, t)
+                }, l[d] = !0
+            }, "./node_modules/core-js/internals/object-define-properties.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/descriptors.js"),
+                    a = n("./node_modules/core-js/internals/object-define-property.js"),
+                    r = n("./node_modules/core-js/internals/an-object.js"),
+                    l = n("./node_modules/core-js/internals/object-keys.js");
+                e.exports = i ? Object.defineProperties : function (e, t) {
+                    r(e);
+                    for (var n, i = l(t), o = i.length, s = 0; o > s;) a.f(e, n = i[s++], t[n]);
+                    return e
+                }
+            }, "./node_modules/core-js/internals/object-define-property.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/descriptors.js"),
+                    a = n("./node_modules/core-js/internals/ie8-dom-define.js"),
+                    r = n("./node_modules/core-js/internals/an-object.js"),
+                    l = n("./node_modules/core-js/internals/to-primitive.js"), o = Object.defineProperty;
+                t.f = i ? o : function (e, t, n) {
+                    if (r(e), t = l(t, !0), r(n), a) try {
+                        return o(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
+                }
+            }, "./node_modules/core-js/internals/object-get-own-property-descriptor.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/descriptors.js"),
+                    a = n("./node_modules/core-js/internals/object-property-is-enumerable.js"),
+                    r = n("./node_modules/core-js/internals/create-property-descriptor.js"),
+                    l = n("./node_modules/core-js/internals/to-indexed-object.js"),
+                    o = n("./node_modules/core-js/internals/to-primitive.js"),
+                    s = n("./node_modules/core-js/internals/has.js"),
+                    d = n("./node_modules/core-js/internals/ie8-dom-define.js"), u = Object.getOwnPropertyDescriptor;
+                t.f = i ? u : function (e, t) {
+                    if (e = l(e), t = o(t, !0), d) try {
+                        return u(e, t)
+                    } catch (e) {
+                    }
+                    if (s(e, t)) return r(!a.f.call(e, t), e[t])
+                }
+            }, "./node_modules/core-js/internals/object-get-own-property-names.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/object-keys-internal.js"),
+                    a = n("./node_modules/core-js/internals/enum-bug-keys.js").concat("length", "prototype");
+                t.f = Object.getOwnPropertyNames || function (e) {
+                    return i(e, a)
+                }
+            }, "./node_modules/core-js/internals/object-get-own-property-symbols.js": function (e, t) {
+                t.f = Object.getOwnPropertySymbols
+            }, "./node_modules/core-js/internals/object-get-prototype-of.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/has.js"),
+                    a = n("./node_modules/core-js/internals/to-object.js"),
+                    r = n("./node_modules/core-js/internals/shared-key.js"),
+                    l = n("./node_modules/core-js/internals/correct-prototype-getter.js"), o = r("IE_PROTO"),
+                    s = Object.prototype;
+                e.exports = l ? Object.getPrototypeOf : function (e) {
+                    return e = a(e), i(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? s : null
+                }
+            }, "./node_modules/core-js/internals/object-keys-internal.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/has.js"),
+                    a = n("./node_modules/core-js/internals/to-indexed-object.js"),
+                    r = n("./node_modules/core-js/internals/array-includes.js"),
+                    l = n("./node_modules/core-js/internals/hidden-keys.js"), o = r(!1);
+                e.exports = function (e, t) {
+                    var n, r = a(e), s = 0, d = [];
+                    for (n in r) !i(l, n) && i(r, n) && d.push(n);
+                    for (; t.length > s;) i(r, n = t[s++]) && (~o(d, n) || d.push(n));
+                    return d
+                }
+            }, "./node_modules/core-js/internals/object-keys.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/object-keys-internal.js"),
+                    a = n("./node_modules/core-js/internals/enum-bug-keys.js");
+                e.exports = Object.keys || function (e) {
+                    return i(e, a)
+                }
+            }, "./node_modules/core-js/internals/object-property-is-enumerable.js": function (e, t, n) {
+                "use strict";
+                var i = {}.propertyIsEnumerable, a = Object.getOwnPropertyDescriptor, r = a && !i.call({1: 2}, 1);
+                t.f = r ? function (e) {
+                    var t = a(this, e);
+                    return !!t && t.enumerable
+                } : i
+            }, "./node_modules/core-js/internals/object-set-prototype-of.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");
+                e.exports = Object.setPrototypeOf || ("__proto__" in {} ? function () {
+                    var e, t = !1, n = {};
+                    try {
+                        (e = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(n, []), t = n instanceof Array
+                    } catch (e) {
+                    }
+                    return function (n, a) {
+                        return i(n, a), t ? e.call(n, a) : n.__proto__ = a, n
+                    }
+                }() : void 0)
+            }, "./node_modules/core-js/internals/own-keys.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/object-get-own-property-names.js"),
+                    r = n("./node_modules/core-js/internals/object-get-own-property-symbols.js"),
+                    l = n("./node_modules/core-js/internals/an-object.js"), o = i.Reflect;
+                e.exports = o && o.ownKeys || function (e) {
+                    var t = a.f(l(e)), n = r.f;
+                    return n ? t.concat(n(e)) : t
+                }
+            }, "./node_modules/core-js/internals/path.js": function (e, t, n) {
+                e.exports = n("./node_modules/core-js/internals/global.js")
+            }, "./node_modules/core-js/internals/redefine.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/shared.js"),
+                    r = n("./node_modules/core-js/internals/hide.js"), l = n("./node_modules/core-js/internals/has.js"),
+                    o = n("./node_modules/core-js/internals/set-global.js"),
+                    s = n("./node_modules/core-js/internals/function-to-string.js"),
+                    d = n("./node_modules/core-js/internals/internal-state.js"), u = d.get, c = d.enforce,
+                    h = String(s).split("toString");
+                a("inspectSource", (function (e) {
+                    return s.call(e)
+                })), (e.exports = function (e, t, n, a) {
+                    var s = !!a && !!a.unsafe, d = !!a && !!a.enumerable, u = !!a && !!a.noTargetGet;
+                    "function" == typeof n && ("string" != typeof t || l(n, "name") || r(n, "name", t), c(n).source = h.join("string" == typeof t ? t : "")), e !== i ? (s ? !u && e[t] && (d = !0) : delete e[t], d ? e[t] = n : r(e, t, n)) : d ? e[t] = n : o(t, n)
+                })(Function.prototype, "toString", (function () {
+                    return "function" == typeof this && u(this).source || s.call(this)
+                }))
+            }, "./node_modules/core-js/internals/require-object-coercible.js": function (e, t) {
+                e.exports = function (e) {
+                    if (null == e) throw TypeError("Can't call method on " + e);
+                    return e
+                }
+            }, "./node_modules/core-js/internals/set-global.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/hide.js");
+                e.exports = function (e, t) {
+                    try {
+                        a(i, e, t)
+                    } catch (n) {
+                        i[e] = t
+                    }
+                    return t
+                }
+            }, "./node_modules/core-js/internals/set-to-string-tag.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/object-define-property.js").f,
+                    a = n("./node_modules/core-js/internals/has.js"),
+                    r = n("./node_modules/core-js/internals/well-known-symbol.js")("toStringTag");
+                e.exports = function (e, t, n) {
+                    e && !a(e = n ? e : e.prototype, r) && i(e, r, {configurable: !0, value: t})
+                }
+            }, "./node_modules/core-js/internals/shared-key.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/shared.js"),
+                    a = n("./node_modules/core-js/internals/uid.js"), r = i("keys");
+                e.exports = function (e) {
+                    return r[e] || (r[e] = a(e))
+                }
+            }, "./node_modules/core-js/internals/shared.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/set-global.js"),
+                    r = n("./node_modules/core-js/internals/is-pure.js"), l = "__core-js_shared__",
+                    o = i[l] || a(l, {});
+                (e.exports = function (e, t) {
+                    return o[e] || (o[e] = void 0 !== t ? t : {})
+                })("versions", []).push({
+                    version: "3.1.3",
+                    mode: r ? "pure" : "global",
+                    copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
+                })
+            }, "./node_modules/core-js/internals/string-at.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/to-integer.js"),
+                    a = n("./node_modules/core-js/internals/require-object-coercible.js");
+                e.exports = function (e, t, n) {
+                    var r, l, o = String(a(e)), s = i(t), d = o.length;
+                    return s < 0 || s >= d ? n ? "" : void 0 : (r = o.charCodeAt(s)) < 55296 || r > 56319 || s + 1 === d || (l = o.charCodeAt(s + 1)) < 56320 || l > 57343 ? n ? o.charAt(s) : r : n ? o.slice(s, s + 2) : l - 56320 + (r - 55296 << 10) + 65536
+                }
+            }, "./node_modules/core-js/internals/to-absolute-index.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/to-integer.js"), a = Math.max, r = Math.min;
+                e.exports = function (e, t) {
+                    var n = i(e);
+                    return n < 0 ? a(n + t, 0) : r(n, t)
+                }
+            }, "./node_modules/core-js/internals/to-indexed-object.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/indexed-object.js"),
+                    a = n("./node_modules/core-js/internals/require-object-coercible.js");
+                e.exports = function (e) {
+                    return i(a(e))
+                }
+            }, "./node_modules/core-js/internals/to-integer.js": function (e, t) {
+                var n = Math.ceil, i = Math.floor;
+                e.exports = function (e) {
+                    return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
+                }
+            }, "./node_modules/core-js/internals/to-length.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/to-integer.js"), a = Math.min;
+                e.exports = function (e) {
+                    return e > 0 ? a(i(e), 9007199254740991) : 0
+                }
+            }, "./node_modules/core-js/internals/to-object.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/require-object-coercible.js");
+                e.exports = function (e) {
+                    return Object(i(e))
+                }
+            }, "./node_modules/core-js/internals/to-primitive.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/is-object.js");
+                e.exports = function (e, t) {
+                    if (!i(e)) return e;
+                    var n, a;
+                    if (t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+                    if ("function" == typeof (n = e.valueOf) && !i(a = n.call(e))) return a;
+                    if (!t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+                    throw TypeError("Can't convert object to primitive value")
+                }
+            }, "./node_modules/core-js/internals/uid.js": function (e, t) {
+                var n = 0, i = Math.random();
+                e.exports = function (e) {
+                    return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + i).toString(36))
+                }
+            }, "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/is-object.js"),
+                    a = n("./node_modules/core-js/internals/an-object.js");
+                e.exports = function (e, t) {
+                    if (a(e), !i(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype")
+                }
+            }, "./node_modules/core-js/internals/well-known-symbol.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/global.js"),
+                    a = n("./node_modules/core-js/internals/shared.js"),
+                    r = n("./node_modules/core-js/internals/uid.js"),
+                    l = n("./node_modules/core-js/internals/native-symbol.js"), o = i.Symbol, s = a("wks");
+                e.exports = function (e) {
+                    return s[e] || (s[e] = l && o[e] || (l ? o : r)("Symbol." + e))
+                }
+            }, "./node_modules/core-js/modules/es.array.from.js": function (e, t, n) {
+                var i = n("./node_modules/core-js/internals/export.js"),
+                    a = n("./node_modules/core-js/internals/array-from.js");
+                i({
+                    target: "Array",
+                    stat: !0,
+                    forced: !n("./node_modules/core-js/internals/check-correctness-of-iteration.js")((function (e) {
+                        Array.from(e)
+                    }))
+                }, {from: a})
+            }, "./node_modules/core-js/modules/es.string.iterator.js": function (e, t, n) {
+                "use strict";
+                var i = n("./node_modules/core-js/internals/string-at.js"),
+                    a = n("./node_modules/core-js/internals/internal-state.js"),
+                    r = n("./node_modules/core-js/internals/define-iterator.js"), l = "String Iterator", o = a.set,
+                    s = a.getterFor(l);
+                r(String, "String", (function (e) {
+                    o(this, {type: l, string: String(e), index: 0})
+                }), (function () {
+                    var e, t = s(this), n = t.string, a = t.index;
+                    return a >= n.length ? {value: void 0, done: !0} : (e = i(n, a, !0), t.index += e.length, {
+                        value: e,
+                        done: !1
+                    })
+                }))
+            }, "./node_modules/webpack/buildin/global.js": function (e, t) {
+                var n;
+                n = function () {
+                    return this
+                }();
+                try {
+                    n = n || Function("return this")() || (0, eval)("this")
+                } catch (e) {
+                    "object" == typeof window && (n = window)
+                }
+                e.exports = n
+            }, "./src/default-attrs.json": function (e) {
+                e.exports = {
+                    xmlns: "http://www.w3.org/2000/svg",
+                    width: 24,
+                    height: 24,
+                    viewBox: "0 0 24 24",
+                    fill: "none",
+                    stroke: "currentColor",
+                    "stroke-width": 2,
+                    "stroke-linecap": "round",
+                    "stroke-linejoin": "round"
+                }
+            }, "./src/icon.js": function (e, t, n) {
+                "use strict";
+                Object.defineProperty(t, "__esModule", {value: !0});
+                var i = Object.assign || function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                        var n = arguments[t];
+                        for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
+                    }
+                    return e
+                }, a = function () {
+                    function e(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)
+                        }
+                    }
+
+                    return function (t, n, i) {
+                        return n && e(t.prototype, n), i && e(t, i), t
+                    }
+                }(), r = o(n("./node_modules/classnames/dedupe.js")), l = o(n("./src/default-attrs.json"));
+
+                function o(e) {
+                    return e && e.__esModule ? e : {default: e}
+                }
+
+                function s(e, t) {
+                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
+                }
+
+                var d = function () {
+                    function e(t, n) {
+                        var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
+                        s(this, e), this.name = t, this.contents = n, this.tags = a, this.attrs = i({}, l.default, {class: "feather feather-" + t})
+                    }
+
+                    return a(e, [{
+                        key: "toSvg", value: function () {
+                            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+                                t = i({}, this.attrs, e, {class: (0, r.default)(this.attrs.class, e.class)});
+                            return "<svg " + u(t) + ">" + this.contents + "</svg>"
+                        }
+                    }, {
+                        key: "toString", value: function () {
+                            return this.contents
+                        }
+                    }]), e
+                }();
+
+                function u(e) {
+                    return Object.keys(e).map((function (t) {
+                        return t + '="' + e[t] + '"'
+                    })).join(" ")
+                }
+
+                t.default = d
+            }, "./src/icons.js": function (e, t, n) {
+                "use strict";
+                Object.defineProperty(t, "__esModule", {value: !0});
+                var i = l(n("./src/icon.js")), a = l(n("./dist/icons.json")), r = l(n("./src/tags.json"));
+
+                function l(e) {
+                    return e && e.__esModule ? e : {default: e}
+                }
+
+                t.default = Object.keys(a.default).map((function (e) {
+                    return new i.default(e, a.default[e], r.default[e])
+                })).reduce((function (e, t) {
+                    return e[t.name] = t, e
+                }), {})
+            }, "./src/index.js": function (e, t, n) {
+                "use strict";
+                var i = l(n("./src/icons.js")), a = l(n("./src/to-svg.js")), r = l(n("./src/replace.js"));
+
+                function l(e) {
+                    return e && e.__esModule ? e : {default: e}
+                }
+
+                e.exports = {icons: i.default, toSvg: a.default, replace: r.default}
+            }, "./src/replace.js": function (e, t, n) {
+                "use strict";
+                Object.defineProperty(t, "__esModule", {value: !0});
+                var i = Object.assign || function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                        var n = arguments[t];
+                        for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
+                    }
+                    return e
+                }, a = l(n("./node_modules/classnames/dedupe.js")), r = l(n("./src/icons.js"));
+
+                function l(e) {
+                    return e && e.__esModule ? e : {default: e}
+                }
+
+                function o(e) {
+                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = s(e),
+                        l = n["data-feather"];
+                    delete n["data-feather"];
+                    var o = r.default[l].toSvg(i({}, t, n, {class: (0, a.default)(t.class, n.class)})),
+                        d = (new DOMParser).parseFromString(o, "image/svg+xml"), u = d.querySelector("svg");
+                    e.parentNode.replaceChild(u, e)
+                }
+
+                function s(e) {
+                    return Array.from(e.attributes).reduce((function (e, t) {
+                        return e[t.name] = t.value, e
+                    }), {})
+                }
+
+                t.default = function () {
+                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+                    if ("undefined" == typeof document) throw new Error("`feather.replace()` only works in a browser environment.");
+                    var t = document.querySelectorAll("[data-feather]");
+                    Array.from(t).forEach((function (t) {
+                        return o(t, e)
+                    }))
+                }
+            }, "./src/tags.json": function (e) {
+                e.exports = {
+                    activity: ["pulse", "health", "action", "motion"],
+                    airplay: ["stream", "cast", "mirroring"],
+                    "alert-circle": ["warning", "alert", "danger"],
+                    "alert-octagon": ["warning", "alert", "danger"],
+                    "alert-triangle": ["warning", "alert", "danger"],
+                    "align-center": ["text alignment", "center"],
+                    "align-justify": ["text alignment", "justified"],
+                    "align-left": ["text alignment", "left"],
+                    "align-right": ["text alignment", "right"],
+                    anchor: [],
+                    archive: ["index", "box"],
+                    "at-sign": ["mention", "at", "email", "message"],
+                    award: ["achievement", "badge"],
+                    aperture: ["camera", "photo"],
+                    "bar-chart": ["statistics", "diagram", "graph"],
+                    "bar-chart-2": ["statistics", "diagram", "graph"],
+                    battery: ["power", "electricity"],
+                    "battery-charging": ["power", "electricity"],
+                    bell: ["alarm", "notification", "sound"],
+                    "bell-off": ["alarm", "notification", "silent"],
+                    bluetooth: ["wireless"],
+                    "book-open": ["read", "library"],
+                    book: ["read", "dictionary", "booklet", "magazine", "library"],
+                    bookmark: ["read", "clip", "marker", "tag"],
+                    box: ["cube"],
+                    briefcase: ["work", "bag", "baggage", "folder"],
+                    calendar: ["date"],
+                    camera: ["photo"],
+                    cast: ["chromecast", "airplay"],
+                    circle: ["off", "zero", "record"],
+                    clipboard: ["copy"],
+                    clock: ["time", "watch", "alarm"],
+                    "cloud-drizzle": ["weather", "shower"],
+                    "cloud-lightning": ["weather", "bolt"],
+                    "cloud-rain": ["weather"],
+                    "cloud-snow": ["weather", "blizzard"],
+                    cloud: ["weather"],
+                    codepen: ["logo"],
+                    codesandbox: ["logo"],
+                    code: ["source", "programming"],
+                    coffee: ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"],
+                    columns: ["layout"],
+                    command: ["keyboard", "cmd", "terminal", "prompt"],
+                    compass: ["navigation", "safari", "travel", "direction"],
+                    copy: ["clone", "duplicate"],
+                    "corner-down-left": ["arrow", "return"],
+                    "corner-down-right": ["arrow"],
+                    "corner-left-down": ["arrow"],
+                    "corner-left-up": ["arrow"],
+                    "corner-right-down": ["arrow"],
+                    "corner-right-up": ["arrow"],
+                    "corner-up-left": ["arrow"],
+                    "corner-up-right": ["arrow"],
+                    cpu: ["processor", "technology"],
+                    "credit-card": ["purchase", "payment", "cc"],
+                    crop: ["photo", "image"],
+                    crosshair: ["aim", "target"],
+                    database: ["storage", "memory"],
+                    delete: ["remove"],
+                    disc: ["album", "cd", "dvd", "music"],
+                    "dollar-sign": ["currency", "money", "payment"],
+                    droplet: ["water"],
+                    edit: ["pencil", "change"],
+                    "edit-2": ["pencil", "change"],
+                    "edit-3": ["pencil", "change"],
+                    eye: ["view", "watch"],
+                    "eye-off": ["view", "watch", "hide", "hidden"],
+                    "external-link": ["outbound"],
+                    facebook: ["logo", "social"],
+                    "fast-forward": ["music"],
+                    figma: ["logo", "design", "tool"],
+                    "file-minus": ["delete", "remove", "erase"],
+                    "file-plus": ["add", "create", "new"],
+                    "file-text": ["data", "txt", "pdf"],
+                    film: ["movie", "video"],
+                    filter: ["funnel", "hopper"],
+                    flag: ["report"],
+                    "folder-minus": ["directory"],
+                    "folder-plus": ["directory"],
+                    folder: ["directory"],
+                    framer: ["logo", "design", "tool"],
+                    frown: ["emoji", "face", "bad", "sad", "emotion"],
+                    gift: ["present", "box", "birthday", "party"],
+                    "git-branch": ["code", "version control"],
+                    "git-commit": ["code", "version control"],
+                    "git-merge": ["code", "version control"],
+                    "git-pull-request": ["code", "version control"],
+                    github: ["logo", "version control"],
+                    gitlab: ["logo", "version control"],
+                    globe: ["world", "browser", "language", "translate"],
+                    "hard-drive": ["computer", "server", "memory", "data"],
+                    hash: ["hashtag", "number", "pound"],
+                    headphones: ["music", "audio", "sound"],
+                    heart: ["like", "love", "emotion"],
+                    "help-circle": ["question mark"],
+                    hexagon: ["shape", "node.js", "logo"],
+                    home: ["house", "living"],
+                    image: ["picture"],
+                    inbox: ["email"],
+                    instagram: ["logo", "camera"],
+                    key: ["password", "login", "authentication", "secure"],
+                    layers: ["stack"],
+                    layout: ["window", "webpage"],
+                    "life-bouy": ["help", "life ring", "support"],
+                    link: ["chain", "url"],
+                    "link-2": ["chain", "url"],
+                    linkedin: ["logo", "social media"],
+                    list: ["options"],
+                    lock: ["security", "password", "secure"],
+                    "log-in": ["sign in", "arrow", "enter"],
+                    "log-out": ["sign out", "arrow", "exit"],
+                    mail: ["email", "message"],
+                    "map-pin": ["location", "navigation", "travel", "marker"],
+                    map: ["location", "navigation", "travel"],
+                    maximize: ["fullscreen"],
+                    "maximize-2": ["fullscreen", "arrows", "expand"],
+                    meh: ["emoji", "face", "neutral", "emotion"],
+                    menu: ["bars", "navigation", "hamburger"],
+                    "message-circle": ["comment", "chat"],
+                    "message-square": ["comment", "chat"],
+                    "mic-off": ["record", "sound", "mute"],
+                    mic: ["record", "sound", "listen"],
+                    minimize: ["exit fullscreen", "close"],
+                    "minimize-2": ["exit fullscreen", "arrows", "close"],
+                    minus: ["subtract"],
+                    monitor: ["tv", "screen", "display"],
+                    moon: ["dark", "night"],
+                    "more-horizontal": ["ellipsis"],
+                    "more-vertical": ["ellipsis"],
+                    "mouse-pointer": ["arrow", "cursor"],
+                    move: ["arrows"],
+                    music: ["note"],
+                    navigation: ["location", "travel"],
+                    "navigation-2": ["location", "travel"],
+                    octagon: ["stop"],
+                    package: ["box", "container"],
+                    paperclip: ["attachment"],
+                    pause: ["music", "stop"],
+                    "pause-circle": ["music", "audio", "stop"],
+                    "pen-tool": ["vector", "drawing"],
+                    percent: ["discount"],
+                    "phone-call": ["ring"],
+                    "phone-forwarded": ["call"],
+                    "phone-incoming": ["call"],
+                    "phone-missed": ["call"],
+                    "phone-off": ["call", "mute"],
+                    "phone-outgoing": ["call"],
+                    phone: ["call"],
+                    play: ["music", "start"],
+                    "pie-chart": ["statistics", "diagram"],
+                    "play-circle": ["music", "start"],
+                    plus: ["add", "new"],
+                    "plus-circle": ["add", "new"],
+                    "plus-square": ["add", "new"],
+                    pocket: ["logo", "save"],
+                    power: ["on", "off"],
+                    printer: ["fax", "office", "device"],
+                    radio: ["signal"],
+                    "refresh-cw": ["synchronise", "arrows"],
+                    "refresh-ccw": ["arrows"],
+                    repeat: ["loop", "arrows"],
+                    rewind: ["music"],
+                    "rotate-ccw": ["arrow"],
+                    "rotate-cw": ["arrow"],
+                    rss: ["feed", "subscribe"],
+                    save: ["floppy disk"],
+                    scissors: ["cut"],
+                    search: ["find", "magnifier", "magnifying glass"],
+                    send: ["message", "mail", "email", "paper airplane", "paper aeroplane"],
+                    settings: ["cog", "edit", "gear", "preferences"],
+                    "share-2": ["network", "connections"],
+                    shield: ["security", "secure"],
+                    "shield-off": ["security", "insecure"],
+                    "shopping-bag": ["ecommerce", "cart", "purchase", "store"],
+                    "shopping-cart": ["ecommerce", "cart", "purchase", "store"],
+                    shuffle: ["music"],
+                    "skip-back": ["music"],
+                    "skip-forward": ["music"],
+                    slack: ["logo"],
+                    slash: ["ban", "no"],
+                    sliders: ["settings", "controls"],
+                    smartphone: ["cellphone", "device"],
+                    smile: ["emoji", "face", "happy", "good", "emotion"],
+                    speaker: ["audio", "music"],
+                    star: ["bookmark", "favorite", "like"],
+                    "stop-circle": ["media", "music"],
+                    sun: ["brightness", "weather", "light"],
+                    sunrise: ["weather", "time", "morning", "day"],
+                    sunset: ["weather", "time", "evening", "night"],
+                    tablet: ["device"],
+                    tag: ["label"],
+                    target: ["logo", "bullseye"],
+                    terminal: ["code", "command line", "prompt"],
+                    thermometer: ["temperature", "celsius", "fahrenheit", "weather"],
+                    "thumbs-down": ["dislike", "bad", "emotion"],
+                    "thumbs-up": ["like", "good", "emotion"],
+                    "toggle-left": ["on", "off", "switch"],
+                    "toggle-right": ["on", "off", "switch"],
+                    tool: ["settings", "spanner"],
+                    trash: ["garbage", "delete", "remove", "bin"],
+                    "trash-2": ["garbage", "delete", "remove", "bin"],
+                    triangle: ["delta"],
+                    truck: ["delivery", "van", "shipping", "transport", "lorry"],
+                    tv: ["television", "stream"],
+                    twitch: ["logo"],
+                    twitter: ["logo", "social"],
+                    type: ["text"],
+                    umbrella: ["rain", "weather"],
+                    unlock: ["security"],
+                    "user-check": ["followed", "subscribed"],
+                    "user-minus": ["delete", "remove", "unfollow", "unsubscribe"],
+                    "user-plus": ["new", "add", "create", "follow", "subscribe"],
+                    "user-x": ["delete", "remove", "unfollow", "unsubscribe", "unavailable"],
+                    user: ["person", "account"],
+                    users: ["group"],
+                    "video-off": ["camera", "movie", "film"],
+                    video: ["camera", "movie", "film"],
+                    voicemail: ["phone"],
+                    volume: ["music", "sound", "mute"],
+                    "volume-1": ["music", "sound"],
+                    "volume-2": ["music", "sound"],
+                    "volume-x": ["music", "sound", "mute"],
+                    watch: ["clock", "time"],
+                    "wifi-off": ["disabled"],
+                    wifi: ["connection", "signal", "wireless"],
+                    wind: ["weather", "air"],
+                    "x-circle": ["cancel", "close", "delete", "remove", "times", "clear"],
+                    "x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"],
+                    "x-square": ["cancel", "close", "delete", "remove", "times", "clear"],
+                    x: ["cancel", "close", "delete", "remove", "times", "clear"],
+                    youtube: ["logo", "video", "play"],
+                    "zap-off": ["flash", "camera", "lightning"],
+                    zap: ["flash", "camera", "lightning"],
+                    "zoom-in": ["magnifying glass"],
+                    "zoom-out": ["magnifying glass"]
+                }
+            }, "./src/to-svg.js": function (e, t, n) {
+                "use strict";
+                Object.defineProperty(t, "__esModule", {value: !0});
+                var i, a = n("./src/icons.js"), r = (i = a) && i.__esModule ? i : {default: i};
+                t.default = function (e) {
+                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+                    if (console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."), !e) throw new Error("The required `key` (icon name) parameter is missing.");
+                    if (!r.default[e]) throw new Error("No icon matching '" + e + "'. See the complete list of icons at https://feathericons.com");
+                    return r.default[e].toSvg(t)
+                }
+            }, 0: function (e, t, n) {
+                n("./node_modules/core-js/es/array/from.js"), e.exports = n("./src/index.js")
+            }
+        })
+    }, e.exports = i()
+}, function (e, t, n) {
+    (function (t) {
+        var n = "Expected a function", i = /^\s+|\s+$/g, a = /^[-+]0x[0-9a-f]+$/i, r = /^0b[01]+$/i, l = /^0o[0-7]+$/i,
+            o = parseInt, s = "object" == typeof t && t && t.Object === Object && t,
+            d = "object" == typeof self && self && self.Object === Object && self,
+            u = s || d || Function("return this")(), c = Object.prototype.toString, h = Math.max, m = Math.min,
+            f = function () {
+                return u.Date.now()
+            };
+
+        function _(e, t, i) {
+            var a, r, l, o, s, d, u = 0, c = !1, _ = !1, y = !0;
+            if ("function" != typeof e) throw new TypeError(n);
+
+            function v(t) {
+                var n = a, i = r;
+                return a = r = void 0, u = t, o = e.apply(i, n)
+            }
+
+            function M(e) {
+                return u = e, s = setTimeout(x, t), c ? v(e) : o
+            }
+
+            function b(e) {
+                var n = e - d;
+                return void 0 === d || n >= t || n < 0 || _ && e - u >= l
+            }
+
+            function x() {
+                var e = f();
+                if (b(e)) return L(e);
+                s = setTimeout(x, function (e) {
+                    var n = t - (e - d);
+                    return _ ? m(n, l - (e - u)) : n
+                }(e))
+            }
+
+            function L(e) {
+                return s = void 0, y && a ? v(e) : (a = r = void 0, o)
+            }
+
+            function w() {
+                var e = f(), n = b(e);
+                if (a = arguments, r = this, d = e, n) {
+                    if (void 0 === s) return M(d);
+                    if (_) return s = setTimeout(x, t), v(d)
+                }
+                return void 0 === s && (s = setTimeout(x, t)), o
+            }
+
+            return t = g(t) || 0, p(i) && (c = !!i.leading, l = (_ = "maxWait" in i) ? h(g(i.maxWait) || 0, t) : l, y = "trailing" in i ? !!i.trailing : y), w.cancel = function () {
+                void 0 !== s && clearTimeout(s), u = 0, a = d = r = s = void 0
+            }, w.flush = function () {
+                return void 0 === s ? o : L(f())
+            }, w
+        }
+
+        function p(e) {
+            var t = typeof e;
+            return !!e && ("object" == t || "function" == t)
+        }
+
+        function g(e) {
+            if ("number" == typeof e) return e;
+            if (function (e) {
+                return "symbol" == typeof e || function (e) {
+                    return !!e && "object" == typeof e
+                }(e) && "[object Symbol]" == c.call(e)
+            }(e)) return NaN;
+            if (p(e)) {
+                var t = "function" == typeof e.valueOf ? e.valueOf() : e;
+                e = p(t) ? t + "" : t
+            }
+            if ("string" != typeof e) return 0 === e ? e : +e;
+            e = e.replace(i, "");
+            var n = r.test(e);
+            return n || l.test(e) ? o(e.slice(2), n ? 2 : 8) : a.test(e) ? NaN : +e
+        }
+
+        e.exports = function (e, t, i) {
+            var a = !0, r = !0;
+            if ("function" != typeof e) throw new TypeError(n);
+            return p(i) && (a = "leading" in i ? !!i.leading : a, r = "trailing" in i ? !!i.trailing : r), _(e, t, {
+                leading: a,
+                maxWait: t,
+                trailing: r
+            })
+        }
+    }).call(this, n(11))
+}, function (e, t, n) {
+    (function (t) {
+        var n = /^\s+|\s+$/g, i = /^[-+]0x[0-9a-f]+$/i, a = /^0b[01]+$/i, r = /^0o[0-7]+$/i, l = parseInt,
+            o = "object" == typeof t && t && t.Object === Object && t,
+            s = "object" == typeof self && self && self.Object === Object && self,
+            d = o || s || Function("return this")(), u = Object.prototype.toString, c = Math.max, h = Math.min,
+            m = function () {
+                return d.Date.now()
+            };
+
+        function f(e) {
+            var t = typeof e;
+            return !!e && ("object" == t || "function" == t)
+        }
+
+        function _(e) {
+            if ("number" == typeof e) return e;
+            if (function (e) {
+                return "symbol" == typeof e || function (e) {
+                    return !!e && "object" == typeof e
+                }(e) && "[object Symbol]" == u.call(e)
+            }(e)) return NaN;
+            if (f(e)) {
+                var t = "function" == typeof e.valueOf ? e.valueOf() : e;
+                e = f(t) ? t + "" : t
+            }
+            if ("string" != typeof e) return 0 === e ? e : +e;
+            e = e.replace(n, "");
+            var o = a.test(e);
+            return o || r.test(e) ? l(e.slice(2), o ? 2 : 8) : i.test(e) ? NaN : +e
+        }
+
+        e.exports = function (e, t, n) {
+            var i, a, r, l, o, s, d = 0, u = !1, p = !1, g = !0;
+            if ("function" != typeof e) throw new TypeError("Expected a function");
+
+            function y(t) {
+                var n = i, r = a;
+                return i = a = void 0, d = t, l = e.apply(r, n)
+            }
+
+            function v(e) {
+                return d = e, o = setTimeout(b, t), u ? y(e) : l
+            }
+
+            function M(e) {
+                var n = e - s;
+                return void 0 === s || n >= t || n < 0 || p && e - d >= r
+            }
+
+            function b() {
+                var e = m();
+                if (M(e)) return x(e);
+                o = setTimeout(b, function (e) {
+                    var n = t - (e - s);
+                    return p ? h(n, r - (e - d)) : n
+                }(e))
+            }
+
+            function x(e) {
+                return o = void 0, g && i ? y(e) : (i = a = void 0, l)
+            }
+
+            function L() {
+                var e = m(), n = M(e);
+                if (i = arguments, a = this, s = e, n) {
+                    if (void 0 === o) return v(s);
+                    if (p) return o = setTimeout(b, t), y(s)
+                }
+                return void 0 === o && (o = setTimeout(b, t)), l
+            }
+
+            return t = _(t) || 0, f(n) && (u = !!n.leading, r = (p = "maxWait" in n) ? c(_(n.maxWait) || 0, t) : r, g = "trailing" in n ? !!n.trailing : g), L.cancel = function () {
+                void 0 !== o && clearTimeout(o), d = 0, i = s = a = o = void 0
+            }, L.flush = function () {
+                return void 0 === o ? l : x(m())
+            }, L
+        }
+    }).call(this, n(11))
+}, function (e, t, n) {
+    var i = n(52)("wks"), a = n(53), r = n(15).Symbol, l = "function" == typeof r;
+    (e.exports = function (e) {
+        return i[e] || (i[e] = l && r[e] || (l ? r : a)("Symbol." + e))
+    }).store = i
+}, function (e, t, n) {
+    var i = n(30), a = n(15), r = "__core-js_shared__", l = a[r] || (a[r] = {});
+    (e.exports = function (e, t) {
+        return l[e] || (l[e] = void 0 !== t ? t : {})
+    })("versions", []).push({
+        version: i.version,
+        mode: n(240) ? "pure" : "global",
+        copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
+    })
+}, 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) {
+    "use strict";
+    var i, a, r = n(243), l = RegExp.prototype.exec, o = String.prototype.replace, s = l,
+        d = (i = /a/, a = /b*/g, l.call(i, "a"), l.call(a, "a"), 0 !== i.lastIndex || 0 !== a.lastIndex),
+        u = void 0 !== /()??/.exec("")[1];
+    (d || u) && (s = function (e) {
+        var t, n, i, a, s = this;
+        return u && (n = new RegExp("^" + s.source + "$(?!\\s)", r.call(s))), d && (t = s.lastIndex), i = l.call(s, e), d && i && (s.lastIndex = s.global ? i.index + i[0].length : t), u && i && i.length > 1 && o.call(i[0], n, (function () {
+            for (a = 1; a < arguments.length - 2; a++) void 0 === arguments[a] && (i[a] = void 0)
+        })), i
+    }), e.exports = s
+}, function (e, t, n) {
+    var i = n(15), a = n(31), r = n(250), l = n(53)("src"), o = n(251), s = "toString", d = ("" + o).split(s);
+    n(30).inspectSource = function (e) {
+        return o.call(e)
+    }, (e.exports = function (e, t, n, o) {
+        var s = "function" == typeof n;
+        s && (r(n, "name") || a(n, "name", t)), e[t] !== n && (s && (r(n, l) || a(n, l, e[t] ? "" + e[t] : d.join(String(t)))), e === i ? e[t] = n : o ? e[t] ? e[t] = n : a(e, t, n) : (delete e[t], a(e, t, n)))
+    })(Function.prototype, s, (function () {
+        return "function" == typeof this && this[l] || o.call(this)
+    }))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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) {
+                return e < 12 ? n ? "vm" : "VM" : 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 + (1 === e || 8 === e || e >= 20 ? "ste" : "de")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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 (e) {
+                return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
+            }, a = {
+                s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
+                m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
+                h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
+                d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
+                M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
+                y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"]
+            }, r = function (e) {
+                return function (t, n, r, l) {
+                    var o = i(t), s = a[e][i(t)];
+                    return 2 === o && (s = s[n ? 0 : 1]), s.replace(/%d/i, t)
+                }
+            },
+            l = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
+        e.defineLocale("ar", {
+            months: l,
+            monthsShort: l,
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ص" : "م"
+            },
+            calendar: {
+                sameDay: "[اليوم عند الساعة] LT",
+                nextDay: "[غدًا عند الساعة] LT",
+                nextWeek: "dddd [عند الساعة] LT",
+                lastDay: "[أمس عند الساعة] LT",
+                lastWeek: "dddd [عند الساعة] LT",
+                sameElse: "L"
+            },
+            relativeTime: {
+                future: "بعد %s",
+                past: "منذ %s",
+                s: r("s"),
+                ss: r("s"),
+                m: r("m"),
+                mm: r("m"),
+                h: r("h"),
+                hh: r("h"),
+                d: r("d"),
+                dd: r("d"),
+                M: r("M"),
+                MM: r("M"),
+                y: r("y"),
+                yy: r("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";
+        var t = function (e) {
+                return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
+            }, n = {
+                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 (e) {
+                return function (i, a, r, l) {
+                    var o = t(i), s = n[e][t(i)];
+                    return 2 === o && (s = s[a ? 0 : 1]), s.replace(/%d/i, i)
+                }
+            },
+            a = ["جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
+        e.defineLocale("ar-dz", {
+            months: a,
+            monthsShort: a,
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ص" : "م"
+            },
+            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")
+            },
+            postformat: function (e) {
+                return e.replace(/,/g, "،")
+            },
+            week: {dow: 0, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        e.defineLocale("ar-kw", {
+            months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+            monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+            weekdays: "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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";
+        var t = {1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 0: "0"}, n = function (e) {
+                return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
+            }, i = {
+                s: ["أقل من ثانية", "ثانية واحدة", ["ثانيتان", "ثانيتين"], "%d ثوان", "%d ثانية", "%d ثانية"],
+                m: ["أقل من دقيقة", "دقيقة واحدة", ["دقيقتان", "دقيقتين"], "%d دقائق", "%d دقيقة", "%d دقيقة"],
+                h: ["أقل من ساعة", "ساعة واحدة", ["ساعتان", "ساعتين"], "%d ساعات", "%d ساعة", "%d ساعة"],
+                d: ["أقل من يوم", "يوم واحد", ["يومان", "يومين"], "%d أيام", "%d يومًا", "%d يوم"],
+                M: ["أقل من شهر", "شهر واحد", ["شهران", "شهرين"], "%d أشهر", "%d شهرا", "%d شهر"],
+                y: ["أقل من عام", "عام واحد", ["عامان", "عامين"], "%d أعوام", "%d عامًا", "%d عام"]
+            }, a = function (e) {
+                return function (t, a, r, l) {
+                    var o = n(t), s = i[e][n(t)];
+                    return 2 === o && (s = s[a ? 0 : 1]), s.replace(/%d/i, t)
+                }
+            },
+            r = ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
+        e.defineLocale("ar-ly", {
+            months: r,
+            monthsShort: r,
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ص" : "م"
+            },
+            calendar: {
+                sameDay: "[اليوم عند الساعة] LT",
+                nextDay: "[غدًا عند الساعة] LT",
+                nextWeek: "dddd [عند الساعة] LT",
+                lastDay: "[أمس عند الساعة] LT",
+                lastWeek: "dddd [عند الساعة] LT",
+                sameElse: "L"
+            },
+            relativeTime: {
+                future: "بعد %s",
+                past: "منذ %s",
+                s: a("s"),
+                ss: a("s"),
+                m: a("m"),
+                mm: a("m"),
+                h: a("h"),
+                hh: a("h"),
+                d: a("d"),
+                dd: a("d"),
+                M: a("M"),
+                MM: a("M"),
+                y: a("y"),
+                yy: a("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";
+        e.defineLocale("ar-ma", {
+            months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+            monthsShort: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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";
+        var t = {1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠"},
+            n = {"١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0"};
+        e.defineLocale("ar-sa", {
+            months: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
+            monthsShort: "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ص" : "م"
+            },
+            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";
+        e.defineLocale("ar-tn", {
+            months: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
+            monthsShort: "جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),
+            weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+            weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
+            weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"),
+            weekdaysParseExact: !0,
+            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";
+        var t = {
+            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ı"
+        };
+        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: !0,
+            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) {
+                return e < 4 ? "gecə" : e < 12 ? "səhər" : e < 17 ? "gündüz" : "axşam"
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+            ordinal: function (e) {
+                if (0 === e) return e + "-ıncı";
+                var n = e % 10, i = e % 100 - n, a = e >= 100 ? 100 : null;
+                return e + (t[n] || t[i] || t[a])
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(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 n(e, n, i) {
+            return "m" === i ? n ? "хвіліна" : "хвіліну" : "h" === i ? n ? "гадзіна" : "гадзіну" : e + " " + t({
+                ss: n ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
+                mm: n ? "хвіліна_хвіліны_хвілін" : "хвіліну_хвіліны_хвілін",
+                hh: n ? "гадзіна_гадзіны_гадзін" : "гадзіну_гадзіны_гадзін",
+                dd: "дзень_дні_дзён",
+                MM: "месяц_месяцы_месяцаў",
+                yy: "год_гады_гадоў"
+            }[i], +e)
+        }
+
+        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: n,
+                mm: n,
+                h: n,
+                hh: n,
+                d: "дзень",
+                dd: n,
+                M: "месяц",
+                MM: n,
+                y: "год",
+                yy: n
+            },
+            meridiemParse: /ночы|раніцы|дня|вечара/,
+            isPM: function (e) {
+                return /^(дня|вечара)$/.test(e)
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "ночы" : e < 12 ? "раніцы" : e < 17 ? "дня" : "вечара"
+            },
+            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";
+        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;
+                return 0 === e ? e + "-ев" : 0 === n ? e + "-ен" : n > 10 && n < 20 ? e + "-ти" : 1 === t ? e + "-ви" : 2 === t ? e + "-ри" : 7 === t || 8 === t ? e + "-ми" : e + "-ти"
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        var t = {1: "১", 2: "২", 3: "৩", 4: "৪", 5: "৫", 6: "৬", 7: "৭", 8: "৮", 9: "৯", 0: "০"},
+            n = {"১": "1", "২": "2", "৩": "3", "৪": "4", "৫": "5", "৬": "6", "৭": "7", "৮": "8", "৯": "9", "০": "0"};
+        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) {
+                return 12 === e && (e = 0), "রাত" === t && e >= 4 || "দুপুর" === t && e < 5 || "বিকাল" === t ? e + 12 : e
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "রাত" : e < 10 ? "সকাল" : e < 17 ? "দুপুর" : e < 20 ? "বিকাল" : "রাত"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {1: "১", 2: "২", 3: "৩", 4: "৪", 5: "৫", 6: "৬", 7: "৭", 8: "৮", 9: "৯", 0: "০"},
+            n = {"১": "1", "২": "2", "৩": "3", "৪": "4", "৫": "5", "৬": "6", "৭": "7", "৮": "8", "৯": "9", "০": "0"};
+        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) {
+                return 12 === e && (e = 0), "রাত" === t ? e < 4 ? e : e + 12 : "ভোর" === t || "সকাল" === t ? e : "দুপুর" === t ? e >= 3 ? e : e + 12 : "বিকাল" === t || "সন্ধ্যা" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "রাত" : e < 6 ? "ভোর" : e < 12 ? "সকাল" : e < 15 ? "দুপুর" : e < 18 ? "বিকাল" : e < 20 ? "সন্ধ্যা" : "রাত"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {1: "༡", 2: "༢", 3: "༣", 4: "༤", 5: "༥", 6: "༦", 7: "༧", 8: "༨", 9: "༩", 0: "༠"},
+            n = {"༡": "1", "༢": "2", "༣": "3", "༤": "4", "༥": "5", "༦": "6", "༧": "7", "༨": "8", "༩": "9", "༠": "0"};
+        e.defineLocale("bo", {
+            months: "ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),
+            monthsShort: "ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12".split("_"),
+            monthsShortRegex: /^(ཟླ་\d{1,2})/,
+            monthsParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "མཚན་མོ" === t && e >= 4 || "ཉིན་གུང" === t && e < 5 || "དགོང་དག" === t ? e + 12 : e
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "མཚན་མོ" : e < 10 ? "ཞོགས་ཀས" : e < 17 ? "ཉིན་གུང" : e < 20 ? "དགོང་དག" : "མཚན་མོ"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n) {
+            return e + " " + a({mm: "munutenn", MM: "miz", dd: "devezh"}[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) {
+            return e > 9 ? i(e % 10) : e
+        }
+
+        function a(e, t) {
+            return 2 === t ? r(e) : e
+        }
+
+        function r(e) {
+            var t = {m: "v", b: "v", d: "z"};
+            return void 0 === t[e.charAt(0)] ? e : t[e.charAt(0)] + e.substring(1)
+        }
+
+        var l = [/^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,
+            s = /^(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,
+            u = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],
+            c = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],
+            h = [/^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: h,
+            fullWeekdaysParse: u,
+            shortWeekdaysParse: c,
+            minWeekdaysParse: h,
+            monthsRegex: o,
+            monthsShortRegex: o,
+            monthsStrictRegex: s,
+            monthsShortStrictRegex: d,
+            monthsParse: l,
+            longMonthsParse: l,
+            shortMonthsParse: l,
+            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) {
+                return e + (1 === e ? "añ" : "vet")
+            },
+            week: {dow: 1, doy: 4},
+            meridiemParse: /a.m.|g.m./,
+            isPM: function (e) {
+                return "g.m." === e
+            },
+            meridiem: function (e, t, n) {
+                return e < 12 ? "a.m." : "g.m."
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n) {
+            var i = e + " ";
+            switch (n) {
+                case"ss":
+                    return i += 1 === e ? "sekunda" : 2 === e || 3 === e || 4 === e ? "sekunde" : "sekundi";
+                case"m":
+                    return t ? "jedna minuta" : "jedne minute";
+                case"mm":
+                    return i += 1 === e ? "minuta" : 2 === e || 3 === e || 4 === e ? "minute" : "minuta";
+                case"h":
+                    return t ? "jedan sat" : "jednog sata";
+                case"hh":
+                    return i += 1 === e ? "sat" : 2 === e || 3 === e || 4 === e ? "sata" : "sati";
+                case"dd":
+                    return i += 1 === e ? "dan" : "dana";
+                case"MM":
+                    return i += 1 === e ? "mjesec" : 2 === e || 3 === e || 4 === e ? "mjeseca" : "mjeseci";
+                case"yy":
+                    return i += 1 === e ? "godina" : 2 === e || 3 === e || 4 === e ? "godine" : "godina"
+            }
+        }
+
+        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: !0,
+            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: !0,
+            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";
+        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: !0,
+            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: !0,
+            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 " + (1 !== this.hours() ? "les" : "la") + "] LT"
+                }, nextDay: function () {
+                    return "[demà a " + (1 !== this.hours() ? "les" : "la") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [a " + (1 !== this.hours() ? "les" : "la") + "] LT"
+                }, lastDay: function () {
+                    return "[ahir a " + (1 !== this.hours() ? "les" : "la") + "] LT"
+                }, lastWeek: function () {
+                    return "[el] dddd [passat a " + (1 !== this.hours() ? "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 = 1 === e ? "r" : 2 === e ? "n" : 3 === e ? "r" : 4 === e ? "t" : "è";
+                return "w" !== t && "W" !== t || (n = "a"), e + n
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".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],
+            a = /^(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;
+
+        function r(e) {
+            return e > 1 && e < 5 && 1 != ~~(e / 10)
+        }
+
+        function l(e, t, n, i) {
+            var a = e + " ";
+            switch (n) {
+                case"s":
+                    return t || i ? "pár sekund" : "pár sekundami";
+                case"ss":
+                    return t || i ? a + (r(e) ? "sekundy" : "sekund") : a + "sekundami";
+                case"m":
+                    return t ? "minuta" : i ? "minutu" : "minutou";
+                case"mm":
+                    return t || i ? a + (r(e) ? "minuty" : "minut") : a + "minutami";
+                case"h":
+                    return t ? "hodina" : i ? "hodinu" : "hodinou";
+                case"hh":
+                    return t || i ? a + (r(e) ? "hodiny" : "hodin") : a + "hodinami";
+                case"d":
+                    return t || i ? "den" : "dnem";
+                case"dd":
+                    return t || i ? a + (r(e) ? "dny" : "dní") : a + "dny";
+                case"M":
+                    return t || i ? "měsíc" : "měsícem";
+                case"MM":
+                    return t || i ? a + (r(e) ? "měsíce" : "měsíců") : a + "měsíci";
+                case"y":
+                    return t || i ? "rok" : "rokem";
+                case"yy":
+                    return t || i ? a + (r(e) ? "roky" : "let") : a + "lety"
+            }
+        }
+
+        e.defineLocale("cs", {
+            months: t,
+            monthsShort: n,
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: l,
+                ss: l,
+                m: l,
+                mm: l,
+                h: l,
+                hh: l,
+                d: l,
+                dd: l,
+                M: l,
+                MM: l,
+                y: l,
+                yy: l
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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) {
+                    return e + (/сехет$/i.exec(e) ? "рен" : /ҫул$/i.exec(e) ? "тан" : "ран")
+                },
+                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";
+        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: !0,
+            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 = "";
+                return e > 20 ? t = 40 === e || 50 === e || 60 === e || 80 === e || 100 === e ? "fed" : "ain" : e > 0 && (t = ["", "af", "il", "ydd", "ydd", "ed", "ed", "ed", "fed", "fed", "fed", "eg", "fed", "eg", "eg", "fed", "eg", "eg", "fed", "eg", "fed"][e]), e + t
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        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: !0,
+            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: !0,
+            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";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        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: !0,
+            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: !0,
+            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";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        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: !0,
+            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: !0,
+            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";
+        var t = ["ޖެނުއަރީ", "ފެބްރުއަރީ", "މާރިޗު", "އޭޕްރީލު", "މޭ", "ޖޫން", "ޖުލައި", "އޯގަސްޓު", "ސެޕްޓެމްބަރު", "އޮކްޓޯބަރު", "ނޮވެމްބަރު", "ޑިސެމްބަރު"],
+            n = ["އާދިއްތަ", "ހޯމަ", "އަންގާރަ", "ބުދަ", "ބުރާސްފަތި", "ހުކުރު", "ހޮނިހިރު"];
+        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) {
+                return e < 12 ? "މކ" : "މފ"
+            },
+            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";
+
+        function t(e) {
+            return "undefined" != typeof Function && e instanceof Function || "[object Function]" === Object.prototype.toString.call(e)
+        }
+
+        e.defineLocale("el", {
+            monthsNominativeEl: "Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),
+            monthsGenitiveEl: "Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),
+            months: function (e, t) {
+                return e ? "string" == typeof t && /D/.test(t.substring(0, t.indexOf("MMMM"))) ? this._monthsGenitiveEl[e.month()] : this._monthsNominativeEl[e.month()] : this._monthsNominativeEl
+            },
+            monthsShort: "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),
+            weekdays: "Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),
+            weekdaysShort: "Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),
+            weekdaysMin: "Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),
+            meridiem: function (e, t, n) {
+                return e > 11 ? n ? "μμ" : "ΜΜ" : 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, n) {
+                var i = this._calendarEl[e], a = n && n.hours();
+                return t(i) && (i = i.apply(n)), i.replace("{}", a % 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";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 0, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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 "p" === e.charAt(0).toLowerCase()
+            },
+            meridiem: function (e, t, n) {
+                return e > 11 ? n ? "p.t.m." : "P.T.M." : 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";
+        var t = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
+            n = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
+            i = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
+            a = /^(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;
+        e.defineLocale("es", {
+            months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextDay: function () {
+                    return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastDay: function () {
+                    return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastWeek: function () {
+                    return "[el] dddd [pasado a la" + (1 !== this.hours() ? "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";
+        var t = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
+            n = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
+            i = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
+            a = /^(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;
+        e.defineLocale("es-do", {
+            months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextDay: function () {
+                    return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastDay: function () {
+                    return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastWeek: function () {
+                    return "[el] dddd [pasado a la" + (1 !== this.hours() ? "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";
+        var t = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
+            n = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
+            i = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
+            a = /^(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;
+        e.defineLocale("es-mx", {
+            months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextDay: function () {
+                    return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastDay: function () {
+                    return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastWeek: function () {
+                    return "[el] dddd [pasado a la" + (1 !== this.hours() ? "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";
+        var t = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
+            n = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),
+            i = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
+            a = /^(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;
+        e.defineLocale("es-us", {
+            months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextDay: function () {
+                    return "[mañana a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastDay: function () {
+                    return "[ayer a la" + (1 !== this.hours() ? "s" : "") + "] LT"
+                }, lastWeek: function () {
+                    return "[el] dddd [pasado a la" + (1 !== this.hours() ? "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";
+
+        function t(e, t, n, i) {
+            var a = {
+                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"]
+            };
+            return t ? a[n][2] ? a[n][2] : a[n][1] : i ? a[n][0] : a[n][1]
+        }
+
+        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";
+        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: !0,
+            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: !0,
+            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";
+        var t = {1: "۱", 2: "۲", 3: "۳", 4: "۴", 5: "۵", 6: "۶", 7: "۷", 8: "۸", 9: "۹", 0: "۰"},
+            n = {"۱": "1", "۲": "2", "۳": "3", "۴": "4", "۵": "5", "۶": "6", "۷": "7", "۸": "8", "۹": "9", "۰": "0"};
+        e.defineLocale("fa", {
+            months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
+            monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
+            weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
+            weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
+            weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "قبل از ظهر" : "بعد از ظهر"
+            },
+            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";
+        var t = "nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),
+            n = ["nolla", "yhden", "kahden", "kolmen", "neljän", "viiden", "kuuden", t[7], t[8], t[9]];
+
+        function i(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"
+            }
+            return r = a(e, i) + " " + r
+        }
+
+        function a(e, i) {
+            return e < 10 ? i ? n[e] : t[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: 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";
+        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";
+        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";
+        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,
+            a = [/^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];
+        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: a,
+            longMonthsParse: a,
+            shortMonthsParse: a,
+            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: !0,
+            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: "[Aujourd’hui à] 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 + (1 === e ? "er" : "");
+                    default:
+                    case"M":
+                    case"Q":
+                    case"DDD":
+                    case"d":
+                        return e + (1 === e ? "er" : "e");
+                    case"w":
+                    case"W":
+                        return e + (1 === e ? "re" : "e")
+                }
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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: !0,
+            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: "[Aujourd’hui à] 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 + (1 === e ? "er" : "e");
+                    case"w":
+                    case"W":
+                        return e + (1 === e ? "re" : "e")
+                }
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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: !0,
+            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: "[Aujourd’hui à] 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 + (1 === e ? "er" : "e");
+                    case"w":
+                    case"W":
+                        return e + (1 === e ? "re" : "e")
+                }
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = "jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),
+            n = "jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");
+        e.defineLocale("fy", {
+            months: "jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsParseExact: !0,
+            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: !0,
+            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 + (1 === e || 8 === e || e >= 20 ? "ste" : "de")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = ["Eanáir", "Feabhra", "Márta", "Aibreán", "Bealtaine", "Meitheamh", "Iúil", "Lúnasa", "Meán Fómhair", "Deireadh Fómhair", "Samhain", "Nollaig"],
+            n = ["Ean", "Feabh", "Márt", "Aib", "Beal", "Meith", "Iúil", "Lún", "M.F.", "D.F.", "Samh", "Noll"],
+            i = ["Dé Domhnaigh", "Dé Luain", "Dé Máirt", "Dé Céadaoin", "Déardaoin", "Dé hAoine", "Dé Sathairn"],
+            a = ["Domh", "Luan", "Máirt", "Céad", "Déar", "Aoine", "Sath"],
+            r = ["Do", "Lu", "Má", "Cé", "Dé", "A", "Sa"];
+        e.defineLocale("ga", {
+            months: t,
+            monthsShort: n,
+            monthsParseExact: !0,
+            weekdays: i,
+            weekdaysShort: a,
+            weekdaysMin: r,
+            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) {
+                return e + (1 === e ? "d" : e % 10 == 2 ? "na" : "mh")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = ["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"],
+            n = ["Faoi", "Gear", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùn", "Sult", "Dàmh", "Samh", "Dùbh"],
+            i = ["Didòmhnaich", "Diluain", "Dimàirt", "Diciadain", "Diardaoin", "Dihaoine", "Disathairne"],
+            a = ["Did", "Dil", "Dim", "Dic", "Dia", "Dih", "Dis"], r = ["Dò", "Lu", "Mà", "Ci", "Ar", "Ha", "Sa"];
+        e.defineLocale("gd", {
+            months: t,
+            monthsShort: n,
+            monthsParseExact: !0,
+            weekdays: i,
+            weekdaysShort: a,
+            weekdaysMin: r,
+            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) {
+                return e + (1 === e ? "d" : e % 10 == 2 ? "na" : "mh")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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: !0,
+            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 " + (1 !== this.hours() ? "ás" : "á") + "] LT"
+                }, nextDay: function () {
+                    return "[mañá " + (1 !== this.hours() ? "ás" : "á") + "] LT"
+                }, nextWeek: function () {
+                    return "dddd [" + (1 !== this.hours() ? "ás" : "a") + "] LT"
+                }, lastDay: function () {
+                    return "[onte " + (1 !== this.hours() ? "á" : "a") + "] LT"
+                }, lastWeek: function () {
+                    return "[o] dddd [pasado " + (1 !== this.hours() ? "ás" : "a") + "] LT"
+                }, sameElse: "L"
+            },
+            relativeTime: {
+                future: function (e) {
+                    return 0 === e.indexOf("un") ? "n" + e : "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";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        e.defineLocale("gom-deva", {
+            months: {
+                standalone: "जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
+                format: "जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या".split("_"),
+                isFormat: /MMMM(\s)+D[oD]?/
+            },
+            monthsShort: "जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
+            monthsParseExact: !0,
+            weekdays: "आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार".split("_"),
+            weekdaysShort: "आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.".split("_"),
+            weekdaysMin: "आ_सो_मं_बु_ब्रे_सु_शे".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "राती" === t ? e < 4 ? e : e + 12 : "सकाळीं" === t ? e : "दनपारां" === t ? e > 12 ? e : e + 12 : "सांजे" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "राती" : e < 12 ? "सकाळीं" : e < 16 ? "दनपारां" : e < 20 ? "सांजे" : "राती"
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        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: !0,
+            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: !0,
+            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) {
+                return 12 === e && (e = 0), "rati" === t ? e < 4 ? e : e + 12 : "sokallim" === t ? e : "donparam" === t ? e > 12 ? e : e + 12 : "sanje" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "rati" : e < 12 ? "sokallim" : e < 16 ? "donparam" : e < 20 ? "sanje" : "rati"
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {1: "૧", 2: "૨", 3: "૩", 4: "૪", 5: "૫", 6: "૬", 7: "૭", 8: "૮", 9: "૯", 0: "૦"},
+            n = {"૧": "1", "૨": "2", "૩": "3", "૪": "4", "૫": "5", "૬": "6", "૭": "7", "૮": "8", "૯": "9", "૦": "0"};
+        e.defineLocale("gu", {
+            months: "જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),
+            monthsShort: "જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),
+            monthsParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "રાત" === t ? e < 4 ? e : e + 12 : "સવાર" === t ? e : "બપોર" === t ? e >= 10 ? e : e + 12 : "સાંજ" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "રાત" : e < 10 ? "સવાર" : e < 17 ? "બપોર" : e < 20 ? "સાંજ" : "રાત"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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) {
+                    return 2 === e ? "שעתיים" : e + " שעות"
+                },
+                d: "יום",
+                dd: function (e) {
+                    return 2 === e ? "יומיים" : e + " ימים"
+                },
+                M: "חודש",
+                MM: function (e) {
+                    return 2 === e ? "חודשיים" : e + " חודשים"
+                },
+                y: "שנה",
+                yy: function (e) {
+                    return 2 === e ? "שנתיים" : e % 10 == 0 && 10 !== e ? e + " שנה" : e + " שנים"
+                }
+            },
+            meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+            isPM: function (e) {
+                return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)
+            },
+            meridiem: function (e, t, n) {
+                return e < 5 ? "לפנות בוקר" : e < 10 ? "בבוקר" : e < 12 ? n ? 'לפנה"צ' : "לפני הצהריים" : e < 18 ? n ? 'אחה"צ' : "אחרי הצהריים" : "בערב"
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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],
+            a = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i];
+        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: a,
+            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) {
+                return 12 === e && (e = 0), "रात" === t ? e < 4 ? e : e + 12 : "सुबह" === t ? e : "दोपहर" === t ? e >= 10 ? e : e + 12 : "शाम" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "रात" : e < 10 ? "सुबह" : e < 17 ? "दोपहर" : e < 20 ? "शाम" : "रात"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n) {
+            var i = e + " ";
+            switch (n) {
+                case"ss":
+                    return i += 1 === e ? "sekunda" : 2 === e || 3 === e || 4 === e ? "sekunde" : "sekundi";
+                case"m":
+                    return t ? "jedna minuta" : "jedne minute";
+                case"mm":
+                    return i += 1 === e ? "minuta" : 2 === e || 3 === e || 4 === e ? "minute" : "minuta";
+                case"h":
+                    return t ? "jedan sat" : "jednog sata";
+                case"hh":
+                    return i += 1 === e ? "sat" : 2 === e || 3 === e || 4 === e ? "sata" : "sati";
+                case"dd":
+                    return i += 1 === e ? "dan" : "dana";
+                case"MM":
+                    return i += 1 === e ? "mjesec" : 2 === e || 3 === e || 4 === e ? "mjeseca" : "mjeseci";
+                case"yy":
+                    return i += 1 === e ? "godina" : 2 === e || 3 === e || 4 === e ? "godine" : "godina"
+            }
+        }
+
+        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: !0,
+            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: !0,
+            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";
+        var t = "vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");
+
+        function n(e, t, n, i) {
+            var a = e;
+            switch (n) {
+                case"s":
+                    return i || t ? "néhány másodperc" : "néhány másodperce";
+                case"ss":
+                    return a + (i || t) ? " másodperc" : " másodperce";
+                case"m":
+                    return "egy" + (i || t ? " perc" : " perce");
+                case"mm":
+                    return a + (i || t ? " perc" : " perce");
+                case"h":
+                    return "egy" + (i || t ? " óra" : " órája");
+                case"hh":
+                    return a + (i || t ? " óra" : " órája");
+                case"d":
+                    return "egy" + (i || t ? " nap" : " napja");
+                case"dd":
+                    return a + (i || t ? " nap" : " napja");
+                case"M":
+                    return "egy" + (i || t ? " hónap" : " hónapja");
+                case"MM":
+                    return a + (i || t ? " hónap" : " hónapja");
+                case"y":
+                    return "egy" + (i || t ? " év" : " éve");
+                case"yy":
+                    return a + (i || t ? " év" : " éve")
+            }
+            return ""
+        }
+
+        function i(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: !0,
+            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 "u" === e.charAt(1).toLowerCase()
+            },
+            meridiem: function (e, t, n) {
+                return e < 12 ? !0 === n ? "de" : "DE" : !0 === n ? "du" : "DU"
+            },
+            calendar: {
+                sameDay: "[ma] LT[-kor]", nextDay: "[holnap] LT[-kor]", nextWeek: function () {
+                    return i.call(this, !0)
+                }, lastDay: "[tegnap] LT[-kor]", lastWeek: function () {
+                    return i.call(this, !1)
+                }, sameElse: "L"
+            },
+            relativeTime: {
+                future: "%s múlva",
+                past: "%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";
+        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) {
+                return e < 4 ? "գիշերվա" : e < 12 ? "առավոտվա" : e < 17 ? "ցերեկվա" : "երեկոյան"
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
+            ordinal: function (e, t) {
+                switch (t) {
+                    case"DDD":
+                    case"w":
+                    case"W":
+                    case"DDDo":
+                        return 1 === e ? e + "-ին" : e + "-րդ";
+                    default:
+                        return e
+                }
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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) {
+                return 12 === e && (e = 0), "pagi" === t ? e : "siang" === t ? e >= 11 ? e : e + 12 : "sore" === t || "malam" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 11 ? "pagi" : e < 15 ? "siang" : e < 19 ? "sore" : "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";
+
+        function t(e) {
+            return e % 100 == 11 || e % 10 != 1
+        }
+
+        function n(e, n, i, a) {
+            var r = e + " ";
+            switch (i) {
+                case"s":
+                    return n || a ? "nokkrar sekúndur" : "nokkrum sekúndum";
+                case"ss":
+                    return t(e) ? r + (n || a ? "sekúndur" : "sekúndum") : r + "sekúnda";
+                case"m":
+                    return n ? "mínúta" : "mínútu";
+                case"mm":
+                    return t(e) ? r + (n || a ? "mínútur" : "mínútum") : n ? r + "mínúta" : r + "mínútu";
+                case"hh":
+                    return t(e) ? r + (n || a ? "klukkustundir" : "klukkustundum") : r + "klukkustund";
+                case"d":
+                    return n ? "dagur" : a ? "dag" : "degi";
+                case"dd":
+                    return t(e) ? n ? r + "dagar" : r + (a ? "daga" : "dögum") : n ? r + "dagur" : r + (a ? "dag" : "degi");
+                case"M":
+                    return n ? "mánuður" : a ? "mánuð" : "mánuði";
+                case"MM":
+                    return t(e) ? n ? r + "mánuðir" : r + (a ? "mánuði" : "mánuðum") : n ? r + "mánuður" : r + (a ? "mánuð" : "mánuði");
+                case"y":
+                    return n || a ? "ár" : "ári";
+                case"yy":
+                    return t(e) ? r + (n || a ? "ár" : "árum") : r + (n || a ? "ár" : "ári")
+            }
+        }
+
+        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: n,
+                ss: n,
+                m: n,
+                mm: n,
+                h: "klukkustund",
+                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";
+        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 " : 0 === this.hours() ? " " : "ll'") + "]LT"
+                }, nextDay: function () {
+                    return "[Domani a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT"
+                }, nextWeek: function () {
+                    return "dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT"
+                }, lastDay: function () {
+                    return "[Ieri a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT"
+                }, lastWeek: function () {
+                    switch (this.day()) {
+                        case 0:
+                            return "[La scorsa] dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "ll'") + "]LT";
+                        default:
+                            return "[Lo scorso] dddd [a" + (this.hours() > 1 ? "lle " : 0 === this.hours() ? " " : "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";
+        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";
+        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: -1 / 0, 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) {
+                return e < 12 ? "午前" : "午後"
+            },
+            calendar: {
+                sameDay: "[今日] LT", nextDay: "[明日] LT", nextWeek: function (e) {
+                    return e.week() !== this.week() ? "[来週]dddd LT" : "dddd LT"
+                }, lastDay: "[昨日] LT", lastWeek: function (e) {
+                    return this.week() !== e.week() ? "[先週]dddd LT" : "dddd LT"
+                }, sameElse: "L"
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}日/,
+            ordinal: function (e, t) {
+                switch (t) {
+                    case"y":
+                        return 1 === e ? "元年" : 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";
+        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) {
+                return 12 === e && (e = 0), "enjing" === t ? e : "siyang" === t ? e >= 11 ? e : e + 12 : "sonten" === t || "ndalu" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 11 ? "enjing" : e < 15 ? "siyang" : e < 19 ? "sonten" : "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";
+        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) {
+                    return /(წამი|წუთი|საათი|დღე|თვე)/.test(e) ? e.replace(/(ი|ე)$/, "ის წინ") : /წელი/.test(e) ? e.replace(/წელი$/, "წლის წინ") : 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) {
+                return 0 === e ? e : 1 === e ? e + "-ლი" : e < 20 || e <= 100 && e % 20 == 0 || e % 100 == 0 ? "მე-" + e : e + "-ე"
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {
+            0: "-ші",
+            1: "-ші",
+            2: "-ші",
+            3: "-ші",
+            4: "-ші",
+            5: "-ші",
+            6: "-шы",
+            7: "-ші",
+            8: "-ші",
+            9: "-шы",
+            10: "-шы",
+            20: "-шы",
+            30: "-шы",
+            40: "-шы",
+            50: "-ші",
+            60: "-шы",
+            70: "-ші",
+            80: "-ші",
+            90: "-шы",
+            100: "-ші"
+        };
+        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 n = e % 10, i = e >= 100 ? 100 : null;
+                return e + (t[e] || t[n] || t[i])
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {1: "១", 2: "២", 3: "៣", 4: "៤", 5: "៥", 6: "៦", 7: "៧", 8: "៨", 9: "៩", 0: "០"},
+            n = {"១": "1", "២": "2", "៣": "3", "៤": "4", "៥": "5", "៦": "6", "៧": "7", "៨": "8", "៩": "9", "០": "0"};
+        e.defineLocale("km", {
+            months: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
+            monthsShort: "មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
+            weekdays: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
+            weekdaysShort: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
+            weekdaysMin: "អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ព្រឹក" : "ល្ងាច"
+            },
+            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";
+        var t = {1: "೧", 2: "೨", 3: "೩", 4: "೪", 5: "೫", 6: "೬", 7: "೭", 8: "೮", 9: "೯", 0: "೦"},
+            n = {"೧": "1", "೨": "2", "೩": "3", "೪": "4", "೫": "5", "೬": "6", "೭": "7", "೮": "8", "೯": "9", "೦": "0"};
+        e.defineLocale("kn", {
+            months: "ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),
+            monthsShort: "ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),
+            monthsParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "ರಾತ್ರಿ" === t ? e < 4 ? e : e + 12 : "ಬೆಳಿಗ್ಗೆ" === t ? e : "ಮಧ್ಯಾಹ್ನ" === t ? e >= 10 ? e : e + 12 : "ಸಂಜೆ" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "ರಾತ್ರಿ" : e < 10 ? "ಬೆಳಿಗ್ಗೆ" : e < 17 ? "ಮಧ್ಯಾಹ್ನ" : e < 20 ? "ಸಂಜೆ" : "ರಾತ್ರಿ"
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+            ordinal: function (e) {
+                return e + "ನೇ"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        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("ku", {
+            months: i,
+            monthsShort: i,
+            weekdays: "یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),
+            weekdaysShort: "یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),
+            weekdaysMin: "ی_د_س_چ_پ_ه_ش".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "به‌یانی" : "ئێواره‌"
+            },
+            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";
+        var t = {
+            0: "-чү",
+            1: "-чи",
+            2: "-чи",
+            3: "-чү",
+            4: "-чү",
+            5: "-чи",
+            6: "-чы",
+            7: "-чи",
+            8: "-чи",
+            9: "-чу",
+            10: "-чу",
+            20: "-чы",
+            30: "-чу",
+            40: "-чы",
+            50: "-чү",
+            60: "-чы",
+            70: "-чи",
+            80: "-чи",
+            90: "-чу",
+            100: "-чү"
+        };
+        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 n = e % 10, i = e >= 100 ? 100 : null;
+                return e + (t[e] || t[n] || t[i])
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 ? a[n][0] : a[n][1]
+        }
+
+        function n(e) {
+            return a(e.substr(0, e.indexOf(" "))) ? "a " + e : "an " + e
+        }
+
+        function i(e) {
+            return a(e.substr(0, e.indexOf(" "))) ? "viru " + e : "virun " + e
+        }
+
+        function a(e) {
+            if (e = parseInt(e, 10), isNaN(e)) return !1;
+            if (e < 0) return !0;
+            if (e < 10) return 4 <= e && e <= 7;
+            if (e < 100) {
+                var t = e % 10;
+                return a(0 === t ? e / 10 : t)
+            }
+            if (e < 1e4) {
+                for (; e >= 10;) e /= 10;
+                return a(e)
+            }
+            return a(e /= 1e3)
+        }
+
+        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: !0,
+            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: !0,
+            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";
+        e.defineLocale("lo", {
+            months: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
+            monthsShort: "ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),
+            weekdays: "ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
+            weekdaysShort: "ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),
+            weekdaysMin: "ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ຕອນເຊົ້າ" : "ຕອນແລງ"
+            },
+            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";
+        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"
+        };
+
+        function n(e, t, n, i) {
+            return t ? "kelios sekundės" : i ? "kelių sekundžių" : "kelias sekundes"
+        }
+
+        function i(e, t, n, i) {
+            return t ? r(n)[0] : i ? r(n)[1] : r(n)[2]
+        }
+
+        function a(e) {
+            return e % 10 == 0 || e > 10 && e < 20
+        }
+
+        function r(e) {
+            return t[e].split("_")
+        }
+
+        function l(e, t, n, l) {
+            var o = e + " ";
+            return 1 === e ? o + i(e, t, n[0], l) : t ? o + (a(e) ? r(n)[1] : r(n)[0]) : l ? o + r(n)[1] : o + (a(e) ? r(n)[1] : r(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: !0,
+            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: n,
+                ss: l,
+                m: i,
+                mm: l,
+                h: i,
+                hh: l,
+                d: i,
+                dd: l,
+                M: i,
+                MM: l,
+                y: i,
+                yy: l
+            },
+            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";
+        var t = {
+            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("_")
+        };
+
+        function n(e, t, n) {
+            return n ? t % 10 == 1 && t % 100 != 11 ? e[2] : e[3] : t % 10 == 1 && t % 100 != 11 ? e[0] : e[1]
+        }
+
+        function i(e, i, a) {
+            return e + " " + n(t[a], e, i)
+        }
+
+        function a(e, i, a) {
+            return n(t[a], e, i)
+        }
+
+        function r(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: !0,
+            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: r,
+                ss: i,
+                m: a,
+                mm: i,
+                h: a,
+                hh: i,
+                d: a,
+                dd: i,
+                M: a,
+                MM: i,
+                y: a,
+                yy: i
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {
+            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 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]
+            }, translate: function (e, n, i) {
+                var a = t.words[i];
+                return 1 === i.length ? n ? a[0] : a[1] : e + " " + t.correctGrammaticalCase(e, a)
+            }
+        };
+        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: !0,
+            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: !0,
+            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 () {
+                    return ["[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"][this.day()]
+                }, sameElse: "L"
+            },
+            relativeTime: {
+                future: "za %s",
+                past: "prije %s",
+                s: "nekoliko sekundi",
+                ss: t.translate,
+                m: t.translate,
+                mm: t.translate,
+                h: t.translate,
+                hh: t.translate,
+                d: "dan",
+                dd: t.translate,
+                M: "mjesec",
+                MM: t.translate,
+                y: "godinu",
+                yy: t.translate
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        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;
+                return 0 === e ? e + "-ев" : 0 === n ? e + "-ен" : n > 10 && n < 20 ? e + "-ти" : 1 === t ? e + "-ви" : 2 === t ? e + "-ри" : 7 === t || 8 === t ? e + "-ми" : e + "-ти"
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        e.defineLocale("ml", {
+            months: "ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),
+            monthsShort: "ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),
+            monthsParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "രാത്രി" === t && e >= 4 || "ഉച്ച കഴിഞ്ഞ്" === t || "വൈകുന്നേരം" === t ? e + 12 : e
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "രാത്രി" : e < 12 ? "രാവിലെ" : e < 17 ? "ഉച്ച കഴിഞ്ഞ്" : e < 20 ? "വൈകുന്നേരം" : "രാത്രി"
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        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
+            }
+        }
+
+        e.defineLocale("mn", {
+            months: "Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),
+            monthsShort: "1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),
+            monthsParseExact: !0,
+            weekdays: "Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),
+            weekdaysShort: "Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),
+            weekdaysMin: "Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ҮӨ" : "ҮХ"
+            },
+            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";
+        var t = {1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: "०"},
+            n = {"१": "1", "२": "2", "३": "3", "४": "4", "५": "5", "६": "6", "७": "7", "८": "8", "९": "9", "०": "0"};
+
+        function i(e, t, n, i) {
+            var a = "";
+            if (t) switch (n) {
+                case"s":
+                    a = "काही सेकंद";
+                    break;
+                case"ss":
+                    a = "%d सेकंद";
+                    break;
+                case"m":
+                    a = "एक मिनिट";
+                    break;
+                case"mm":
+                    a = "%d मिनिटे";
+                    break;
+                case"h":
+                    a = "एक तास";
+                    break;
+                case"hh":
+                    a = "%d तास";
+                    break;
+                case"d":
+                    a = "एक दिवस";
+                    break;
+                case"dd":
+                    a = "%d दिवस";
+                    break;
+                case"M":
+                    a = "एक महिना";
+                    break;
+                case"MM":
+                    a = "%d महिने";
+                    break;
+                case"y":
+                    a = "एक वर्ष";
+                    break;
+                case"yy":
+                    a = "%d वर्षे"
+            } else switch (n) {
+                case"s":
+                    a = "काही सेकंदां";
+                    break;
+                case"ss":
+                    a = "%d सेकंदां";
+                    break;
+                case"m":
+                    a = "एका मिनिटा";
+                    break;
+                case"mm":
+                    a = "%d मिनिटां";
+                    break;
+                case"h":
+                    a = "एका तासा";
+                    break;
+                case"hh":
+                    a = "%d तासां";
+                    break;
+                case"d":
+                    a = "एका दिवसा";
+                    break;
+                case"dd":
+                    a = "%d दिवसां";
+                    break;
+                case"M":
+                    a = "एका महिन्या";
+                    break;
+                case"MM":
+                    a = "%d महिन्यां";
+                    break;
+                case"y":
+                    a = "एका वर्षा";
+                    break;
+                case"yy":
+                    a = "%d वर्षां"
+            }
+            return a.replace(/%d/i, e)
+        }
+
+        e.defineLocale("mr", {
+            months: "जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),
+            monthsShort: "जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),
+            monthsParseExact: !0,
+            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: i,
+                ss: i,
+                m: i,
+                mm: i,
+                h: i,
+                hh: i,
+                d: i,
+                dd: i,
+                M: i,
+                MM: i,
+                y: i,
+                yy: i
+            },
+            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) {
+                return 12 === e && (e = 0), "पहाटे" === t || "सकाळी" === t ? e : "दुपारी" === t || "सायंकाळी" === t || "रात्री" === t ? e >= 12 ? e : e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e >= 0 && e < 6 ? "पहाटे" : e < 12 ? "सकाळी" : e < 17 ? "दुपारी" : e < 20 ? "सायंकाळी" : "रात्री"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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) {
+                return 12 === e && (e = 0), "pagi" === t ? e : "tengahari" === t ? e >= 11 ? e : e + 12 : "petang" === t || "malam" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 11 ? "pagi" : e < 15 ? "tengahari" : e < 19 ? "petang" : "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";
+        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) {
+                return 12 === e && (e = 0), "pagi" === t ? e : "tengahari" === t ? e >= 11 ? e : e + 12 : "petang" === t || "malam" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 11 ? "pagi" : e < 15 ? "tengahari" : e < 19 ? "petang" : "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";
+        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";
+        var t = {1: "၁", 2: "၂", 3: "၃", 4: "၄", 5: "၅", 6: "၆", 7: "၇", 8: "၈", 9: "၉", 0: "၀"},
+            n = {"၁": "1", "၂": "2", "၃": "3", "၄": "4", "၅": "5", "၆": "6", "၇": "7", "၈": "8", "၉": "9", "၀": "0"};
+        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";
+        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: !0,
+            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: !0,
+            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";
+        var t = {1: "१", 2: "२", 3: "३", 4: "४", 5: "५", 6: "६", 7: "७", 8: "८", 9: "९", 0: "०"},
+            n = {"१": "1", "२": "2", "३": "3", "४": "4", "५": "5", "६": "6", "७": "7", "८": "8", "९": "9", "०": "0"};
+        e.defineLocale("ne", {
+            months: "जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),
+            monthsShort: "जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),
+            monthsParseExact: !0,
+            weekdays: "आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),
+            weekdaysShort: "आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),
+            weekdaysMin: "आ._सो._मं._बु._बि._शु._श.".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "राति" === t ? e < 4 ? e : e + 12 : "बिहान" === t ? e : "दिउँसो" === t ? e >= 10 ? e : e + 12 : "साँझ" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 3 ? "राति" : e < 12 ? "बिहान" : e < 16 ? "दिउँसो" : e < 20 ? "साँझ" : "राति"
+            },
+            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";
+        var t = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
+            n = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
+            i = [/^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],
+            a = /^(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;
+        e.defineLocale("nl", {
+            months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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 + (1 === e || 8 === e || e >= 20 ? "ste" : "de")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
+            n = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),
+            i = [/^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],
+            a = /^(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;
+        e.defineLocale("nl-be", {
+            months: "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
+            monthsShort: function (e, i) {
+                return e ? /-MMM-/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsRegex: a,
+            monthsShortRegex: a,
+            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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: !0,
+            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 + (1 === e || 8 === e || e >= 20 ? "ste" : "de")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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: !0,
+            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";
+        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: !0,
+            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: !0,
+            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 = 1 === e ? "r" : 2 === e ? "n" : 3 === e ? "r" : 4 === e ? "t" : "è";
+                return "w" !== t && "W" !== t || (n = "a"), e + n
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {1: "੧", 2: "੨", 3: "੩", 4: "੪", 5: "੫", 6: "੬", 7: "੭", 8: "੮", 9: "੯", 0: "੦"},
+            n = {"੧": "1", "੨": "2", "੩": "3", "੪": "4", "੫": "5", "੬": "6", "੭": "7", "੮": "8", "੯": "9", "੦": "0"};
+        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) {
+                return 12 === e && (e = 0), "ਰਾਤ" === t ? e < 4 ? e : e + 12 : "ਸਵੇਰ" === t ? e : "ਦੁਪਹਿਰ" === t ? e >= 10 ? e : e + 12 : "ਸ਼ਾਮ" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "ਰਾਤ" : e < 10 ? "ਸਵੇਰ" : e < 17 ? "ਦੁਪਹਿਰ" : e < 20 ? "ਸ਼ਾਮ" : "ਰਾਤ"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = "styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),
+            n = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),
+            i = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i];
+
+        function a(e) {
+            return e % 10 < 5 && e % 10 > 1 && ~~(e / 10) % 10 != 1
+        }
+
+        function r(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, i) {
+                return e ? /D MMMM/.test(i) ? n[e.month()] : t[e.month()] : t
+            },
+            monthsShort: "sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),
+            monthsParse: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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: r,
+                m: r,
+                mm: r,
+                h: r,
+                hh: r,
+                d: "1 dzień",
+                dd: "%d dni",
+                w: "tydzień",
+                ww: r,
+                M: "miesiąc",
+                MM: r,
+                y: "rok",
+                yy: r
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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 0 === this.day() || 6 === this.day() ? "[Ú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";
+        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: !0,
+            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 0 === this.day() || 6 === this.day() ? "[Ú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";
+
+        function t(e, t, n) {
+            var i = " ";
+            return (e % 100 >= 20 || e >= 100 && e % 100 == 0) && (i = " de "), e + i + {
+                ss: "secunde",
+                mm: "minute",
+                hh: "ore",
+                dd: "zile",
+                ww: "săptămâni",
+                MM: "luni",
+                yy: "ani"
+            }[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: !0,
+            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";
+
+        function t(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 n(e, n, i) {
+            return "m" === i ? n ? "минута" : "минуту" : e + " " + t({
+                ss: n ? "секунда_секунды_секунд" : "секунду_секунды_секунд",
+                mm: n ? "минута_минуты_минут" : "минуту_минуты_минут",
+                hh: "час_часа_часов",
+                dd: "день_дня_дней",
+                ww: "неделя_недели_недель",
+                MM: "месяц_месяца_месяцев",
+                yy: "год_года_лет"
+            }[i], +e)
+        }
+
+        var 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: i,
+            longMonthsParse: i,
+            shortMonthsParse: i,
+            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()) return 2 === this.day() ? "[Во] dddd, [в] LT" : "[В] dddd, [в] LT";
+                    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"
+                    }
+                },
+                lastWeek: function (e) {
+                    if (e.week() === this.week()) return 2 === this.day() ? "[Во] dddd, [в] LT" : "[В] dddd, [в] LT";
+                    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"
+                    }
+                },
+                sameElse: "L"
+            },
+            relativeTime: {
+                future: "через %s",
+                past: "%s назад",
+                s: "несколько секунд",
+                ss: n,
+                m: n,
+                mm: n,
+                h: "час",
+                hh: n,
+                d: "день",
+                dd: n,
+                w: "неделя",
+                ww: n,
+                M: "месяц",
+                MM: n,
+                y: "год",
+                yy: n
+            },
+            meridiemParse: /ночи|утра|дня|вечера/i,
+            isPM: function (e) {
+                return /^(дня|вечера)$/.test(e)
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "ночи" : e < 12 ? "утра" : e < 17 ? "дня" : "вечера"
+            },
+            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";
+        var t = ["جنوري", "فيبروري", "مارچ", "اپريل", "مئي", "جون", "جولاءِ", "آگسٽ", "سيپٽمبر", "آڪٽوبر", "نومبر", "ڊسمبر"],
+            n = ["آچر", "سومر", "اڱارو", "اربع", "خميس", "جمع", "ڇنڇر"];
+        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) {
+                return e < 12 ? "صبح" : "شام"
+            },
+            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";
+        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";
+        e.defineLocale("si", {
+            months: "ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),
+            monthsShort: "ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),
+            weekdays: "ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),
+            weekdaysShort: "ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),
+            weekdaysMin: "ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e > 11 ? n ? "ප.ව." : "පස් වරු" : n ? "පෙ.ව." : "පෙර වරු"
+            }
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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("_");
+
+        function i(e) {
+            return e > 1 && e < 5
+        }
+
+        function a(e, t, n, a) {
+            var r = e + " ";
+            switch (n) {
+                case"s":
+                    return t || a ? "pár sekúnd" : "pár sekundami";
+                case"ss":
+                    return t || a ? r + (i(e) ? "sekundy" : "sekúnd") : r + "sekundami";
+                case"m":
+                    return t ? "minúta" : a ? "minútu" : "minútou";
+                case"mm":
+                    return t || a ? r + (i(e) ? "minúty" : "minút") : r + "minútami";
+                case"h":
+                    return t ? "hodina" : a ? "hodinu" : "hodinou";
+                case"hh":
+                    return t || a ? r + (i(e) ? "hodiny" : "hodín") : r + "hodinami";
+                case"d":
+                    return t || a ? "deň" : "dňom";
+                case"dd":
+                    return t || a ? r + (i(e) ? "dni" : "dní") : r + "dňami";
+                case"M":
+                    return t || a ? "mesiac" : "mesiacom";
+                case"MM":
+                    return t || a ? r + (i(e) ? "mesiace" : "mesiacov") : r + "mesiacmi";
+                case"y":
+                    return t || a ? "rok" : "rokom";
+                case"yy":
+                    return t || a ? r + (i(e) ? "roky" : "rokov") : 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: a,
+                ss: a,
+                m: a,
+                mm: a,
+                h: a,
+                hh: a,
+                d: a,
+                dd: a,
+                M: a,
+                MM: a,
+                y: a,
+                yy: a
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n, i) {
+            var a = e + " ";
+            switch (n) {
+                case"s":
+                    return t || i ? "nekaj sekund" : "nekaj sekundami";
+                case"ss":
+                    return a += 1 === e ? t ? "sekundo" : "sekundi" : 2 === e ? t || i ? "sekundi" : "sekundah" : e < 5 ? t || i ? "sekunde" : "sekundah" : "sekund";
+                case"m":
+                    return t ? "ena minuta" : "eno minuto";
+                case"mm":
+                    return a += 1 === e ? t ? "minuta" : "minuto" : 2 === e ? t || i ? "minuti" : "minutama" : e < 5 ? t || i ? "minute" : "minutami" : t || i ? "minut" : "minutami";
+                case"h":
+                    return t ? "ena ura" : "eno uro";
+                case"hh":
+                    return a += 1 === e ? t ? "ura" : "uro" : 2 === e ? t || i ? "uri" : "urama" : e < 5 ? t || i ? "ure" : "urami" : t || i ? "ur" : "urami";
+                case"d":
+                    return t || i ? "en dan" : "enim dnem";
+                case"dd":
+                    return a += 1 === e ? t || i ? "dan" : "dnem" : 2 === e ? t || i ? "dni" : "dnevoma" : t || i ? "dni" : "dnevi";
+                case"M":
+                    return t || i ? "en mesec" : "enim mesecem";
+                case"MM":
+                    return a += 1 === e ? t || i ? "mesec" : "mesecem" : 2 === e ? t || i ? "meseca" : "mesecema" : e < 5 ? t || i ? "mesece" : "meseci" : t || i ? "mesecev" : "meseci";
+                case"y":
+                    return t || i ? "eno leto" : "enim letom";
+                case"yy":
+                    return a += 1 === e ? t || i ? "leto" : "letom" : 2 === e ? t || i ? "leti" : "letoma" : e < 5 ? t || i ? "leta" : "leti" : t || i ? "let" : "leti"
+            }
+        }
+
+        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: !0,
+            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: !0,
+            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";
+        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: !0,
+            meridiemParse: /PD|MD/,
+            isPM: function (e) {
+                return "M" === e.charAt(0)
+            },
+            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";
+        var t = {
+            words: {
+                ss: ["sekunda", "sekunde", "sekundi"],
+                m: ["jedan minut", "jedne minute"],
+                mm: ["minut", "minute", "minuta"],
+                h: ["jedan sat", "jednog sata"],
+                hh: ["sat", "sata", "sati"],
+                dd: ["dan", "dana", "dana"],
+                MM: ["mesec", "meseca", "meseci"],
+                yy: ["godina", "godine", "godina"]
+            }, correctGrammaticalCase: function (e, t) {
+                return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]
+            }, translate: function (e, n, i) {
+                var a = t.words[i];
+                return 1 === i.length ? n ? a[0] : a[1] : e + " " + t.correctGrammaticalCase(e, a)
+            }
+        };
+        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: !0,
+            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: !0,
+            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 () {
+                    return ["[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"][this.day()]
+                }, sameElse: "L"
+            },
+            relativeTime: {
+                future: "za %s",
+                past: "pre %s",
+                s: "nekoliko sekundi",
+                ss: t.translate,
+                m: t.translate,
+                mm: t.translate,
+                h: t.translate,
+                hh: t.translate,
+                d: "dan",
+                dd: t.translate,
+                M: "mesec",
+                MM: t.translate,
+                y: "godinu",
+                yy: t.translate
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {
+            words: {
+                ss: ["секунда", "секунде", "секунди"],
+                m: ["један минут", "једне минуте"],
+                mm: ["минут", "минуте", "минута"],
+                h: ["један сат", "једног сата"],
+                hh: ["сат", "сата", "сати"],
+                dd: ["дан", "дана", "дана"],
+                MM: ["месец", "месеца", "месеци"],
+                yy: ["година", "године", "година"]
+            }, correctGrammaticalCase: function (e, t) {
+                return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]
+            }, translate: function (e, n, i) {
+                var a = t.words[i];
+                return 1 === i.length ? n ? a[0] : a[1] : e + " " + t.correctGrammaticalCase(e, a)
+            }
+        };
+        e.defineLocale("sr-cyrl", {
+            months: "јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),
+            monthsShort: "јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),
+            monthsParseExact: !0,
+            weekdays: "недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),
+            weekdaysShort: "нед._пон._уто._сре._чет._пет._суб.".split("_"),
+            weekdaysMin: "не_по_ут_ср_че_пе_су".split("_"),
+            weekdaysParseExact: !0,
+            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 () {
+                    return ["[прошле] [недеље] [у] LT", "[прошлог] [понедељка] [у] LT", "[прошлог] [уторка] [у] LT", "[прошле] [среде] [у] LT", "[прошлог] [четвртка] [у] LT", "[прошлог] [петка] [у] LT", "[прошле] [суботе] [у] LT"][this.day()]
+                }, sameElse: "L"
+            },
+            relativeTime: {
+                future: "за %s",
+                past: "пре %s",
+                s: "неколико секунди",
+                ss: t.translate,
+                m: t.translate,
+                mm: t.translate,
+                h: t.translate,
+                hh: t.translate,
+                d: "дан",
+                dd: t.translate,
+                M: "месец",
+                MM: t.translate,
+                y: "годину",
+                yy: t.translate
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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) {
+                return e < 11 ? "ekuseni" : e < 15 ? "emini" : e < 19 ? "entsambama" : "ebusuku"
+            },
+            meridiemHour: function (e, t) {
+                return 12 === e && (e = 0), "ekuseni" === t ? e : "emini" === t ? e >= 11 ? e : e + 12 : "entsambama" === t || "ebusuku" === t ? 0 === e ? 0 : e + 12 : void 0
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}/,
+            ordinal: "%d",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? ":e" : 1 === t || 2 === t ? ":a" : ":e")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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: !0,
+            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";
+        var t = {1: "௧", 2: "௨", 3: "௩", 4: "௪", 5: "௫", 6: "௬", 7: "௭", 8: "௮", 9: "௯", 0: "௦"},
+            n = {"௧": "1", "௨": "2", "௩": "3", "௪": "4", "௫": "5", "௬": "6", "௭": "7", "௮": "8", "௯": "9", "௦": "0"};
+        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) {
+                return e < 2 ? " யாமம்" : e < 6 ? " வைகறை" : e < 10 ? " காலை" : e < 14 ? " நண்பகல்" : e < 18 ? " எற்பாடு" : e < 22 ? " மாலை" : " யாமம்"
+            },
+            meridiemHour: function (e, t) {
+                return 12 === e && (e = 0), "யாமம்" === t ? e < 2 ? e : e + 12 : "வைகறை" === t || "காலை" === t || "நண்பகல்" === t && e >= 10 ? e : e + 12
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        e.defineLocale("te", {
+            months: "జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),
+            monthsShort: "జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),
+            monthsParseExact: !0,
+            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) {
+                return 12 === e && (e = 0), "రాత్రి" === t ? e < 4 ? e : e + 12 : "ఉదయం" === t ? e : "మధ్యాహ్నం" === t ? e >= 10 ? e : e + 12 : "సాయంత్రం" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "రాత్రి" : e < 10 ? "ఉదయం" : e < 17 ? "మధ్యాహ్నం" : e < 20 ? "సాయంత్రం" : "రాత్రి"
+            },
+            week: {dow: 0, doy: 6}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {
+            0: "-ум",
+            1: "-ум",
+            2: "-юм",
+            3: "-юм",
+            4: "-ум",
+            5: "-ум",
+            6: "-ум",
+            7: "-ум",
+            8: "-ум",
+            9: "-ум",
+            10: "-ум",
+            12: "-ум",
+            13: "-ум",
+            20: "-ум",
+            30: "-юм",
+            40: "-ум",
+            50: "-ум",
+            60: "-ум",
+            70: "-ум",
+            80: "-ум",
+            90: "-ум",
+            100: "-ум"
+        };
+        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) {
+                return 12 === e && (e = 0), "шаб" === t ? e < 4 ? e : e + 12 : "субҳ" === t ? e : "рӯз" === t ? e >= 11 ? e : e + 12 : "бегоҳ" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "шаб" : e < 11 ? "субҳ" : e < 16 ? "рӯз" : e < 19 ? "бегоҳ" : "шаб"
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+            ordinal: function (e) {
+                var n = e % 10, i = e >= 100 ? 100 : null;
+                return e + (t[e] || t[n] || t[i])
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        e.defineLocale("th", {
+            months: "มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),
+            monthsShort: "ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),
+            monthsParseExact: !0,
+            weekdays: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),
+            weekdaysShort: "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),
+            weekdaysMin: "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),
+            weekdaysParseExact: !0,
+            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) {
+                return e < 12 ? "ก่อนเที่ยง" : "หลังเที่ยง"
+            },
+            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";
+        var t = {
+            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"
+        };
+        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, n) {
+                switch (n) {
+                    case"d":
+                    case"D":
+                    case"Do":
+                    case"DD":
+                        return e;
+                    default:
+                        if (0 === e) return e + "'unjy";
+                        var i = e % 10, a = e % 100 - i, r = e >= 100 ? 100 : null;
+                        return e + (t[i] || t[a] || t[r])
+                }
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        var t = "pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");
+
+        function n(e) {
+            var t = e;
+            return t = -1 !== e.indexOf("jaj") ? t.slice(0, -3) + "leS" : -1 !== e.indexOf("jar") ? t.slice(0, -3) + "waQ" : -1 !== e.indexOf("DIS") ? t.slice(0, -3) + "nem" : t + " pIq"
+        }
+
+        function i(e) {
+            var t = e;
+            return t = -1 !== e.indexOf("jaj") ? t.slice(0, -3) + "Hu’" : -1 !== e.indexOf("jar") ? t.slice(0, -3) + "wen" : -1 !== e.indexOf("DIS") ? t.slice(0, -3) + "ben" : t + " ret"
+        }
+
+        function a(e, t, n, i) {
+            var a = r(e);
+            switch (n) {
+                case"ss":
+                    return a + " lup";
+                case"mm":
+                    return a + " tup";
+                case"hh":
+                    return a + " rep";
+                case"dd":
+                    return a + " jaj";
+                case"MM":
+                    return a + " jar";
+                case"yy":
+                    return a + " DIS"
+            }
+        }
+
+        function r(e) {
+            var n = Math.floor(e % 1e3 / 100), i = Math.floor(e % 100 / 10), a = e % 10, r = "";
+            return n > 0 && (r += t[n] + "vatlh"), i > 0 && (r += ("" !== r ? " " : "") + t[i] + "maH"), a > 0 && (r += ("" !== r ? " " : "") + t[a]), "" === 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 wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),
+            monthsShort: "jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),
+            monthsParseExact: !0,
+            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: "[wa’leS] LT",
+                nextWeek: "LLL",
+                lastDay: "[wa’Hu’] LT",
+                lastWeek: "LLL",
+                sameElse: "L"
+            },
+            relativeTime: {
+                future: n,
+                past: i,
+                s: "puS lup",
+                ss: a,
+                m: "wa’ tup",
+                mm: a,
+                h: "wa’ rep",
+                hh: a,
+                d: "wa’ jaj",
+                dd: a,
+                M: "wa’ jar",
+                MM: a,
+                y: "wa’ DIS",
+                yy: a
+            },
+            dayOfMonthOrdinalParse: /\d{1,2}\./,
+            ordinal: "%d.",
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        var t = {
+            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ı"
+        };
+        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_Pts_Sal_Çar_Per_Cum_Cts".split("_"),
+            weekdaysMin: "Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),
+            meridiem: function (e, t, n) {
+                return e < 12 ? n ? "öö" : "ÖÖ" : n ? "ös" : "ÖS"
+            },
+            meridiemParse: /öö|ÖÖ|ös|ÖS/,
+            isPM: function (e) {
+                return "ös" === e || "ÖS" === e
+            },
+            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, n) {
+                switch (n) {
+                    case"d":
+                    case"D":
+                    case"Do":
+                    case"DD":
+                        return e;
+                    default:
+                        if (0 === e) return e + "'ıncı";
+                        var i = e % 10, a = e % 100 - i, r = e >= 100 ? 100 : null;
+                        return e + (t[i] || t[a] || t[r])
+                }
+            },
+            week: {dow: 1, doy: 7}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+
+        function t(e, t, n, i) {
+            var a = {
+                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 || t ? a[n][0] : a[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) {
+                return e > 11 ? n ? "d'o" : "D'O" : 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: 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: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        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";
+        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) {
+                return 12 === e && (e = 0), "يېرىم كېچە" === t || "سەھەر" === t || "چۈشتىن بۇرۇن" === t ? e : "چۈشتىن كېيىن" === t || "كەچ" === t ? e + 12 : e >= 11 ? e : e + 12
+            },
+            meridiem: function (e, t, n) {
+                var i = 100 * e + t;
+                return i < 600 ? "يېرىم كېچە" : i < 900 ? "سەھەر" : i < 1130 ? "چۈشتىن بۇرۇن" : i < 1230 ? "چۈش" : i < 1800 ? "چۈشتىن كېيىن" : "كەچ"
+            },
+            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";
+
+        function t(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 n(e, n, i) {
+            return "m" === i ? n ? "хвилина" : "хвилину" : "h" === i ? n ? "година" : "годину" : e + " " + t({
+                ss: n ? "секунда_секунди_секунд" : "секунду_секунди_секунд",
+                mm: n ? "хвилина_хвилини_хвилин" : "хвилину_хвилини_хвилин",
+                hh: n ? "година_години_годин" : "годину_години_годин",
+                dd: "день_дні_днів",
+                MM: "місяць_місяці_місяців",
+                yy: "рік_роки_років"
+            }[i], +e)
+        }
+
+        function i(e, t) {
+            var n = {
+                nominative: "неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),
+                accusative: "неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),
+                genitive: "неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")
+            };
+            return !0 === e ? n.nominative.slice(1, 7).concat(n.nominative.slice(0, 1)) : e ? n[/(\[[ВвУу]\]) ?dddd/.test(t) ? "accusative" : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(t) ? "genitive" : "nominative"][e.day()] : n.nominative
+        }
+
+        function a(e) {
+            return function () {
+                return e + "о" + (11 === this.hours() ? "б" : "") + "] LT"
+            }
+        }
+
+        e.defineLocale("uk", {
+            months: {
+                format: "січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),
+                standalone: "січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")
+            },
+            monthsShort: "січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),
+            weekdays: i,
+            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: a("[Сьогодні "),
+                nextDay: a("[Завтра "),
+                lastDay: a("[Вчора "),
+                nextWeek: a("[У] dddd ["),
+                lastWeek: function () {
+                    switch (this.day()) {
+                        case 0:
+                        case 3:
+                        case 5:
+                        case 6:
+                            return a("[Минулої] dddd [").call(this);
+                        case 1:
+                        case 2:
+                        case 4:
+                            return a("[Минулого] dddd [").call(this)
+                    }
+                },
+                sameElse: "L"
+            },
+            relativeTime: {
+                future: "за %s",
+                past: "%s тому",
+                s: "декілька секунд",
+                ss: n,
+                m: n,
+                mm: n,
+                h: "годину",
+                hh: n,
+                d: "день",
+                dd: n,
+                M: "місяць",
+                MM: n,
+                y: "рік",
+                yy: n
+            },
+            meridiemParse: /ночі|ранку|дня|вечора/,
+            isPM: function (e) {
+                return /^(дня|вечора)$/.test(e)
+            },
+            meridiem: function (e, t, n) {
+                return e < 4 ? "ночі" : e < 12 ? "ранку" : e < 17 ? "дня" : "вечора"
+            },
+            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";
+        var t = ["جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"],
+            n = ["اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"];
+        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) {
+                return e < 12 ? "صبح" : "شام"
+            },
+            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";
+        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";
+        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";
+        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: !0,
+            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: !0,
+            meridiemParse: /sa|ch/i,
+            isPM: function (e) {
+                return /^ch$/i.test(e)
+            },
+            meridiem: function (e, t, n) {
+                return e < 12 ? n ? "sa" : "SA" : 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";
+        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: !0,
+            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: !0,
+            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;
+                return e + (1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th")
+            },
+            week: {dow: 1, doy: 4}
+        })
+    }(n(0))
+}, function (e, t, n) {
+    !function (e) {
+        "use strict";
+        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";
+        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) {
+                return 12 === e && (e = 0), "凌晨" === t || "早上" === t || "上午" === t ? e : "下午" === t || "晚上" === t ? e + 12 : e >= 11 ? e : e + 12
+            },
+            meridiem: function (e, t, n) {
+                var i = 100 * e + t;
+                return i < 600 ? "凌晨" : i < 900 ? "早上" : i < 1130 ? "上午" : i < 1230 ? "中午" : i < 1800 ? "下午" : "晚上"
+            },
+            calendar: {
+                sameDay: "[今天]LT", nextDay: "[明天]LT", nextWeek: function (e) {
+                    return e.week() !== this.week() ? "[下]dddLT" : "[本]dddLT"
+                }, lastDay: "[昨天]LT", lastWeek: function (e) {
+                    return this.week() !== e.week() ? "[上]dddLT" : "[本]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";
+        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) {
+                return 12 === e && (e = 0), "凌晨" === t || "早上" === t || "上午" === t ? e : "中午" === t ? e >= 11 ? e : e + 12 : "下午" === t || "晚上" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                var i = 100 * e + t;
+                return i < 600 ? "凌晨" : i < 900 ? "早上" : i < 1200 ? "上午" : 1200 === i ? "中午" : i < 1800 ? "下午" : "晚上"
+            },
+            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";
+        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) {
+                return 12 === e && (e = 0), "凌晨" === t || "早上" === t || "上午" === t ? e : "中午" === t ? e >= 11 ? e : e + 12 : "下午" === t || "晚上" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                var i = 100 * e + t;
+                return i < 600 ? "凌晨" : i < 900 ? "早上" : i < 1130 ? "上午" : i < 1230 ? "中午" : i < 1800 ? "下午" : "晚上"
+            },
+            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";
+        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) {
+                return 12 === e && (e = 0), "凌晨" === t || "早上" === t || "上午" === t ? e : "中午" === t ? e >= 11 ? e : e + 12 : "下午" === t || "晚上" === t ? e + 12 : void 0
+            },
+            meridiem: function (e, t, n) {
+                var i = 100 * e + t;
+                return i < 600 ? "凌晨" : i < 900 ? "早上" : i < 1130 ? "上午" : i < 1230 ? "中午" : i < 1800 ? "下午" : "晚上"
+            },
+            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) {
+    var i = n(9), a = n(192), r = n(34), l = n(21), o = n(193), s = n(4), d = n(194),
+        u = Object.getOwnPropertyDescriptor;
+    t.f = i ? u : function (e, t) {
+        if (e = l(e), t = o(t, !0), d) try {
+            return u(e, t)
+        } catch (e) {
+        }
+        if (s(e, t)) return r(!a.f.call(e, t), e[t])
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = {}.propertyIsEnumerable, a = Object.getOwnPropertyDescriptor, r = a && !i.call({1: 2}, 1);
+    t.f = r ? function (e) {
+        var t = a(this, e);
+        return !!t && t.enumerable
+    } : i
+}, function (e, t, n) {
+    var i = n(5);
+    e.exports = function (e, t) {
+        if (!i(e)) return e;
+        var n, a;
+        if (t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+        if ("function" == typeof (n = e.valueOf) && !i(a = n.call(e))) return a;
+        if (!t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+        throw TypeError("Can't convert object to primitive value")
+    }
+}, function (e, t, n) {
+    var i = n(9), a = n(2), r = n(195);
+    e.exports = !i && !a((function () {
+        return 7 != Object.defineProperty(r("div"), "a", {
+            get: function () {
+                return 7
+            }
+        }).a
+    }))
+}, function (e, t, n) {
+    var i = n(1), a = n(5), r = i.document, l = a(r) && a(r.createElement);
+    e.exports = function (e) {
+        return l ? r.createElement(e) : {}
+    }
+}, function (e, t, n) {
+    var i = n(36), a = Function.toString;
+    "function" != typeof i.inspectSource && (i.inspectSource = function (e) {
+        return a.call(e)
+    }), e.exports = i.inspectSource
+}, function (e, t, n) {
+    var i = n(1), a = n(196), r = i.WeakMap;
+    e.exports = "function" == typeof r && /native code/.test(a(r))
+}, function (e, t, n) {
+    var i = n(38), a = n(36);
+    (e.exports = function (e, t) {
+        return a[e] || (a[e] = void 0 !== t ? t : {})
+    })("versions", []).push({
+        version: "3.8.0",
+        mode: i ? "pure" : "global",
+        copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
+    })
+}, function (e, t, n) {
+    var i = n(4), a = n(21), r = n(261).indexOf, l = n(23);
+    e.exports = function (e, t) {
+        var n, o = a(e), s = 0, d = [];
+        for (n in o) !i(l, n) && i(o, n) && d.push(n);
+        for (; t.length > s;) i(o, n = t[s++]) && (~r(d, n) || d.push(n));
+        return d
+    }
+}, function (e, t) {
+    t.f = Object.getOwnPropertySymbols
+}, function (e, t, n) {
+    var i = n(2), a = /#|\.prototype\./, r = function (e, t) {
+        var n = o[l(e)];
+        return n == d || n != s && ("function" == typeof t ? i(t) : !!t)
+    }, l = r.normalize = function (e) {
+        return String(e).replace(a, ".").toLowerCase()
+    }, o = r.data = {}, s = r.NATIVE = "N", d = r.POLYFILL = "P";
+    e.exports = r
+}, function (e, t, n) {
+    "use strict";
+    var i = n(42).forEach, a = n(206), r = n(43), l = a("forEach"), o = r("forEach");
+    e.exports = l && o ? [].forEach : function (e) {
+        return i(this, e, arguments.length > 1 ? arguments[1] : void 0)
+    }
+}, function (e, t, n) {
+    var i = n(204);
+    e.exports = function (e, t, n) {
+        if (i(e), void 0 === t) return e;
+        switch (n) {
+            case 0:
+                return function () {
+                    return e.call(t)
+                };
+            case 1:
+                return function (n) {
+                    return e.call(t, n)
+                };
+            case 2:
+                return function (n, i) {
+                    return e.call(t, n, i)
+                };
+            case 3:
+                return function (n, i, a) {
+                    return e.call(t, n, i, a)
+                }
+        }
+        return function () {
+            return e.apply(t, arguments)
+        }
+    }
+}, function (e, t) {
+    e.exports = function (e) {
+        if ("function" != typeof e) throw TypeError(String(e) + " is not a function");
+        return e
+    }
+}, function (e, t, n) {
+    var i = n(2);
+    e.exports = !!Object.getOwnPropertySymbols && !i((function () {
+        return !String(Symbol())
+    }))
+}, function (e, t, n) {
+    "use strict";
+    var i = n(2);
+    e.exports = function (e, t) {
+        var n = [][e];
+        return !!n && i((function () {
+            n.call(null, t || function () {
+                throw 1
+            }, 1)
+        }))
+    }
+}, function (e, t) {
+    e.exports = {
+        CSSRuleList: 0,
+        CSSStyleDeclaration: 0,
+        CSSValueList: 0,
+        ClientRectList: 0,
+        DOMRectList: 0,
+        DOMStringList: 0,
+        DOMTokenList: 1,
+        DataTransferItemList: 0,
+        FileList: 0,
+        HTMLAllCollection: 0,
+        HTMLCollection: 0,
+        HTMLFormElement: 0,
+        HTMLSelectElement: 0,
+        MediaList: 0,
+        MimeTypeArray: 0,
+        NamedNodeMap: 0,
+        NodeList: 1,
+        PaintRequestList: 0,
+        Plugin: 0,
+        PluginArray: 0,
+        SVGLengthList: 0,
+        SVGNumberList: 0,
+        SVGPathSegList: 0,
+        SVGPointList: 0,
+        SVGStringList: 0,
+        SVGTransformList: 0,
+        SourceBufferList: 0,
+        StyleSheetList: 0,
+        TextTrackCueList: 0,
+        TextTrackList: 0,
+        TouchList: 0
+    }
+}, function (e, t, n) {
+    var i, a, r = n(1), l = n(269), o = r.process, s = o && o.versions, d = s && s.v8;
+    d ? a = (i = d.split("."))[0] + i[1] : l && (!(i = l.match(/Edge\/(\d+)/)) || i[1] >= 74) && (i = l.match(/Chrome\/(\d+)/)) && (a = i[1]), e.exports = a && +a
+}, function (e, t, n) {
+    "use strict";
+    var i = n(21), a = n(270), r = n(19), l = n(17), o = n(212), s = "Array Iterator", d = l.set, u = l.getterFor(s);
+    e.exports = o(Array, "Array", (function (e, t) {
+        d(this, {type: s, target: i(e), index: 0, kind: t})
+    }), (function () {
+        var e = u(this), t = e.target, n = e.kind, i = e.index++;
+        return !t || i >= t.length ? (e.target = void 0, {value: void 0, done: !0}) : "keys" == n ? {
+            value: i,
+            done: !1
+        } : "values" == n ? {value: t[i], done: !1} : {value: [i, t[i]], done: !1}
+    }), "values"), r.Arguments = r.Array, a("keys"), a("values"), a("entries")
+}, function (e, t, n) {
+    var i, a = n(6), r = n(271), l = n(41), o = n(23), s = n(272), d = n(195), u = n(37), c = u("IE_PROTO"),
+        h = function () {
+        }, m = function (e) {
+            return "<script>" + e + "</" + "script>"
+        }, f = function () {
+            try {
+                i = document.domain && new ActiveXObject("htmlfile")
+            } catch (e) {
+            }
+            var e, t;
+            f = i ? function (e) {
+                e.write(m("")), e.close();
+                var t = e.parentWindow.Object;
+                return e = null, t
+            }(i) : ((t = d("iframe")).style.display = "none", s.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write(m("document.F=Object")), e.close(), e.F);
+            for (var n = l.length; n--;) delete f.prototype[l[n]];
+            return f()
+        };
+    o[c] = !0, e.exports = Object.create || function (e, t) {
+        var n;
+        return null !== e ? (h.prototype = a(e), n = new h, h.prototype = null, n[c] = e) : n = f(), void 0 === t ? n : r(n, t)
+    }
+}, function (e, t, n) {
+    var i = n(199), a = n(41);
+    e.exports = Object.keys || function (e) {
+        return i(e, a)
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(273), r = n(214), l = n(215), o = n(44), s = n(7), d = n(13), u = n(3), c = n(38), h = n(19),
+        m = n(213), f = m.IteratorPrototype, _ = m.BUGGY_SAFARI_ITERATORS, p = u("iterator"), g = "keys", y = "values",
+        v = "entries", M = function () {
+            return this
+        };
+    e.exports = function (e, t, n, u, m, b, x) {
+        a(n, t, u);
+        var L, w, k, Y = function (e) {
+                if (e === m && E) return E;
+                if (!_ && e in S) return S[e];
+                switch (e) {
+                    case g:
+                    case y:
+                    case v:
+                        return function () {
+                            return new n(this, e)
+                        }
+                }
+                return function () {
+                    return new n(this)
+                }
+            }, D = t + " Iterator", T = !1, S = e.prototype, j = S[p] || S["@@iterator"] || m && S[m], E = !_ && j || Y(m),
+            H = "Array" == t && S.entries || j;
+        if (H && (L = r(H.call(new e)), f !== Object.prototype && L.next && (c || r(L) === f || (l ? l(L, f) : "function" != typeof L[p] && s(L, p, M)), o(L, D, !0, !0), c && (h[D] = M))), m == y && j && j.name !== y && (T = !0, E = function () {
+            return j.call(this)
+        }), c && !x || S[p] === E || s(S, p, E), h[t] = E, m) if (w = {
+            values: Y(y),
+            keys: b ? E : Y(g),
+            entries: Y(v)
+        }, x) for (k in w) (_ || T || !(k in S)) && d(S, k, w[k]); else i({target: t, proto: !0, forced: _ || T}, w);
+        return w
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i, a, r, l = n(214), o = n(7), s = n(4), d = n(3), u = n(38), c = d("iterator"), h = !1;
+    [].keys && ("next" in (r = [].keys()) ? (a = l(l(r))) !== Object.prototype && (i = a) : h = !0), null == i && (i = {}), u || s(i, c) || o(i, c, (function () {
+        return this
+    })), e.exports = {IteratorPrototype: i, BUGGY_SAFARI_ITERATORS: h}
+}, function (e, t, n) {
+    var i = n(4), a = n(18), r = n(37), l = n(274), o = r("IE_PROTO"), s = Object.prototype;
+    e.exports = l ? Object.getPrototypeOf : function (e) {
+        return e = a(e), i(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? s : null
+    }
+}, function (e, t, n) {
+    var i = n(6), a = n(275);
+    e.exports = Object.setPrototypeOf || ("__proto__" in {} ? function () {
+        var e, t = !1, n = {};
+        try {
+            (e = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(n, []), t = n instanceof Array
+        } catch (e) {
+        }
+        return function (n, r) {
+            return i(n), a(r), t ? e.call(n, r) : n.__proto__ = r, n
+        }
+    }() : void 0)
+}, function (e, t, n) {
+    var i = n(45), a = n(16), r = n(3)("toStringTag"), l = "Arguments" == a(function () {
+        return arguments
+    }());
+    e.exports = i ? a : function (e) {
+        var t, n, i;
+        return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {
+            try {
+                return e[t]
+            } catch (e) {
+            }
+        }(t = Object(e), r)) ? n : l ? a(t) : "Object" == (i = a(t)) && "function" == typeof t.callee ? "Arguments" : i
+    }
+}, function (e, t) {
+    e.exports = "\t\n\v\f\r                 \u2028\u2029\ufeff"
+}, function (e, t, n) {
+    var i = n(24), a = n(12), r = function (e) {
+        return function (t, n) {
+            var r, l, o = String(a(t)), s = i(n), d = o.length;
+            return s < 0 || s >= d ? e ? "" : void 0 : (r = o.charCodeAt(s)) < 55296 || r > 56319 || s + 1 === d || (l = o.charCodeAt(s + 1)) < 56320 || l > 57343 ? e ? o.charAt(s) : r : e ? o.slice(s, s + 2) : l - 56320 + (r - 55296 << 10) + 65536
+        }
+    };
+    e.exports = {codeAt: r(!1), charAt: r(!0)}
+}, function (e, t, n) {
+    var i = n(13);
+    e.exports = function (e, t, n) {
+        for (var a in t) i(e, a, t[a], n);
+        return e
+    }
+}, function (e, t, n) {
+    var i = n(6), a = n(287), r = n(14), l = n(203), o = n(288), s = n(289), d = function (e, t) {
+        this.stopped = e, this.result = t
+    };
+    e.exports = function (e, t, n) {
+        var u, c, h, m, f, _, p, g = n && n.that, y = !(!n || !n.AS_ENTRIES), v = !(!n || !n.IS_ITERATOR),
+            M = !(!n || !n.INTERRUPTED), b = l(t, g, 1 + y + M), x = function (e) {
+                return u && s(u), new d(!0, e)
+            }, L = function (e) {
+                return y ? (i(e), M ? b(e[0], e[1], x) : b(e[0], e[1])) : M ? b(e, x) : b(e)
+            };
+        if (v) u = e; else {
+            if ("function" != typeof (c = o(e))) throw TypeError("Target is not iterable");
+            if (a(c)) {
+                for (h = 0, m = r(e.length); m > h; h++) if ((f = L(e[h])) && f instanceof d) return f;
+                return new d(!1)
+            }
+            u = c.call(e)
+        }
+        for (_ = u.next; !(p = _.call(u)).done;) {
+            try {
+                f = L(p.value)
+            } catch (e) {
+                throw s(u), e
+            }
+            if ("object" == typeof f && f && f instanceof d) return f
+        }
+        return new d(!1)
+    }
+}, function (e, t) {
+    e.exports = function (e, t, n) {
+        if (!(e instanceof t)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation");
+        return e
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(47);
+    i({target: "RegExp", proto: !0, forced: /./.exec !== a}, {exec: a})
+}, function (e, t, n) {
+    "use strict";
+    n(222);
+    var i = n(13), a = n(2), r = n(3), l = n(47), o = n(7), s = r("species"), d = !a((function () {
+            var e = /./;
+            return e.exec = function () {
+                var e = [];
+                return e.groups = {a: "7"}, e
+            }, "7" !== "".replace(e, "$<a>")
+        })), u = "$0" === "a".replace(/./, "$0"), c = r("replace"), h = !!/./[c] && "" === /./[c]("a", "$0"),
+        m = !a((function () {
+            var e = /(?:)/, t = e.exec;
+            e.exec = function () {
+                return t.apply(this, arguments)
+            };
+            var n = "ab".split(e);
+            return 2 !== n.length || "a" !== n[0] || "b" !== n[1]
+        }));
+    e.exports = function (e, t, n, c) {
+        var f = r(e), _ = !a((function () {
+            var t = {};
+            return t[f] = function () {
+                return 7
+            }, 7 != ""[e](t)
+        })), p = _ && !a((function () {
+            var t = !1, n = /a/;
+            return "split" === e && ((n = {}).constructor = {}, n.constructor[s] = function () {
+                return n
+            }, n.flags = "", n[f] = /./[f]), n.exec = function () {
+                return t = !0, null
+            }, n[f](""), !t
+        }));
+        if (!_ || !p || "replace" === e && (!d || !u || h) || "split" === e && !m) {
+            var g = /./[f], y = n(f, ""[e], (function (e, t, n, i, a) {
+                return t.exec === l ? _ && !a ? {done: !0, value: g.call(t, n, i)} : {
+                    done: !0,
+                    value: e.call(n, t, i)
+                } : {done: !1}
+            }), {REPLACE_KEEPS_$0: u, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: h}), v = y[0], M = y[1];
+            i(String.prototype, e, v), i(RegExp.prototype, f, 2 == t ? function (e, t) {
+                return M.call(e, this, t)
+            } : function (e) {
+                return M.call(e, this)
+            })
+        }
+        c && o(RegExp.prototype[f], "sham", !0)
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(218).charAt;
+    e.exports = function (e, t, n) {
+        return t + (n ? i(e, t).length : 1)
+    }
+}, function (e, t, n) {
+    var i = n(16), a = n(47);
+    e.exports = function (e, t) {
+        var n = e.exec;
+        if ("function" == typeof n) {
+            var r = n.call(e, t);
+            if ("object" != typeof r) throw TypeError("RegExp exec method returned something other than an Object or null");
+            return r
+        }
+        if ("RegExp" !== i(e)) throw TypeError("RegExp#exec called on incompatible receiver");
+        return a.call(e, t)
+    }
+}, function (e, t, n) {
+    (function (t) {
+        var n = "__lodash_hash_undefined__", i = "[object Function]", a = "[object GeneratorFunction]",
+            r = /^\[object .+?Constructor\]$/, l = "object" == typeof t && t && t.Object === Object && t,
+            o = "object" == typeof self && self && self.Object === Object && self,
+            s = l || o || Function("return this")();
+        var d, u = Array.prototype, c = Function.prototype, h = Object.prototype, m = s["__core-js_shared__"],
+            f = (d = /[^.]+$/.exec(m && m.keys && m.keys.IE_PROTO || "")) ? "Symbol(src)_1." + d : "", _ = c.toString,
+            p = h.hasOwnProperty, g = h.toString,
+            y = RegExp("^" + _.call(p).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
+            v = u.splice, M = T(s, "Map"), b = T(Object, "create");
+
+        function x(e) {
+            var t = -1, n = e ? e.length : 0;
+            for (this.clear(); ++t < n;) {
+                var i = e[t];
+                this.set(i[0], i[1])
+            }
+        }
+
+        function L(e) {
+            var t = -1, n = e ? e.length : 0;
+            for (this.clear(); ++t < n;) {
+                var i = e[t];
+                this.set(i[0], i[1])
+            }
+        }
+
+        function w(e) {
+            var t = -1, n = e ? e.length : 0;
+            for (this.clear(); ++t < n;) {
+                var i = e[t];
+                this.set(i[0], i[1])
+            }
+        }
+
+        function k(e, t) {
+            for (var n, i, a = e.length; a--;) if ((n = e[a][0]) === (i = t) || n != n && i != i) return a;
+            return -1
+        }
+
+        function Y(e) {
+            return !(!j(e) || (t = e, f && f in t)) && (function (e) {
+                var t = j(e) ? g.call(e) : "";
+                return t == i || t == a
+            }(e) || function (e) {
+                var t = !1;
+                if (null != e && "function" != typeof e.toString) try {
+                    t = !!(e + "")
+                } catch (e) {
+                }
+                return t
+            }(e) ? y : r).test(function (e) {
+                if (null != e) {
+                    try {
+                        return _.call(e)
+                    } catch (e) {
+                    }
+                    try {
+                        return e + ""
+                    } catch (e) {
+                    }
+                }
+                return ""
+            }(e));
+            var t
+        }
+
+        function D(e, t) {
+            var n, i, a = e.__data__;
+            return ("string" == (i = typeof (n = t)) || "number" == i || "symbol" == i || "boolean" == i ? "__proto__" !== n : null === n) ? a["string" == typeof t ? "string" : "hash"] : a.map
+        }
+
+        function T(e, t) {
+            var n = function (e, t) {
+                return null == e ? void 0 : e[t]
+            }(e, t);
+            return Y(n) ? n : void 0
+        }
+
+        function S(e, t) {
+            if ("function" != typeof e || t && "function" != typeof t) throw new TypeError("Expected a function");
+            var n = function () {
+                var i = arguments, a = t ? t.apply(this, i) : i[0], r = n.cache;
+                if (r.has(a)) return r.get(a);
+                var l = e.apply(this, i);
+                return n.cache = r.set(a, l), l
+            };
+            return n.cache = new (S.Cache || w), n
+        }
+
+        function j(e) {
+            var t = typeof e;
+            return !!e && ("object" == t || "function" == t)
+        }
+
+        x.prototype.clear = function () {
+            this.__data__ = b ? b(null) : {}
+        }, x.prototype.delete = function (e) {
+            return this.has(e) && delete this.__data__[e]
+        }, x.prototype.get = function (e) {
+            var t = this.__data__;
+            if (b) {
+                var i = t[e];
+                return i === n ? void 0 : i
+            }
+            return p.call(t, e) ? t[e] : void 0
+        }, x.prototype.has = function (e) {
+            var t = this.__data__;
+            return b ? void 0 !== t[e] : p.call(t, e)
+        }, x.prototype.set = function (e, t) {
+            return this.__data__[e] = b && void 0 === t ? n : t, this
+        }, L.prototype.clear = function () {
+            this.__data__ = []
+        }, L.prototype.delete = function (e) {
+            var t = this.__data__, n = k(t, e);
+            return !(n < 0) && (n == t.length - 1 ? t.pop() : v.call(t, n, 1), !0)
+        }, L.prototype.get = function (e) {
+            var t = this.__data__, n = k(t, e);
+            return n < 0 ? void 0 : t[n][1]
+        }, L.prototype.has = function (e) {
+            return k(this.__data__, e) > -1
+        }, L.prototype.set = function (e, t) {
+            var n = this.__data__, i = k(n, e);
+            return i < 0 ? n.push([e, t]) : n[i][1] = t, this
+        }, w.prototype.clear = function () {
+            this.__data__ = {hash: new x, map: new (M || L), string: new x}
+        }, w.prototype.delete = function (e) {
+            return D(this, e).delete(e)
+        }, w.prototype.get = function (e) {
+            return D(this, e).get(e)
+        }, w.prototype.has = function (e) {
+            return D(this, e).has(e)
+        }, w.prototype.set = function (e, t) {
+            return D(this, e).set(e, t), this
+        }, S.Cache = w, e.exports = S
+    }).call(this, n(11))
+}, function (e, t, n) {
+    "use strict";
+    (function (e) {
+        var n = function () {
+                if ("undefined" != typeof Map) return Map;
+
+                function e(e, t) {
+                    var n = -1;
+                    return e.some((function (e, i) {
+                        return e[0] === t && (n = i, !0)
+                    })), n
+                }
+
+                return function () {
+                    function t() {
+                        this.__entries__ = []
+                    }
+
+                    return Object.defineProperty(t.prototype, "size", {
+                        get: function () {
+                            return this.__entries__.length
+                        }, enumerable: !0, configurable: !0
+                    }), t.prototype.get = function (t) {
+                        var n = e(this.__entries__, t), i = this.__entries__[n];
+                        return i && i[1]
+                    }, t.prototype.set = function (t, n) {
+                        var i = e(this.__entries__, t);
+                        ~i ? this.__entries__[i][1] = n : this.__entries__.push([t, n])
+                    }, t.prototype.delete = function (t) {
+                        var n = this.__entries__, i = e(n, t);
+                        ~i && n.splice(i, 1)
+                    }, t.prototype.has = function (t) {
+                        return !!~e(this.__entries__, t)
+                    }, t.prototype.clear = function () {
+                        this.__entries__.splice(0)
+                    }, t.prototype.forEach = function (e, t) {
+                        void 0 === t && (t = null);
+                        for (var n = 0, i = this.__entries__; n < i.length; n++) {
+                            var a = i[n];
+                            e.call(t, a[1], a[0])
+                        }
+                    }, t
+                }()
+            }(), i = "undefined" != typeof window && "undefined" != typeof document && window.document === document,
+            a = void 0 !== e && e.Math === Math ? e : "undefined" != typeof self && self.Math === Math ? self : "undefined" != typeof window && window.Math === Math ? window : Function("return this")(),
+            r = "function" == typeof requestAnimationFrame ? requestAnimationFrame.bind(a) : function (e) {
+                return setTimeout((function () {
+                    return e(Date.now())
+                }), 1e3 / 60)
+            };
+        var l = ["top", "right", "bottom", "left", "width", "height", "size", "weight"],
+            o = "undefined" != typeof MutationObserver, s = function () {
+                function e() {
+                    this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = function (e, t) {
+                        var n = !1, i = !1, a = 0;
+
+                        function l() {
+                            n && (n = !1, e()), i && s()
+                        }
+
+                        function o() {
+                            r(l)
+                        }
+
+                        function s() {
+                            var e = Date.now();
+                            if (n) {
+                                if (e - a < 2) return;
+                                i = !0
+                            } else n = !0, i = !1, setTimeout(o, t);
+                            a = e
+                        }
+
+                        return s
+                    }(this.refresh.bind(this), 20)
+                }
+
+                return e.prototype.addObserver = function (e) {
+                    ~this.observers_.indexOf(e) || this.observers_.push(e), this.connected_ || this.connect_()
+                }, e.prototype.removeObserver = function (e) {
+                    var t = this.observers_, n = t.indexOf(e);
+                    ~n && t.splice(n, 1), !t.length && this.connected_ && this.disconnect_()
+                }, e.prototype.refresh = function () {
+                    this.updateObservers_() && this.refresh()
+                }, e.prototype.updateObservers_ = function () {
+                    var e = this.observers_.filter((function (e) {
+                        return e.gatherActive(), e.hasActive()
+                    }));
+                    return e.forEach((function (e) {
+                        return e.broadcastActive()
+                    })), e.length > 0
+                }, e.prototype.connect_ = function () {
+                    i && !this.connected_ && (document.addEventListener("transitionend", this.onTransitionEnd_), window.addEventListener("resize", this.refresh), o ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {
+                        attributes: !0,
+                        childList: !0,
+                        characterData: !0,
+                        subtree: !0
+                    })) : (document.addEventListener("DOMSubtreeModified", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0)
+                }, e.prototype.disconnect_ = function () {
+                    i && this.connected_ && (document.removeEventListener("transitionend", this.onTransitionEnd_), window.removeEventListener("resize", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1)
+                }, e.prototype.onTransitionEnd_ = function (e) {
+                    var t = e.propertyName, n = void 0 === t ? "" : t;
+                    l.some((function (e) {
+                        return !!~n.indexOf(e)
+                    })) && this.refresh()
+                }, e.getInstance = function () {
+                    return this.instance_ || (this.instance_ = new e), this.instance_
+                }, e.instance_ = null, e
+            }(), d = function (e, t) {
+                for (var n = 0, i = Object.keys(t); n < i.length; n++) {
+                    var a = i[n];
+                    Object.defineProperty(e, a, {value: t[a], enumerable: !1, writable: !1, configurable: !0})
+                }
+                return e
+            }, u = function (e) {
+                return e && e.ownerDocument && e.ownerDocument.defaultView || a
+            }, c = g(0, 0, 0, 0);
+
+        function h(e) {
+            return parseFloat(e) || 0
+        }
+
+        function m(e) {
+            for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
+            return t.reduce((function (t, n) {
+                return t + h(e["border-" + n + "-width"])
+            }), 0)
+        }
+
+        function f(e) {
+            var t = e.clientWidth, n = e.clientHeight;
+            if (!t && !n) return c;
+            var i = u(e).getComputedStyle(e), a = function (e) {
+                for (var t = {}, n = 0, i = ["top", "right", "bottom", "left"]; n < i.length; n++) {
+                    var a = i[n], r = e["padding-" + a];
+                    t[a] = h(r)
+                }
+                return t
+            }(i), r = a.left + a.right, l = a.top + a.bottom, o = h(i.width), s = h(i.height);
+            if ("border-box" === i.boxSizing && (Math.round(o + r) !== t && (o -= m(i, "left", "right") + r), Math.round(s + l) !== n && (s -= m(i, "top", "bottom") + l)), !function (e) {
+                return e === u(e).document.documentElement
+            }(e)) {
+                var d = Math.round(o + r) - t, f = Math.round(s + l) - n;
+                1 !== Math.abs(d) && (o -= d), 1 !== Math.abs(f) && (s -= f)
+            }
+            return g(a.left, a.top, o, s)
+        }
+
+        var _ = "undefined" != typeof SVGGraphicsElement ? function (e) {
+            return e instanceof u(e).SVGGraphicsElement
+        } : function (e) {
+            return e instanceof u(e).SVGElement && "function" == typeof e.getBBox
+        };
+
+        function p(e) {
+            return i ? _(e) ? function (e) {
+                var t = e.getBBox();
+                return g(0, 0, t.width, t.height)
+            }(e) : f(e) : c
+        }
+
+        function g(e, t, n, i) {
+            return {x: e, y: t, width: n, height: i}
+        }
+
+        var y = function () {
+            function e(e) {
+                this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = g(0, 0, 0, 0), this.target = e
+            }
+
+            return e.prototype.isActive = function () {
+                var e = p(this.target);
+                return this.contentRect_ = e, e.width !== this.broadcastWidth || e.height !== this.broadcastHeight
+            }, e.prototype.broadcastRect = function () {
+                var e = this.contentRect_;
+                return this.broadcastWidth = e.width, this.broadcastHeight = e.height, e
+            }, e
+        }(), v = function (e, t) {
+            var n, i, a, r, l, o, s,
+                u = (i = (n = t).x, a = n.y, r = n.width, l = n.height, o = "undefined" != typeof DOMRectReadOnly ? DOMRectReadOnly : Object, s = Object.create(o.prototype), d(s, {
+                    x: i,
+                    y: a,
+                    width: r,
+                    height: l,
+                    top: a,
+                    right: i + r,
+                    bottom: l + a,
+                    left: i
+                }), s);
+            d(this, {target: e, contentRect: u})
+        }, M = function () {
+            function e(e, t, i) {
+                if (this.activeObservations_ = [], this.observations_ = new n, "function" != typeof e) throw new TypeError("The callback provided as parameter 1 is not a function.");
+                this.callback_ = e, this.controller_ = t, this.callbackCtx_ = i
+            }
+
+            return e.prototype.observe = function (e) {
+                if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+                if ("undefined" != typeof Element && Element instanceof Object) {
+                    if (!(e instanceof u(e).Element)) throw new TypeError('parameter 1 is not of type "Element".');
+                    var t = this.observations_;
+                    t.has(e) || (t.set(e, new y(e)), this.controller_.addObserver(this), this.controller_.refresh())
+                }
+            }, e.prototype.unobserve = function (e) {
+                if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+                if ("undefined" != typeof Element && Element instanceof Object) {
+                    if (!(e instanceof u(e).Element)) throw new TypeError('parameter 1 is not of type "Element".');
+                    var t = this.observations_;
+                    t.has(e) && (t.delete(e), t.size || this.controller_.removeObserver(this))
+                }
+            }, e.prototype.disconnect = function () {
+                this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this)
+            }, e.prototype.gatherActive = function () {
+                var e = this;
+                this.clearActive(), this.observations_.forEach((function (t) {
+                    t.isActive() && e.activeObservations_.push(t)
+                }))
+            }, e.prototype.broadcastActive = function () {
+                if (this.hasActive()) {
+                    var e = this.callbackCtx_, t = this.activeObservations_.map((function (e) {
+                        return new v(e.target, e.broadcastRect())
+                    }));
+                    this.callback_.call(e, t, e), this.clearActive()
+                }
+            }, e.prototype.clearActive = function () {
+                this.activeObservations_.splice(0)
+            }, e.prototype.hasActive = function () {
+                return this.activeObservations_.length > 0
+            }, e
+        }(), b = "undefined" != typeof WeakMap ? new WeakMap : new n, x = function e(t) {
+            if (!(this instanceof e)) throw new TypeError("Cannot call a class as a function.");
+            if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+            var n = s.getInstance(), i = new M(t, n, this);
+            b.set(this, i)
+        };
+        ["observe", "unobserve", "disconnect"].forEach((function (e) {
+            x.prototype[e] = function () {
+                var t;
+                return (t = b.get(this))[e].apply(t, arguments)
+            }
+        }));
+        var L = void 0 !== a.ResizeObserver ? a.ResizeObserver : x;
+        t.a = L
+    }).call(this, n(11))
+}, function (e, t, n) {
+    e.exports = function () {
+        "use strict";
+        var e = function () {
+            return (e = Object.assign || function (e) {
+                for (var t, n = 1, i = arguments.length; n < i; n++) for (var a in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, a) && (e[a] = t[a]);
+                return e
+            }).apply(this, arguments)
+        };
+
+        function t() {
+            for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length;
+            var i = Array(e), a = 0;
+            for (t = 0; t < n; t++) for (var r = arguments[t], l = 0, o = r.length; l < o; l++, a++) i[a] = r[l];
+            return i
+        }
+
+        var n = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"],
+            i = {
+                _disable: [],
+                _enable: [],
+                allowInput: !1,
+                allowInvalidPreload: !1,
+                altFormat: "F j, Y",
+                altInput: !1,
+                altInputClass: "form-control input",
+                animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"),
+                ariaDateFormat: "F j, Y",
+                autoFillDefaultTime: !0,
+                clickOpens: !0,
+                closeOnSelect: !0,
+                conjunction: ", ",
+                dateFormat: "Y-m-d",
+                defaultHour: 12,
+                defaultMinute: 0,
+                defaultSeconds: 0,
+                disable: [],
+                disableMobile: !1,
+                enable: [],
+                enableSeconds: !1,
+                enableTime: !1,
+                errorHandler: function (e) {
+                    return "undefined" != typeof console && console.warn(e)
+                },
+                getWeek: function (e) {
+                    var t = new Date(e.getTime());
+                    t.setHours(0, 0, 0, 0), t.setDate(t.getDate() + 3 - (t.getDay() + 6) % 7);
+                    var n = new Date(t.getFullYear(), 0, 4);
+                    return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7)
+                },
+                hourIncrement: 1,
+                ignoredFocusElements: [],
+                inline: !1,
+                locale: "default",
+                minuteIncrement: 5,
+                mode: "single",
+                monthSelectorType: "dropdown",
+                nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
+                noCalendar: !1,
+                now: new Date,
+                onChange: [],
+                onClose: [],
+                onDayCreate: [],
+                onDestroy: [],
+                onKeyDown: [],
+                onMonthChange: [],
+                onOpen: [],
+                onParseConfig: [],
+                onReady: [],
+                onValueUpdate: [],
+                onYearChange: [],
+                onPreCalendarPosition: [],
+                plugins: [],
+                position: "auto",
+                positionElement: void 0,
+                prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
+                shorthandCurrentMonth: !1,
+                showMonths: 1,
+                static: !1,
+                time_24hr: !1,
+                weekNumbers: !1,
+                wrap: !1
+            }, a = {
+                weekdays: {
+                    shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
+                    longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
+                },
+                months: {
+                    shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+                    longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
+                },
+                daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
+                firstDayOfWeek: 0,
+                ordinal: function (e) {
+                    var t = e % 100;
+                    if (t > 3 && t < 21) return "th";
+                    switch (t % 10) {
+                        case 1:
+                            return "st";
+                        case 2:
+                            return "nd";
+                        case 3:
+                            return "rd";
+                        default:
+                            return "th"
+                    }
+                },
+                rangeSeparator: " to ",
+                weekAbbreviation: "Wk",
+                scrollTitle: "Scroll to increment",
+                toggleTitle: "Click to toggle",
+                amPM: ["AM", "PM"],
+                yearAriaLabel: "Year",
+                monthAriaLabel: "Month",
+                hourAriaLabel: "Hour",
+                minuteAriaLabel: "Minute",
+                time_24hr: !1
+            }, r = function (e, t) {
+                return void 0 === t && (t = 2), ("000" + e).slice(-1 * t)
+            }, l = function (e) {
+                return !0 === e ? 1 : 0
+            };
+
+        function o(e, t, n) {
+            var i;
+            return void 0 === n && (n = !1), function () {
+                var a = this, r = arguments;
+                null !== i && clearTimeout(i), i = window.setTimeout((function () {
+                    i = null, n || e.apply(a, r)
+                }), t), n && !i && e.apply(a, r)
+            }
+        }
+
+        var s = function (e) {
+            return e instanceof Array ? e : [e]
+        };
+
+        function d(e, t, n) {
+            if (!0 === n) return e.classList.add(t);
+            e.classList.remove(t)
+        }
+
+        function u(e, t, n) {
+            var i = window.document.createElement(e);
+            return t = t || "", n = n || "", i.className = t, void 0 !== n && (i.textContent = n), i
+        }
+
+        function c(e) {
+            for (; e.firstChild;) e.removeChild(e.firstChild)
+        }
+
+        function h(e, t) {
+            return t(e) ? e : e.parentNode ? h(e.parentNode, t) : void 0
+        }
+
+        function m(e, t) {
+            var n = u("div", "numInputWrapper"), i = u("input", "numInput " + e), a = u("span", "arrowUp"),
+                r = u("span", "arrowDown");
+            if (-1 === navigator.userAgent.indexOf("MSIE 9.0") ? i.type = "number" : (i.type = "text", i.pattern = "\\d*"), void 0 !== t) for (var l in t) i.setAttribute(l, t[l]);
+            return n.appendChild(i), n.appendChild(a), n.appendChild(r), n
+        }
+
+        function f(e) {
+            try {
+                return "function" == typeof e.composedPath ? e.composedPath()[0] : e.target
+            } catch (t) {
+                return e.target
+            }
+        }
+
+        var _ = function () {
+        }, p = function (e, t, n) {
+            return n.months[t ? "shorthand" : "longhand"][e]
+        }, g = {
+            D: _, F: function (e, t, n) {
+                e.setMonth(n.months.longhand.indexOf(t))
+            }, G: function (e, t) {
+                e.setHours(parseFloat(t))
+            }, H: function (e, t) {
+                e.setHours(parseFloat(t))
+            }, J: function (e, t) {
+                e.setDate(parseFloat(t))
+            }, K: function (e, t, n) {
+                e.setHours(e.getHours() % 12 + 12 * l(new RegExp(n.amPM[1], "i").test(t)))
+            }, M: function (e, t, n) {
+                e.setMonth(n.months.shorthand.indexOf(t))
+            }, S: function (e, t) {
+                e.setSeconds(parseFloat(t))
+            }, U: function (e, t) {
+                return new Date(1e3 * parseFloat(t))
+            }, W: function (e, t, n) {
+                var i = parseInt(t), a = new Date(e.getFullYear(), 0, 2 + 7 * (i - 1), 0, 0, 0, 0);
+                return a.setDate(a.getDate() - a.getDay() + n.firstDayOfWeek), a
+            }, Y: function (e, t) {
+                e.setFullYear(parseFloat(t))
+            }, Z: function (e, t) {
+                return new Date(t)
+            }, d: function (e, t) {
+                e.setDate(parseFloat(t))
+            }, h: function (e, t) {
+                e.setHours(parseFloat(t))
+            }, i: function (e, t) {
+                e.setMinutes(parseFloat(t))
+            }, j: function (e, t) {
+                e.setDate(parseFloat(t))
+            }, l: _, m: function (e, t) {
+                e.setMonth(parseFloat(t) - 1)
+            }, n: function (e, t) {
+                e.setMonth(parseFloat(t) - 1)
+            }, s: function (e, t) {
+                e.setSeconds(parseFloat(t))
+            }, u: function (e, t) {
+                return new Date(parseFloat(t))
+            }, w: _, y: function (e, t) {
+                e.setFullYear(2e3 + parseFloat(t))
+            }
+        }, y = {
+            D: "(\\w+)",
+            F: "(\\w+)",
+            G: "(\\d\\d|\\d)",
+            H: "(\\d\\d|\\d)",
+            J: "(\\d\\d|\\d)\\w+",
+            K: "",
+            M: "(\\w+)",
+            S: "(\\d\\d|\\d)",
+            U: "(.+)",
+            W: "(\\d\\d|\\d)",
+            Y: "(\\d{4})",
+            Z: "(.+)",
+            d: "(\\d\\d|\\d)",
+            h: "(\\d\\d|\\d)",
+            i: "(\\d\\d|\\d)",
+            j: "(\\d\\d|\\d)",
+            l: "(\\w+)",
+            m: "(\\d\\d|\\d)",
+            n: "(\\d\\d|\\d)",
+            s: "(\\d\\d|\\d)",
+            u: "(.+)",
+            w: "(\\d\\d|\\d)",
+            y: "(\\d{2})"
+        }, v = {
+            Z: function (e) {
+                return e.toISOString()
+            }, D: function (e, t, n) {
+                return t.weekdays.shorthand[v.w(e, t, n)]
+            }, F: function (e, t, n) {
+                return p(v.n(e, t, n) - 1, !1, t)
+            }, G: function (e, t, n) {
+                return r(v.h(e, t, n))
+            }, H: function (e) {
+                return r(e.getHours())
+            }, J: function (e, t) {
+                return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate()
+            }, K: function (e, t) {
+                return t.amPM[l(e.getHours() > 11)]
+            }, M: function (e, t) {
+                return p(e.getMonth(), !0, t)
+            }, S: function (e) {
+                return r(e.getSeconds())
+            }, U: function (e) {
+                return e.getTime() / 1e3
+            }, W: function (e, t, n) {
+                return n.getWeek(e)
+            }, Y: function (e) {
+                return r(e.getFullYear(), 4)
+            }, d: function (e) {
+                return r(e.getDate())
+            }, h: function (e) {
+                return e.getHours() % 12 ? e.getHours() % 12 : 12
+            }, i: function (e) {
+                return r(e.getMinutes())
+            }, j: function (e) {
+                return e.getDate()
+            }, l: function (e, t) {
+                return t.weekdays.longhand[e.getDay()]
+            }, m: function (e) {
+                return r(e.getMonth() + 1)
+            }, n: function (e) {
+                return e.getMonth() + 1
+            }, s: function (e) {
+                return e.getSeconds()
+            }, u: function (e) {
+                return e.getTime()
+            }, w: function (e) {
+                return e.getDay()
+            }, y: function (e) {
+                return String(e.getFullYear()).substring(2)
+            }
+        }, M = function (e) {
+            var t = e.config, n = void 0 === t ? i : t, r = e.l10n, l = void 0 === r ? a : r, o = e.isMobile,
+                s = void 0 !== o && o;
+            return function (e, t, i) {
+                var a = i || l;
+                return void 0 === n.formatDate || s ? t.split("").map((function (t, i, r) {
+                    return v[t] && "\\" !== r[i - 1] ? v[t](e, a, n) : "\\" !== t ? t : ""
+                })).join("") : n.formatDate(e, t, a)
+            }
+        }, b = function (e) {
+            var t = e.config, n = void 0 === t ? i : t, r = e.l10n, l = void 0 === r ? a : r;
+            return function (e, t, a, r) {
+                if (0 === e || e) {
+                    var o, s = r || l, d = e;
+                    if (e instanceof Date) o = new Date(e.getTime()); else if ("string" != typeof e && void 0 !== e.toFixed) o = new Date(e); else if ("string" == typeof e) {
+                        var u = t || (n || i).dateFormat, c = String(e).trim();
+                        if ("today" === c) o = new Date, a = !0; else if (/Z$/.test(c) || /GMT$/.test(c)) o = new Date(e); else if (n && n.parseDate) o = n.parseDate(e, u); else {
+                            o = n && n.noCalendar ? new Date((new Date).setHours(0, 0, 0, 0)) : new Date((new Date).getFullYear(), 0, 1, 0, 0, 0, 0);
+                            for (var h = void 0, m = [], f = 0, _ = 0, p = ""; f < u.length; f++) {
+                                var v = u[f], M = "\\" === v, b = "\\" === u[f - 1] || M;
+                                if (y[v] && !b) {
+                                    p += y[v];
+                                    var x = new RegExp(p).exec(e);
+                                    x && (h = !0) && m["Y" !== v ? "push" : "unshift"]({fn: g[v], val: x[++_]})
+                                } else M || (p += ".");
+                                m.forEach((function (e) {
+                                    var t = e.fn, n = e.val;
+                                    return o = t(o, n, s) || o
+                                }))
+                            }
+                            o = h ? o : void 0
+                        }
+                    }
+                    if (o instanceof Date && !isNaN(o.getTime())) return !0 === a && o.setHours(0, 0, 0, 0), o;
+                    n.errorHandler(new Error("Invalid date provided: " + d))
+                }
+            }
+        };
+
+        function x(e, t, n) {
+            return void 0 === n && (n = !0), !1 !== n ? new Date(e.getTime()).setHours(0, 0, 0, 0) - new Date(t.getTime()).setHours(0, 0, 0, 0) : e.getTime() - t.getTime()
+        }
+
+        var L = function (e, t, n) {
+            return e > Math.min(t, n) && e < Math.max(t, n)
+        }, w = {DAY: 864e5};
+        "function" != typeof Object.assign && (Object.assign = function (e) {
+            for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
+            if (!e) throw TypeError("Cannot convert undefined or null to object");
+            for (var i = function (t) {
+                t && Object.keys(t).forEach((function (n) {
+                    return e[n] = t[n]
+                }))
+            }, a = 0, r = t; a < r.length; a++) i(r[a]);
+            return e
+        });
+        var k = 300;
+
+        function Y(_, g) {
+            var v = {config: e(e({}, i), T.defaultConfig), l10n: a};
+
+            function Y() {
+                v.utils = {
+                    getDaysInMonth: function (e, t) {
+                        return void 0 === e && (e = v.currentMonth), void 0 === t && (t = v.currentYear), 1 === e && (t % 4 == 0 && t % 100 != 0 || t % 400 == 0) ? 29 : v.l10n.daysInMonth[e]
+                    }
+                }
+            }
+
+            function D() {
+                v.element = v.input = _, v.isOpen = !1, xe(), we(), Fe(), Ce(), Y(), v.isMobile || Z(), z(), (v.selectedDates.length || v.config.noCalendar) && (v.config.enableTime && P(v.config.noCalendar ? v.latestSelectedDateObj || v.config.minDate : void 0), Ue(!1)), j();
+                var e = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
+                !v.isMobile && e && ke(), Ne("onReady")
+            }
+
+            function S(e) {
+                return e.bind(v)
+            }
+
+            function j() {
+                var e = v.config;
+                !1 === e.weekNumbers && 1 === e.showMonths || !0 !== e.noCalendar && window.requestAnimationFrame((function () {
+                    if (void 0 !== v.calendarContainer && (v.calendarContainer.style.visibility = "hidden", v.calendarContainer.style.display = "block"), void 0 !== v.daysContainer) {
+                        var t = (v.days.offsetWidth + 1) * e.showMonths;
+                        v.daysContainer.style.width = t + "px", v.calendarContainer.style.width = t + (void 0 !== v.weekWrapper ? v.weekWrapper.offsetWidth : 0) + "px", v.calendarContainer.style.removeProperty("visibility"), v.calendarContainer.style.removeProperty("display")
+                    }
+                }))
+            }
+
+            function E(e) {
+                if (0 === v.selectedDates.length) {
+                    var t = void 0 !== v.config.minDate ? new Date(v.config.minDate.getTime()) : new Date, n = C(),
+                        i = n.hours, a = n.minutes, r = n.seconds;
+                    t.setHours(i, a, r, 0), v.setDate(t, !1)
+                }
+                void 0 !== e && "blur" !== e.type && Ge(e);
+                var l = v._input.value;
+                A(), Ue(), v._input.value !== l && v._debouncedChange()
+            }
+
+            function H(e, t) {
+                return e % 12 + 12 * l(t === v.l10n.amPM[1])
+            }
+
+            function O(e) {
+                switch (e % 24) {
+                    case 0:
+                    case 12:
+                        return 12;
+                    default:
+                        return e % 12
+                }
+            }
+
+            function A() {
+                if (void 0 !== v.hourElement && void 0 !== v.minuteElement) {
+                    var e = (parseInt(v.hourElement.value.slice(-2), 10) || 0) % 24,
+                        t = (parseInt(v.minuteElement.value, 10) || 0) % 60,
+                        n = void 0 !== v.secondElement ? (parseInt(v.secondElement.value, 10) || 0) % 60 : 0;
+                    void 0 !== v.amPM && (e = H(e, v.amPM.textContent));
+                    var i = void 0 !== v.config.minTime || v.config.minDate && v.minDateHasTime && v.latestSelectedDateObj && 0 === x(v.latestSelectedDateObj, v.config.minDate, !0);
+                    if (void 0 !== v.config.maxTime || v.config.maxDate && v.maxDateHasTime && v.latestSelectedDateObj && 0 === x(v.latestSelectedDateObj, v.config.maxDate, !0)) {
+                        var a = void 0 !== v.config.maxTime ? v.config.maxTime : v.config.maxDate;
+                        (e = Math.min(e, a.getHours())) === a.getHours() && (t = Math.min(t, a.getMinutes())), t === a.getMinutes() && (n = Math.min(n, a.getSeconds()))
+                    }
+                    if (i) {
+                        var r = void 0 !== v.config.minTime ? v.config.minTime : v.config.minDate;
+                        (e = Math.max(e, r.getHours())) === r.getHours() && (t = Math.max(t, r.getMinutes())), t === r.getMinutes() && (n = Math.max(n, r.getSeconds()))
+                    }
+                    F(e, t, n)
+                }
+            }
+
+            function P(e) {
+                var t = e || v.latestSelectedDateObj;
+                t && F(t.getHours(), t.getMinutes(), t.getSeconds())
+            }
+
+            function C() {
+                var e = v.config.defaultHour, t = v.config.defaultMinute, n = v.config.defaultSeconds;
+                if (void 0 !== v.config.minDate) {
+                    var i = v.config.minDate.getHours(), a = v.config.minDate.getMinutes();
+                    (e = Math.max(e, i)) === i && (t = Math.max(a, t)), e === i && t === a && (n = v.config.minDate.getSeconds())
+                }
+                if (void 0 !== v.config.maxDate) {
+                    var r = v.config.maxDate.getHours(), l = v.config.maxDate.getMinutes();
+                    (e = Math.min(e, r)) === r && (t = Math.min(l, t)), e === r && t === l && (n = v.config.maxDate.getSeconds())
+                }
+                return {hours: e, minutes: t, seconds: n}
+            }
+
+            function F(e, t, n) {
+                void 0 !== v.latestSelectedDateObj && v.latestSelectedDateObj.setHours(e % 24, t, n || 0, 0), v.hourElement && v.minuteElement && !v.isMobile && (v.hourElement.value = r(v.config.time_24hr ? e : (12 + e) % 12 + 12 * l(e % 12 == 0)), v.minuteElement.value = r(t), void 0 !== v.amPM && (v.amPM.textContent = v.l10n.amPM[l(e >= 12)]), void 0 !== v.secondElement && (v.secondElement.value = r(n)))
+            }
+
+            function I(e) {
+                var t = f(e), n = parseInt(t.value) + (e.delta || 0);
+                (n / 1e3 > 1 || "Enter" === e.key && !/[^\d]/.test(n.toString())) && me(n)
+            }
+
+            function W(e, t, n, i) {
+                return t instanceof Array ? t.forEach((function (t) {
+                    return W(e, t, n, i)
+                })) : e instanceof Array ? e.forEach((function (e) {
+                    return W(e, t, n, i)
+                })) : (e.addEventListener(t, n, i), void v._handlers.push({
+                    element: e,
+                    event: t,
+                    handler: n,
+                    options: i
+                }))
+            }
+
+            function N() {
+                Ne("onChange")
+            }
+
+            function z() {
+                if (v.config.wrap && ["open", "close", "toggle", "clear"].forEach((function (e) {
+                    Array.prototype.forEach.call(v.element.querySelectorAll("[data-" + e + "]"), (function (t) {
+                        return W(t, "click", v[e])
+                    }))
+                })), v.isMobile) Ie(); else {
+                    var e = o(ve, 50);
+                    if (v._debouncedChange = o(N, k), v.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && W(v.daysContainer, "mouseover", (function (e) {
+                        "range" === v.config.mode && ye(f(e))
+                    })), W(window.document.body, "keydown", ge), v.config.inline || v.config.static || W(window, "resize", e), void 0 !== window.ontouchstart ? W(window.document, "touchstart", he) : W(window.document, "click", he), W(window.document, "focus", he, {capture: !0}), !0 === v.config.clickOpens && (W(v._input, "focus", v.open), W(v._input, "click", v.open)), void 0 !== v.daysContainer && (W(v.monthNav, "click", Je), W(v.monthNav, ["keyup", "increment"], I), W(v.daysContainer, "click", je)), void 0 !== v.timeContainer && void 0 !== v.minuteElement && void 0 !== v.hourElement) {
+                        var t = function (e) {
+                            return f(e).select()
+                        };
+                        W(v.timeContainer, ["increment"], E), W(v.timeContainer, "blur", E, {capture: !0}), W(v.timeContainer, "click", V), W([v.hourElement, v.minuteElement], ["focus", "click"], t), void 0 !== v.secondElement && W(v.secondElement, "focus", (function () {
+                            return v.secondElement && v.secondElement.select()
+                        })), void 0 !== v.amPM && W(v.amPM, "click", (function (e) {
+                            E(e), N()
+                        }))
+                    }
+                    v.config.allowInput && W(v._input, "blur", pe)
+                }
+            }
+
+            function R(e, t) {
+                var n = void 0 !== e ? v.parseDate(e) : v.latestSelectedDateObj || (v.config.minDate && v.config.minDate > v.now ? v.config.minDate : v.config.maxDate && v.config.maxDate < v.now ? v.config.maxDate : v.now),
+                    i = v.currentYear, a = v.currentMonth;
+                try {
+                    void 0 !== n && (v.currentYear = n.getFullYear(), v.currentMonth = n.getMonth())
+                } catch (e) {
+                    e.message = "Invalid date supplied: " + n, v.config.errorHandler(e)
+                }
+                t && v.currentYear !== i && (Ne("onYearChange"), Q()), !t || v.currentYear === i && v.currentMonth === a || Ne("onMonthChange"), v.redraw()
+            }
+
+            function V(e) {
+                var t = f(e);
+                ~t.className.indexOf("arrow") && B(e, t.classList.contains("arrowUp") ? 1 : -1)
+            }
+
+            function B(e, t, n) {
+                var i = e && f(e), a = n || i && i.parentNode && i.parentNode.firstChild, r = ze("increment");
+                r.delta = t, a && a.dispatchEvent(r)
+            }
+
+            function Z() {
+                var e = window.document.createDocumentFragment();
+                if (v.calendarContainer = u("div", "flatpickr-calendar"), v.calendarContainer.tabIndex = -1, !v.config.noCalendar) {
+                    if (e.appendChild(ne()), v.innerContainer = u("div", "flatpickr-innerContainer"), v.config.weekNumbers) {
+                        var t = le(), n = t.weekWrapper, i = t.weekNumbers;
+                        v.innerContainer.appendChild(n), v.weekNumbers = i, v.weekWrapper = n
+                    }
+                    v.rContainer = u("div", "flatpickr-rContainer"), v.rContainer.appendChild(ae()), v.daysContainer || (v.daysContainer = u("div", "flatpickr-days"), v.daysContainer.tabIndex = -1), $(), v.rContainer.appendChild(v.daysContainer), v.innerContainer.appendChild(v.rContainer), e.appendChild(v.innerContainer)
+                }
+                v.config.enableTime && e.appendChild(ie()), d(v.calendarContainer, "rangeMode", "range" === v.config.mode), d(v.calendarContainer, "animate", !0 === v.config.animate), d(v.calendarContainer, "multiMonth", v.config.showMonths > 1), v.calendarContainer.appendChild(e);
+                var a = void 0 !== v.config.appendTo && void 0 !== v.config.appendTo.nodeType;
+                if ((v.config.inline || v.config.static) && (v.calendarContainer.classList.add(v.config.inline ? "inline" : "static"), v.config.inline && (!a && v.element.parentNode ? v.element.parentNode.insertBefore(v.calendarContainer, v._input.nextSibling) : void 0 !== v.config.appendTo && v.config.appendTo.appendChild(v.calendarContainer)), v.config.static)) {
+                    var r = u("div", "flatpickr-wrapper");
+                    v.element.parentNode && v.element.parentNode.insertBefore(r, v.element), r.appendChild(v.element), v.altInput && r.appendChild(v.altInput), r.appendChild(v.calendarContainer)
+                }
+                v.config.static || v.config.inline || (void 0 !== v.config.appendTo ? v.config.appendTo : window.document.body).appendChild(v.calendarContainer)
+            }
+
+            function U(e, t, n, i) {
+                var a = fe(t, !0), r = u("span", "flatpickr-day " + e, t.getDate().toString());
+                return r.dateObj = t, r.$i = i, r.setAttribute("aria-label", v.formatDate(t, v.config.ariaDateFormat)), -1 === e.indexOf("hidden") && 0 === x(t, v.now) && (v.todayDateElem = r, r.classList.add("today"), r.setAttribute("aria-current", "date")), a ? (r.tabIndex = -1, Re(t) && (r.classList.add("selected"), v.selectedDateElem = r, "range" === v.config.mode && (d(r, "startRange", v.selectedDates[0] && 0 === x(t, v.selectedDates[0], !0)), d(r, "endRange", v.selectedDates[1] && 0 === x(t, v.selectedDates[1], !0)), "nextMonthDay" === e && r.classList.add("inRange")))) : r.classList.add("flatpickr-disabled"), "range" === v.config.mode && Ve(t) && !Re(t) && r.classList.add("inRange"), v.weekNumbers && 1 === v.config.showMonths && "prevMonthDay" !== e && n % 7 == 1 && v.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + v.config.getWeek(t) + "</span>"), Ne("onDayCreate", r), r
+            }
+
+            function J(e) {
+                e.focus(), "range" === v.config.mode && ye(e)
+            }
+
+            function G(e) {
+                for (var t = e > 0 ? 0 : v.config.showMonths - 1, n = e > 0 ? v.config.showMonths : -1, i = t; i != n; i += e) for (var a = v.daysContainer.children[i], r = e > 0 ? 0 : a.children.length - 1, l = e > 0 ? a.children.length : -1, o = r; o != l; o += e) {
+                    var s = a.children[o];
+                    if (-1 === s.className.indexOf("hidden") && fe(s.dateObj)) return s
+                }
+            }
+
+            function q(e, t) {
+                for (var n = -1 === e.className.indexOf("Month") ? e.dateObj.getMonth() : v.currentMonth, i = t > 0 ? v.config.showMonths : -1, a = t > 0 ? 1 : -1, r = n - v.currentMonth; r != i; r += a) for (var l = v.daysContainer.children[r], o = n - v.currentMonth === r ? e.$i + t : t < 0 ? l.children.length - 1 : 0, s = l.children.length, d = o; d >= 0 && d < s && d != (t > 0 ? s : -1); d += a) {
+                    var u = l.children[d];
+                    if (-1 === u.className.indexOf("hidden") && fe(u.dateObj) && Math.abs(e.$i - d) >= Math.abs(t)) return J(u)
+                }
+                v.changeMonth(a), K(G(a), 0)
+            }
+
+            function K(e, t) {
+                var n = _e(document.activeElement || document.body),
+                    i = void 0 !== e ? e : n ? document.activeElement : void 0 !== v.selectedDateElem && _e(v.selectedDateElem) ? v.selectedDateElem : void 0 !== v.todayDateElem && _e(v.todayDateElem) ? v.todayDateElem : G(t > 0 ? 1 : -1);
+                void 0 === i ? v._input.focus() : n ? q(i, t) : J(i)
+            }
+
+            function X(e, t) {
+                for (var n = (new Date(e, t, 1).getDay() - v.l10n.firstDayOfWeek + 7) % 7, i = v.utils.getDaysInMonth((t - 1 + 12) % 12, e), a = v.utils.getDaysInMonth(t, e), r = window.document.createDocumentFragment(), l = v.config.showMonths > 1, o = l ? "prevMonthDay hidden" : "prevMonthDay", s = l ? "nextMonthDay hidden" : "nextMonthDay", d = i + 1 - n, c = 0; d <= i; d++, c++) r.appendChild(U(o, new Date(e, t - 1, d), d, c));
+                for (d = 1; d <= a; d++, c++) r.appendChild(U("", new Date(e, t, d), d, c));
+                for (var h = a + 1; h <= 42 - n && (1 === v.config.showMonths || c % 7 != 0); h++, c++) r.appendChild(U(s, new Date(e, t + 1, h % a), h, c));
+                var m = u("div", "dayContainer");
+                return m.appendChild(r), m
+            }
+
+            function $() {
+                if (void 0 !== v.daysContainer) {
+                    c(v.daysContainer), v.weekNumbers && c(v.weekNumbers);
+                    for (var e = document.createDocumentFragment(), t = 0; t < v.config.showMonths; t++) {
+                        var n = new Date(v.currentYear, v.currentMonth, 1);
+                        n.setMonth(v.currentMonth + t), e.appendChild(X(n.getFullYear(), n.getMonth()))
+                    }
+                    v.daysContainer.appendChild(e), v.days = v.daysContainer.firstChild, "range" === v.config.mode && 1 === v.selectedDates.length && ye()
+                }
+            }
+
+            function Q() {
+                if (!(v.config.showMonths > 1 || "dropdown" !== v.config.monthSelectorType)) {
+                    var e = function (e) {
+                        return !(void 0 !== v.config.minDate && v.currentYear === v.config.minDate.getFullYear() && e < v.config.minDate.getMonth() || void 0 !== v.config.maxDate && v.currentYear === v.config.maxDate.getFullYear() && e > v.config.maxDate.getMonth())
+                    };
+                    v.monthsDropdownContainer.tabIndex = -1, v.monthsDropdownContainer.innerHTML = "";
+                    for (var t = 0; t < 12; t++) if (e(t)) {
+                        var n = u("option", "flatpickr-monthDropdown-month");
+                        n.value = new Date(v.currentYear, t).getMonth().toString(), n.textContent = p(t, v.config.shorthandCurrentMonth, v.l10n), n.tabIndex = -1, v.currentMonth === t && (n.selected = !0), v.monthsDropdownContainer.appendChild(n)
+                    }
+                }
+            }
+
+            function ee() {
+                var e, t = u("div", "flatpickr-month"), n = window.document.createDocumentFragment();
+                v.config.showMonths > 1 || "static" === v.config.monthSelectorType ? e = u("span", "cur-month") : (v.monthsDropdownContainer = u("select", "flatpickr-monthDropdown-months"), v.monthsDropdownContainer.setAttribute("aria-label", v.l10n.monthAriaLabel), W(v.monthsDropdownContainer, "change", (function (e) {
+                    var t = f(e), n = parseInt(t.value, 10);
+                    v.changeMonth(n - v.currentMonth), Ne("onMonthChange")
+                })), Q(), e = v.monthsDropdownContainer);
+                var i = m("cur-year", {tabindex: "-1"}), a = i.getElementsByTagName("input")[0];
+                a.setAttribute("aria-label", v.l10n.yearAriaLabel), v.config.minDate && a.setAttribute("min", v.config.minDate.getFullYear().toString()), v.config.maxDate && (a.setAttribute("max", v.config.maxDate.getFullYear().toString()), a.disabled = !!v.config.minDate && v.config.minDate.getFullYear() === v.config.maxDate.getFullYear());
+                var r = u("div", "flatpickr-current-month");
+                return r.appendChild(e), r.appendChild(i), n.appendChild(r), t.appendChild(n), {
+                    container: t,
+                    yearElement: a,
+                    monthElement: e
+                }
+            }
+
+            function te() {
+                c(v.monthNav), v.monthNav.appendChild(v.prevMonthNav), v.config.showMonths && (v.yearElements = [], v.monthElements = []);
+                for (var e = v.config.showMonths; e--;) {
+                    var t = ee();
+                    v.yearElements.push(t.yearElement), v.monthElements.push(t.monthElement), v.monthNav.appendChild(t.container)
+                }
+                v.monthNav.appendChild(v.nextMonthNav)
+            }
+
+            function ne() {
+                return v.monthNav = u("div", "flatpickr-months"), v.yearElements = [], v.monthElements = [], v.prevMonthNav = u("span", "flatpickr-prev-month"), v.prevMonthNav.innerHTML = v.config.prevArrow, v.nextMonthNav = u("span", "flatpickr-next-month"), v.nextMonthNav.innerHTML = v.config.nextArrow, te(), Object.defineProperty(v, "_hidePrevMonthArrow", {
+                    get: function () {
+                        return v.__hidePrevMonthArrow
+                    }, set: function (e) {
+                        v.__hidePrevMonthArrow !== e && (d(v.prevMonthNav, "flatpickr-disabled", e), v.__hidePrevMonthArrow = e)
+                    }
+                }), Object.defineProperty(v, "_hideNextMonthArrow", {
+                    get: function () {
+                        return v.__hideNextMonthArrow
+                    }, set: function (e) {
+                        v.__hideNextMonthArrow !== e && (d(v.nextMonthNav, "flatpickr-disabled", e), v.__hideNextMonthArrow = e)
+                    }
+                }), v.currentYearElement = v.yearElements[0], Be(), v.monthNav
+            }
+
+            function ie() {
+                v.calendarContainer.classList.add("hasTime"), v.config.noCalendar && v.calendarContainer.classList.add("noCalendar"), v.timeContainer = u("div", "flatpickr-time"), v.timeContainer.tabIndex = -1;
+                var e = u("span", "flatpickr-time-separator", ":"),
+                    t = m("flatpickr-hour", {"aria-label": v.l10n.hourAriaLabel});
+                v.hourElement = t.getElementsByTagName("input")[0];
+                var n = m("flatpickr-minute", {"aria-label": v.l10n.minuteAriaLabel});
+                if (v.minuteElement = n.getElementsByTagName("input")[0], v.hourElement.tabIndex = v.minuteElement.tabIndex = -1, v.hourElement.value = r(v.latestSelectedDateObj ? v.latestSelectedDateObj.getHours() : v.config.time_24hr ? v.config.defaultHour : O(v.config.defaultHour)), v.minuteElement.value = r(v.latestSelectedDateObj ? v.latestSelectedDateObj.getMinutes() : v.config.defaultMinute), v.hourElement.setAttribute("step", v.config.hourIncrement.toString()), v.minuteElement.setAttribute("step", v.config.minuteIncrement.toString()), v.hourElement.setAttribute("min", v.config.time_24hr ? "0" : "1"), v.hourElement.setAttribute("max", v.config.time_24hr ? "23" : "12"), v.minuteElement.setAttribute("min", "0"), v.minuteElement.setAttribute("max", "59"), v.timeContainer.appendChild(t), v.timeContainer.appendChild(e), v.timeContainer.appendChild(n), v.config.time_24hr && v.timeContainer.classList.add("time24hr"), v.config.enableSeconds) {
+                    v.timeContainer.classList.add("hasSeconds");
+                    var i = m("flatpickr-second");
+                    v.secondElement = i.getElementsByTagName("input")[0], v.secondElement.value = r(v.latestSelectedDateObj ? v.latestSelectedDateObj.getSeconds() : v.config.defaultSeconds), v.secondElement.setAttribute("step", v.minuteElement.getAttribute("step")), v.secondElement.setAttribute("min", "0"), v.secondElement.setAttribute("max", "59"), v.timeContainer.appendChild(u("span", "flatpickr-time-separator", ":")), v.timeContainer.appendChild(i)
+                }
+                return v.config.time_24hr || (v.amPM = u("span", "flatpickr-am-pm", v.l10n.amPM[l((v.latestSelectedDateObj ? v.hourElement.value : v.config.defaultHour) > 11)]), v.amPM.title = v.l10n.toggleTitle, v.amPM.tabIndex = -1, v.timeContainer.appendChild(v.amPM)), v.timeContainer
+            }
+
+            function ae() {
+                v.weekdayContainer ? c(v.weekdayContainer) : v.weekdayContainer = u("div", "flatpickr-weekdays");
+                for (var e = v.config.showMonths; e--;) {
+                    var t = u("div", "flatpickr-weekdaycontainer");
+                    v.weekdayContainer.appendChild(t)
+                }
+                return re(), v.weekdayContainer
+            }
+
+            function re() {
+                if (v.weekdayContainer) {
+                    var e = v.l10n.firstDayOfWeek, n = t(v.l10n.weekdays.shorthand);
+                    e > 0 && e < n.length && (n = t(n.splice(e, n.length), n.splice(0, e)));
+                    for (var i = v.config.showMonths; i--;) v.weekdayContainer.children[i].innerHTML = "\n      <span class='flatpickr-weekday'>\n        " + n.join("</span><span class='flatpickr-weekday'>") + "\n      </span>\n      "
+                }
+            }
+
+            function le() {
+                v.calendarContainer.classList.add("hasWeeks");
+                var e = u("div", "flatpickr-weekwrapper");
+                e.appendChild(u("span", "flatpickr-weekday", v.l10n.weekAbbreviation));
+                var t = u("div", "flatpickr-weeks");
+                return e.appendChild(t), {weekWrapper: e, weekNumbers: t}
+            }
+
+            function oe(e, t) {
+                void 0 === t && (t = !0);
+                var n = t ? e : e - v.currentMonth;
+                n < 0 && !0 === v._hidePrevMonthArrow || n > 0 && !0 === v._hideNextMonthArrow || (v.currentMonth += n, (v.currentMonth < 0 || v.currentMonth > 11) && (v.currentYear += v.currentMonth > 11 ? 1 : -1, v.currentMonth = (v.currentMonth + 12) % 12, Ne("onYearChange"), Q()), $(), Ne("onMonthChange"), Be())
+            }
+
+            function se(e, t) {
+                if (void 0 === e && (e = !0), void 0 === t && (t = !0), v.input.value = "", void 0 !== v.altInput && (v.altInput.value = ""), void 0 !== v.mobileInput && (v.mobileInput.value = ""), v.selectedDates = [], v.latestSelectedDateObj = void 0, !0 === t && (v.currentYear = v._initialDate.getFullYear(), v.currentMonth = v._initialDate.getMonth()), !0 === v.config.enableTime) {
+                    var n = C();
+                    F(n.hours, n.minutes, n.seconds)
+                }
+                v.redraw(), e && Ne("onChange")
+            }
+
+            function de() {
+                v.isOpen = !1, v.isMobile || (void 0 !== v.calendarContainer && v.calendarContainer.classList.remove("open"), void 0 !== v._input && v._input.classList.remove("active")), Ne("onClose")
+            }
+
+            function ue() {
+                void 0 !== v.config && Ne("onDestroy");
+                for (var e = v._handlers.length; e--;) {
+                    var t = v._handlers[e];
+                    t.element.removeEventListener(t.event, t.handler, t.options)
+                }
+                if (v._handlers = [], v.mobileInput) v.mobileInput.parentNode && v.mobileInput.parentNode.removeChild(v.mobileInput), v.mobileInput = void 0; else if (v.calendarContainer && v.calendarContainer.parentNode) if (v.config.static && v.calendarContainer.parentNode) {
+                    var n = v.calendarContainer.parentNode;
+                    if (n.lastChild && n.removeChild(n.lastChild), n.parentNode) {
+                        for (; n.firstChild;) n.parentNode.insertBefore(n.firstChild, n);
+                        n.parentNode.removeChild(n)
+                    }
+                } else v.calendarContainer.parentNode.removeChild(v.calendarContainer);
+                v.altInput && (v.input.type = "text", v.altInput.parentNode && v.altInput.parentNode.removeChild(v.altInput), delete v.altInput), v.input && (v.input.type = v.input._type, v.input.classList.remove("flatpickr-input"), v.input.removeAttribute("readonly")), ["_showTimeInput", "latestSelectedDateObj", "_hideNextMonthArrow", "_hidePrevMonthArrow", "__hideNextMonthArrow", "__hidePrevMonthArrow", "isMobile", "isOpen", "selectedDateElem", "minDateHasTime", "maxDateHasTime", "days", "daysContainer", "_input", "_positionElement", "innerContainer", "rContainer", "monthNav", "todayDateElem", "calendarContainer", "weekdayContainer", "prevMonthNav", "nextMonthNav", "monthsDropdownContainer", "currentMonthElement", "currentYearElement", "navigationCurrentMonth", "selectedDateElem", "config"].forEach((function (e) {
+                    try {
+                        delete v[e]
+                    } catch (e) {
+                    }
+                }))
+            }
+
+            function ce(e) {
+                return !(!v.config.appendTo || !v.config.appendTo.contains(e)) || v.calendarContainer.contains(e)
+            }
+
+            function he(e) {
+                if (v.isOpen && !v.config.inline) {
+                    var t = f(e), n = ce(t),
+                        i = t === v.input || t === v.altInput || v.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(v.input) || ~e.path.indexOf(v.altInput)),
+                        a = "blur" === e.type ? i && e.relatedTarget && !ce(e.relatedTarget) : !i && !n && !ce(e.relatedTarget),
+                        r = !v.config.ignoredFocusElements.some((function (e) {
+                            return e.contains(t)
+                        }));
+                    a && r && (void 0 !== v.timeContainer && void 0 !== v.minuteElement && void 0 !== v.hourElement && "" !== v.input.value && void 0 !== v.input.value && E(), v.close(), v.config && "range" === v.config.mode && 1 === v.selectedDates.length && (v.clear(!1), v.redraw()))
+                }
+            }
+
+            function me(e) {
+                if (!(!e || v.config.minDate && e < v.config.minDate.getFullYear() || v.config.maxDate && e > v.config.maxDate.getFullYear())) {
+                    var t = e, n = v.currentYear !== t;
+                    v.currentYear = t || v.currentYear, v.config.maxDate && v.currentYear === v.config.maxDate.getFullYear() ? v.currentMonth = Math.min(v.config.maxDate.getMonth(), v.currentMonth) : v.config.minDate && v.currentYear === v.config.minDate.getFullYear() && (v.currentMonth = Math.max(v.config.minDate.getMonth(), v.currentMonth)), n && (v.redraw(), Ne("onYearChange"), Q())
+                }
+            }
+
+            function fe(e, t) {
+                void 0 === t && (t = !0);
+                var n = v.parseDate(e, void 0, t);
+                if (v.config.minDate && n && x(n, v.config.minDate, void 0 !== t ? t : !v.minDateHasTime) < 0 || v.config.maxDate && n && x(n, v.config.maxDate, void 0 !== t ? t : !v.maxDateHasTime) > 0) return !1;
+                if (0 === v.config.enable.length && 0 === v.config.disable.length) return !0;
+                if (void 0 === n) return !1;
+                for (var i = v.config.enable.length > 0, a = i ? v.config.enable : v.config.disable, r = 0, l = void 0; r < a.length; r++) {
+                    if ("function" == typeof (l = a[r]) && l(n)) return i;
+                    if (l instanceof Date && void 0 !== n && l.getTime() === n.getTime()) return i;
+                    if ("string" == typeof l && void 0 !== n) {
+                        var o = v.parseDate(l, void 0, !0);
+                        return o && o.getTime() === n.getTime() ? i : !i
+                    }
+                    if ("object" == typeof l && void 0 !== n && l.from && l.to && n.getTime() >= l.from.getTime() && n.getTime() <= l.to.getTime()) return i
+                }
+                return !i
+            }
+
+            function _e(e) {
+                return void 0 !== v.daysContainer && -1 === e.className.indexOf("hidden") && -1 === e.className.indexOf("flatpickr-disabled") && v.daysContainer.contains(e)
+            }
+
+            function pe(e) {
+                e.target !== v._input || e.relatedTarget && ce(e.relatedTarget) || v.setDate(v._input.value, !0, e.target === v.altInput ? v.config.altFormat : v.config.dateFormat)
+            }
+
+            function ge(e) {
+                var t = f(e), n = v.config.wrap ? _.contains(t) : t === v._input, i = v.config.allowInput,
+                    a = v.isOpen && (!i || !n), r = v.config.inline && n && !i;
+                if (13 === e.keyCode && n) {
+                    if (i) return v.setDate(v._input.value, !0, t === v.altInput ? v.config.altFormat : v.config.dateFormat), t.blur();
+                    v.open()
+                } else if (ce(t) || a || r) {
+                    var l = !!v.timeContainer && v.timeContainer.contains(t);
+                    switch (e.keyCode) {
+                        case 13:
+                            l ? (e.preventDefault(), E(), Se()) : je(e);
+                            break;
+                        case 27:
+                            e.preventDefault(), Se();
+                            break;
+                        case 8:
+                        case 46:
+                            n && !v.config.allowInput && (e.preventDefault(), v.clear());
+                            break;
+                        case 37:
+                        case 39:
+                            if (l || n) v.hourElement && v.hourElement.focus(); else if (e.preventDefault(), void 0 !== v.daysContainer && (!1 === i || document.activeElement && _e(document.activeElement))) {
+                                var o = 39 === e.keyCode ? 1 : -1;
+                                e.ctrlKey ? (e.stopPropagation(), oe(o), K(G(1), 0)) : K(void 0, o)
+                            }
+                            break;
+                        case 38:
+                        case 40:
+                            e.preventDefault();
+                            var s = 40 === e.keyCode ? 1 : -1;
+                            v.daysContainer && void 0 !== t.$i || t === v.input || t === v.altInput ? e.ctrlKey ? (e.stopPropagation(), me(v.currentYear - s), K(G(1), 0)) : l || K(void 0, 7 * s) : t === v.currentYearElement ? me(v.currentYear - s) : v.config.enableTime && (!l && v.hourElement && v.hourElement.focus(), E(e), v._debouncedChange());
+                            break;
+                        case 9:
+                            if (l) {
+                                var d = [v.hourElement, v.minuteElement, v.secondElement, v.amPM].concat(v.pluginElements).filter((function (e) {
+                                    return e
+                                })), u = d.indexOf(t);
+                                if (-1 !== u) {
+                                    var c = d[u + (e.shiftKey ? -1 : 1)];
+                                    e.preventDefault(), (c || v._input).focus()
+                                }
+                            } else !v.config.noCalendar && v.daysContainer && v.daysContainer.contains(t) && e.shiftKey && (e.preventDefault(), v._input.focus())
+                    }
+                }
+                if (void 0 !== v.amPM && t === v.amPM) switch (e.key) {
+                    case v.l10n.amPM[0].charAt(0):
+                    case v.l10n.amPM[0].charAt(0).toLowerCase():
+                        v.amPM.textContent = v.l10n.amPM[0], A(), Ue();
+                        break;
+                    case v.l10n.amPM[1].charAt(0):
+                    case v.l10n.amPM[1].charAt(0).toLowerCase():
+                        v.amPM.textContent = v.l10n.amPM[1], A(), Ue()
+                }
+                (n || ce(t)) && Ne("onKeyDown", e)
+            }
+
+            function ye(e) {
+                if (1 === v.selectedDates.length && (!e || e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled"))) {
+                    for (var t = e ? e.dateObj.getTime() : v.days.firstElementChild.dateObj.getTime(), n = v.parseDate(v.selectedDates[0], void 0, !0).getTime(), i = Math.min(t, v.selectedDates[0].getTime()), a = Math.max(t, v.selectedDates[0].getTime()), r = !1, l = 0, o = 0, s = i; s < a; s += w.DAY) fe(new Date(s), !0) || (r = r || s > i && s < a, s < n && (!l || s > l) ? l = s : s > n && (!o || s < o) && (o = s));
+                    for (var d = 0; d < v.config.showMonths; d++) for (var u = v.daysContainer.children[d], c = function (i, a) {
+                        var s = u.children[i], d = s.dateObj.getTime(), c = l > 0 && d < l || o > 0 && d > o;
+                        return c ? (s.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach((function (e) {
+                            s.classList.remove(e)
+                        })), "continue") : r && !c ? "continue" : (["startRange", "inRange", "endRange", "notAllowed"].forEach((function (e) {
+                            s.classList.remove(e)
+                        })), void (void 0 !== e && (e.classList.add(t <= v.selectedDates[0].getTime() ? "startRange" : "endRange"), n < t && d === n ? s.classList.add("startRange") : n > t && d === n && s.classList.add("endRange"), d >= l && (0 === o || d <= o) && L(d, n, t) && s.classList.add("inRange"))))
+                    }, h = 0, m = u.children.length; h < m; h++) c(h, m)
+                }
+            }
+
+            function ve() {
+                !v.isOpen || v.config.static || v.config.inline || ke()
+            }
+
+            function Me(e, t) {
+                if (void 0 === t && (t = v._positionElement), !0 === v.isMobile) {
+                    if (e) {
+                        e.preventDefault();
+                        var n = f(e);
+                        n && n.blur()
+                    }
+                    return void 0 !== v.mobileInput && (v.mobileInput.focus(), v.mobileInput.click()), void Ne("onOpen")
+                }
+                if (!v._input.disabled && !v.config.inline) {
+                    var i = v.isOpen;
+                    v.isOpen = !0, i || (v.calendarContainer.classList.add("open"), v._input.classList.add("active"), Ne("onOpen"), ke(t)), !0 === v.config.enableTime && !0 === v.config.noCalendar && (!1 !== v.config.allowInput || void 0 !== e && v.timeContainer.contains(e.relatedTarget) || setTimeout((function () {
+                        return v.hourElement.select()
+                    }), 50))
+                }
+            }
+
+            function be(e) {
+                return function (t) {
+                    var n = v.config["_" + e + "Date"] = v.parseDate(t, v.config.dateFormat),
+                        i = v.config["_" + ("min" === e ? "max" : "min") + "Date"];
+                    void 0 !== n && (v["min" === e ? "minDateHasTime" : "maxDateHasTime"] = n.getHours() > 0 || n.getMinutes() > 0 || n.getSeconds() > 0), v.selectedDates && (v.selectedDates = v.selectedDates.filter((function (e) {
+                        return fe(e)
+                    })), v.selectedDates.length || "min" !== e || P(n), Ue()), v.daysContainer && (Te(), void 0 !== n ? v.currentYearElement[e] = n.getFullYear().toString() : v.currentYearElement.removeAttribute(e), v.currentYearElement.disabled = !!i && void 0 !== n && i.getFullYear() === n.getFullYear())
+                }
+            }
+
+            function xe() {
+                var t = ["wrap", "weekNumbers", "allowInput", "allowInvalidPreload", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"],
+                    a = e(e({}, JSON.parse(JSON.stringify(_.dataset || {}))), g), r = {};
+                v.config.parseDate = a.parseDate, v.config.formatDate = a.formatDate, Object.defineProperty(v.config, "enable", {
+                    get: function () {
+                        return v.config._enable
+                    }, set: function (e) {
+                        v.config._enable = Pe(e)
+                    }
+                }), Object.defineProperty(v.config, "disable", {
+                    get: function () {
+                        return v.config._disable
+                    }, set: function (e) {
+                        v.config._disable = Pe(e)
+                    }
+                });
+                var l = "time" === a.mode;
+                if (!a.dateFormat && (a.enableTime || l)) {
+                    var o = T.defaultConfig.dateFormat || i.dateFormat;
+                    r.dateFormat = a.noCalendar || l ? "H:i" + (a.enableSeconds ? ":S" : "") : o + " H:i" + (a.enableSeconds ? ":S" : "")
+                }
+                if (a.altInput && (a.enableTime || l) && !a.altFormat) {
+                    var d = T.defaultConfig.altFormat || i.altFormat;
+                    r.altFormat = a.noCalendar || l ? "h:i" + (a.enableSeconds ? ":S K" : " K") : d + " h:i" + (a.enableSeconds ? ":S" : "") + " K"
+                }
+                Object.defineProperty(v.config, "minDate", {
+                    get: function () {
+                        return v.config._minDate
+                    }, set: be("min")
+                }), Object.defineProperty(v.config, "maxDate", {
+                    get: function () {
+                        return v.config._maxDate
+                    }, set: be("max")
+                });
+                var u = function (e) {
+                    return function (t) {
+                        v.config["min" === e ? "_minTime" : "_maxTime"] = v.parseDate(t, "H:i:S")
+                    }
+                };
+                Object.defineProperty(v.config, "minTime", {
+                    get: function () {
+                        return v.config._minTime
+                    }, set: u("min")
+                }), Object.defineProperty(v.config, "maxTime", {
+                    get: function () {
+                        return v.config._maxTime
+                    }, set: u("max")
+                }), "time" === a.mode && (v.config.noCalendar = !0, v.config.enableTime = !0), Object.assign(v.config, r, a);
+                for (var c = 0; c < t.length; c++) v.config[t[c]] = !0 === v.config[t[c]] || "true" === v.config[t[c]];
+                for (n.filter((function (e) {
+                    return void 0 !== v.config[e]
+                })).forEach((function (e) {
+                    v.config[e] = s(v.config[e] || []).map(S)
+                })), v.isMobile = !v.config.disableMobile && !v.config.inline && "single" === v.config.mode && !v.config.disable.length && !v.config.enable.length && !v.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), c = 0; c < v.config.plugins.length; c++) {
+                    var h = v.config.plugins[c](v) || {};
+                    for (var m in h) n.indexOf(m) > -1 ? v.config[m] = s(h[m]).map(S).concat(v.config[m]) : void 0 === a[m] && (v.config[m] = h[m])
+                }
+                a.altInputClass || (v.config.altInputClass = Le().className + " " + v.config.altInputClass), Ne("onParseConfig")
+            }
+
+            function Le() {
+                return v.config.wrap ? _.querySelector("[data-input]") : _
+            }
+
+            function we() {
+                "object" != typeof v.config.locale && void 0 === T.l10ns[v.config.locale] && v.config.errorHandler(new Error("flatpickr: invalid locale " + v.config.locale)), v.l10n = e(e({}, T.l10ns.default), "object" == typeof v.config.locale ? v.config.locale : "default" !== v.config.locale ? T.l10ns[v.config.locale] : void 0), y.K = "(" + v.l10n.amPM[0] + "|" + v.l10n.amPM[1] + "|" + v.l10n.amPM[0].toLowerCase() + "|" + v.l10n.amPM[1].toLowerCase() + ")", void 0 === e(e({}, g), JSON.parse(JSON.stringify(_.dataset || {}))).time_24hr && void 0 === T.defaultConfig.time_24hr && (v.config.time_24hr = v.l10n.time_24hr), v.formatDate = M(v), v.parseDate = b({
+                    config: v.config,
+                    l10n: v.l10n
+                })
+            }
+
+            function ke(e) {
+                if (void 0 !== v.calendarContainer) {
+                    Ne("onPreCalendarPosition");
+                    var t = e || v._positionElement,
+                        n = Array.prototype.reduce.call(v.calendarContainer.children, (function (e, t) {
+                            return e + t.offsetHeight
+                        }), 0), i = v.calendarContainer.offsetWidth, a = v.config.position.split(" "), r = a[0],
+                        l = a.length > 1 ? a[1] : null, o = t.getBoundingClientRect(),
+                        s = window.innerHeight - o.bottom, u = "above" === r || "below" !== r && s < n && o.top > n,
+                        c = window.pageYOffset + o.top + (u ? -n - 2 : t.offsetHeight + 2);
+                    if (d(v.calendarContainer, "arrowTop", !u), d(v.calendarContainer, "arrowBottom", u), !v.config.inline) {
+                        var h = window.pageXOffset + o.left, m = !1, f = !1;
+                        "center" === l ? (h -= (i - o.width) / 2, m = !0) : "right" === l && (h -= i - o.width, f = !0), d(v.calendarContainer, "arrowLeft", !m && !f), d(v.calendarContainer, "arrowCenter", m), d(v.calendarContainer, "arrowRight", f);
+                        var _ = window.document.body.offsetWidth - (window.pageXOffset + o.right),
+                            p = h + i > window.document.body.offsetWidth, g = _ + i > window.document.body.offsetWidth;
+                        if (d(v.calendarContainer, "rightMost", p), !v.config.static) if (v.calendarContainer.style.top = c + "px", p) if (g) {
+                            var y = Ye();
+                            if (void 0 === y) return;
+                            var M = window.document.body.offsetWidth, b = Math.max(0, M / 2 - i / 2),
+                                x = ".flatpickr-calendar.centerMost:before", L = ".flatpickr-calendar.centerMost:after",
+                                w = y.cssRules.length, k = "{left:" + o.left + "px;right:auto;}";
+                            d(v.calendarContainer, "rightMost", !1), d(v.calendarContainer, "centerMost", !0), y.insertRule(x + "," + L + k, w), v.calendarContainer.style.left = b + "px", v.calendarContainer.style.right = "auto"
+                        } else v.calendarContainer.style.left = "auto", v.calendarContainer.style.right = _ + "px"; else v.calendarContainer.style.left = h + "px", v.calendarContainer.style.right = "auto"
+                    }
+                }
+            }
+
+            function Ye() {
+                for (var e = null, t = 0; t < document.styleSheets.length; t++) {
+                    var n = document.styleSheets[t];
+                    try {
+                        n.cssRules
+                    } catch (e) {
+                        continue
+                    }
+                    e = n;
+                    break
+                }
+                return null != e ? e : De()
+            }
+
+            function De() {
+                var e = document.createElement("style");
+                return document.head.appendChild(e), e.sheet
+            }
+
+            function Te() {
+                v.config.noCalendar || v.isMobile || (Q(), Be(), $())
+            }
+
+            function Se() {
+                v._input.focus(), -1 !== window.navigator.userAgent.indexOf("MSIE") || void 0 !== navigator.msMaxTouchPoints ? setTimeout(v.close, 0) : v.close()
+            }
+
+            function je(e) {
+                e.preventDefault(), e.stopPropagation();
+                var t = function (e) {
+                    return e.classList && e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled") && !e.classList.contains("notAllowed")
+                }, n = h(f(e), t);
+                if (void 0 !== n) {
+                    var i = n, a = v.latestSelectedDateObj = new Date(i.dateObj.getTime()),
+                        r = (a.getMonth() < v.currentMonth || a.getMonth() > v.currentMonth + v.config.showMonths - 1) && "range" !== v.config.mode;
+                    if (v.selectedDateElem = i, "single" === v.config.mode) v.selectedDates = [a]; else if ("multiple" === v.config.mode) {
+                        var l = Re(a);
+                        l ? v.selectedDates.splice(parseInt(l), 1) : v.selectedDates.push(a)
+                    } else "range" === v.config.mode && (2 === v.selectedDates.length && v.clear(!1, !1), v.latestSelectedDateObj = a, v.selectedDates.push(a), 0 !== x(a, v.selectedDates[0], !0) && v.selectedDates.sort((function (e, t) {
+                        return e.getTime() - t.getTime()
+                    })));
+                    if (A(), r) {
+                        var o = v.currentYear !== a.getFullYear();
+                        v.currentYear = a.getFullYear(), v.currentMonth = a.getMonth(), o && (Ne("onYearChange"), Q()), Ne("onMonthChange")
+                    }
+                    if (Be(), $(), Ue(), r || "range" === v.config.mode || 1 !== v.config.showMonths ? void 0 !== v.selectedDateElem && void 0 === v.hourElement && v.selectedDateElem && v.selectedDateElem.focus() : J(i), void 0 !== v.hourElement && void 0 !== v.hourElement && v.hourElement.focus(), v.config.closeOnSelect) {
+                        var s = "single" === v.config.mode && !v.config.enableTime,
+                            d = "range" === v.config.mode && 2 === v.selectedDates.length && !v.config.enableTime;
+                        (s || d) && Se()
+                    }
+                    N()
+                }
+            }
+
+            v.parseDate = b({
+                config: v.config,
+                l10n: v.l10n
+            }), v._handlers = [], v.pluginElements = [], v.loadedPlugins = [], v._bind = W, v._setHoursFromDate = P, v._positionCalendar = ke, v.changeMonth = oe, v.changeYear = me, v.clear = se, v.close = de, v._createElement = u, v.destroy = ue, v.isEnabled = fe, v.jumpToDate = R, v.open = Me, v.redraw = Te, v.set = He, v.setDate = Ae, v.toggle = We;
+            var Ee = {locale: [we, re], showMonths: [te, j, ae], minDate: [R], maxDate: [R]};
+
+            function He(e, t) {
+                if (null !== e && "object" == typeof e) for (var i in Object.assign(v.config, e), e) void 0 !== Ee[i] && Ee[i].forEach((function (e) {
+                    return e()
+                })); else v.config[e] = t, void 0 !== Ee[e] ? Ee[e].forEach((function (e) {
+                    return e()
+                })) : n.indexOf(e) > -1 && (v.config[e] = s(t));
+                v.redraw(), Ue(!0)
+            }
+
+            function Oe(e, t) {
+                var n = [];
+                if (e instanceof Array) n = e.map((function (e) {
+                    return v.parseDate(e, t)
+                })); else if (e instanceof Date || "number" == typeof e) n = [v.parseDate(e, t)]; else if ("string" == typeof e) switch (v.config.mode) {
+                    case"single":
+                    case"time":
+                        n = [v.parseDate(e, t)];
+                        break;
+                    case"multiple":
+                        n = e.split(v.config.conjunction).map((function (e) {
+                            return v.parseDate(e, t)
+                        }));
+                        break;
+                    case"range":
+                        n = e.split(v.l10n.rangeSeparator).map((function (e) {
+                            return v.parseDate(e, t)
+                        }))
+                } else v.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(e)));
+                v.selectedDates = v.config.allowInvalidPreload ? n : n.filter((function (e) {
+                    return e instanceof Date && fe(e, !1)
+                })), "range" === v.config.mode && v.selectedDates.sort((function (e, t) {
+                    return e.getTime() - t.getTime()
+                }))
+            }
+
+            function Ae(e, t, n) {
+                if (void 0 === t && (t = !1), void 0 === n && (n = v.config.dateFormat), 0 !== e && !e || e instanceof Array && 0 === e.length) return v.clear(t);
+                Oe(e, n), v.latestSelectedDateObj = v.selectedDates[v.selectedDates.length - 1], v.redraw(), R(void 0, t), P(), 0 === v.selectedDates.length && v.clear(!1), Ue(t), t && Ne("onChange")
+            }
+
+            function Pe(e) {
+                return e.slice().map((function (e) {
+                    return "string" == typeof e || "number" == typeof e || e instanceof Date ? v.parseDate(e, void 0, !0) : e && "object" == typeof e && e.from && e.to ? {
+                        from: v.parseDate(e.from, void 0),
+                        to: v.parseDate(e.to, void 0)
+                    } : e
+                })).filter((function (e) {
+                    return e
+                }))
+            }
+
+            function Ce() {
+                v.selectedDates = [], v.now = v.parseDate(v.config.now) || new Date;
+                var e = v.config.defaultDate || ("INPUT" !== v.input.nodeName && "TEXTAREA" !== v.input.nodeName || !v.input.placeholder || v.input.value !== v.input.placeholder ? v.input.value : null);
+                e && Oe(e, v.config.dateFormat), v._initialDate = v.selectedDates.length > 0 ? v.selectedDates[0] : v.config.minDate && v.config.minDate.getTime() > v.now.getTime() ? v.config.minDate : v.config.maxDate && v.config.maxDate.getTime() < v.now.getTime() ? v.config.maxDate : v.now, v.currentYear = v._initialDate.getFullYear(), v.currentMonth = v._initialDate.getMonth(), v.selectedDates.length > 0 && (v.latestSelectedDateObj = v.selectedDates[0]), void 0 !== v.config.minTime && (v.config.minTime = v.parseDate(v.config.minTime, "H:i")), void 0 !== v.config.maxTime && (v.config.maxTime = v.parseDate(v.config.maxTime, "H:i")), v.minDateHasTime = !!v.config.minDate && (v.config.minDate.getHours() > 0 || v.config.minDate.getMinutes() > 0 || v.config.minDate.getSeconds() > 0), v.maxDateHasTime = !!v.config.maxDate && (v.config.maxDate.getHours() > 0 || v.config.maxDate.getMinutes() > 0 || v.config.maxDate.getSeconds() > 0)
+            }
+
+            function Fe() {
+                v.input = Le(), v.input ? (v.input._type = v.input.type, v.input.type = "text", v.input.classList.add("flatpickr-input"), v._input = v.input, v.config.altInput && (v.altInput = u(v.input.nodeName, v.config.altInputClass), v._input = v.altInput, v.altInput.placeholder = v.input.placeholder, v.altInput.disabled = v.input.disabled, v.altInput.required = v.input.required, v.altInput.tabIndex = v.input.tabIndex, v.altInput.type = "text", v.input.setAttribute("type", "hidden"), !v.config.static && v.input.parentNode && v.input.parentNode.insertBefore(v.altInput, v.input.nextSibling)), v.config.allowInput || v._input.setAttribute("readonly", "readonly"), v._positionElement = v.config.positionElement || v._input) : v.config.errorHandler(new Error("Invalid input element specified"))
+            }
+
+            function Ie() {
+                var e = v.config.enableTime ? v.config.noCalendar ? "time" : "datetime-local" : "date";
+                v.mobileInput = u("input", v.input.className + " flatpickr-mobile"), v.mobileInput.tabIndex = 1, v.mobileInput.type = e, v.mobileInput.disabled = v.input.disabled, v.mobileInput.required = v.input.required, v.mobileInput.placeholder = v.input.placeholder, v.mobileFormatStr = "datetime-local" === e ? "Y-m-d\\TH:i:S" : "date" === e ? "Y-m-d" : "H:i:S", v.selectedDates.length > 0 && (v.mobileInput.defaultValue = v.mobileInput.value = v.formatDate(v.selectedDates[0], v.mobileFormatStr)), v.config.minDate && (v.mobileInput.min = v.formatDate(v.config.minDate, "Y-m-d")), v.config.maxDate && (v.mobileInput.max = v.formatDate(v.config.maxDate, "Y-m-d")), v.input.getAttribute("step") && (v.mobileInput.step = String(v.input.getAttribute("step"))), v.input.type = "hidden", void 0 !== v.altInput && (v.altInput.type = "hidden");
+                try {
+                    v.input.parentNode && v.input.parentNode.insertBefore(v.mobileInput, v.input.nextSibling)
+                } catch (e) {
+                }
+                W(v.mobileInput, "change", (function (e) {
+                    v.setDate(f(e).value, !1, v.mobileFormatStr), Ne("onChange"), Ne("onClose")
+                }))
+            }
+
+            function We(e) {
+                if (!0 === v.isOpen) return v.close();
+                v.open(e)
+            }
+
+            function Ne(e, t) {
+                if (void 0 !== v.config) {
+                    var n = v.config[e];
+                    if (void 0 !== n && n.length > 0) for (var i = 0; n[i] && i < n.length; i++) n[i](v.selectedDates, v.input.value, v, t);
+                    "onChange" === e && (v.input.dispatchEvent(ze("change")), v.input.dispatchEvent(ze("input")))
+                }
+            }
+
+            function ze(e) {
+                var t = document.createEvent("Event");
+                return t.initEvent(e, !0, !0), t
+            }
+
+            function Re(e) {
+                for (var t = 0; t < v.selectedDates.length; t++) if (0 === x(v.selectedDates[t], e)) return "" + t;
+                return !1
+            }
+
+            function Ve(e) {
+                return !("range" !== v.config.mode || v.selectedDates.length < 2) && x(e, v.selectedDates[0]) >= 0 && x(e, v.selectedDates[1]) <= 0
+            }
+
+            function Be() {
+                v.config.noCalendar || v.isMobile || !v.monthNav || (v.yearElements.forEach((function (e, t) {
+                    var n = new Date(v.currentYear, v.currentMonth, 1);
+                    n.setMonth(v.currentMonth + t), v.config.showMonths > 1 || "static" === v.config.monthSelectorType ? v.monthElements[t].textContent = p(n.getMonth(), v.config.shorthandCurrentMonth, v.l10n) + " " : v.monthsDropdownContainer.value = n.getMonth().toString(), e.value = n.getFullYear().toString()
+                })), v._hidePrevMonthArrow = void 0 !== v.config.minDate && (v.currentYear === v.config.minDate.getFullYear() ? v.currentMonth <= v.config.minDate.getMonth() : v.currentYear < v.config.minDate.getFullYear()), v._hideNextMonthArrow = void 0 !== v.config.maxDate && (v.currentYear === v.config.maxDate.getFullYear() ? v.currentMonth + 1 > v.config.maxDate.getMonth() : v.currentYear > v.config.maxDate.getFullYear()))
+            }
+
+            function Ze(e) {
+                return v.selectedDates.map((function (t) {
+                    return v.formatDate(t, e)
+                })).filter((function (e, t, n) {
+                    return "range" !== v.config.mode || v.config.enableTime || n.indexOf(e) === t
+                })).join("range" !== v.config.mode ? v.config.conjunction : v.l10n.rangeSeparator)
+            }
+
+            function Ue(e) {
+                void 0 === e && (e = !0), void 0 !== v.mobileInput && v.mobileFormatStr && (v.mobileInput.value = void 0 !== v.latestSelectedDateObj ? v.formatDate(v.latestSelectedDateObj, v.mobileFormatStr) : ""), v.input.value = Ze(v.config.dateFormat), void 0 !== v.altInput && (v.altInput.value = Ze(v.config.altFormat)), !1 !== e && Ne("onValueUpdate")
+            }
+
+            function Je(e) {
+                var t = f(e), n = v.prevMonthNav.contains(t), i = v.nextMonthNav.contains(t);
+                n || i ? oe(n ? -1 : 1) : v.yearElements.indexOf(t) >= 0 ? t.select() : t.classList.contains("arrowUp") ? v.changeYear(v.currentYear + 1) : t.classList.contains("arrowDown") && v.changeYear(v.currentYear - 1)
+            }
+
+            function Ge(e) {
+                e.preventDefault();
+                var t = "keydown" === e.type, n = f(e), i = n;
+                void 0 !== v.amPM && n === v.amPM && (v.amPM.textContent = v.l10n.amPM[l(v.amPM.textContent === v.l10n.amPM[0])]);
+                var a = parseFloat(i.getAttribute("min")), o = parseFloat(i.getAttribute("max")),
+                    s = parseFloat(i.getAttribute("step")), d = parseInt(i.value, 10),
+                    u = d + s * (e.delta || (t ? 38 === e.which ? 1 : -1 : 0));
+                if (void 0 !== i.value && 2 === i.value.length) {
+                    var c = i === v.hourElement, h = i === v.minuteElement;
+                    u < a ? (u = o + u + l(!c) + (l(c) && l(!v.amPM)), h && B(void 0, -1, v.hourElement)) : u > o && (u = i === v.hourElement ? u - o - l(!v.amPM) : a, h && B(void 0, 1, v.hourElement)), v.amPM && c && (1 === s ? u + d === 23 : Math.abs(u - d) > s) && (v.amPM.textContent = v.l10n.amPM[l(v.amPM.textContent === v.l10n.amPM[0])]), i.value = r(u)
+                }
+            }
+
+            return D(), v
+        }
+
+        function D(e, t) {
+            for (var n = Array.prototype.slice.call(e).filter((function (e) {
+                return e instanceof HTMLElement
+            })), i = [], a = 0; a < n.length; a++) {
+                var r = n[a];
+                try {
+                    if (null !== r.getAttribute("data-fp-omit")) continue;
+                    void 0 !== r._flatpickr && (r._flatpickr.destroy(), r._flatpickr = void 0), r._flatpickr = Y(r, t || {}), i.push(r._flatpickr)
+                } catch (e) {
+                    console.error(e)
+                }
+            }
+            return 1 === i.length ? i[0] : i
+        }
+
+        "undefined" != typeof HTMLElement && "undefined" != typeof HTMLCollection && "undefined" != typeof NodeList && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (e) {
+            return D(this, e)
+        }, HTMLElement.prototype.flatpickr = function (e) {
+            return D([this], e)
+        });
+        var T = function (e, t) {
+            return "string" == typeof e ? D(window.document.querySelectorAll(e), t) : e instanceof Node ? D([e], t) : D(e, t)
+        };
+        return T.defaultConfig = {}, T.l10ns = {en: e({}, a), default: e({}, a)}, T.localize = function (t) {
+            T.l10ns.default = e(e({}, T.l10ns.default), t)
+        }, T.setDefaults = function (t) {
+            T.defaultConfig = e(e({}, T.defaultConfig), t)
+        }, T.parseDate = b({}), T.formatDate = M({}), T.compareDates = x, "undefined" != typeof jQuery && void 0 !== jQuery.fn && (jQuery.fn.flatpickr = function (e) {
+            return D(this, e)
+        }), Date.prototype.fp_incr = function (e) {
+            return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e))
+        }, "undefined" != typeof window && (window.flatpickr = T), T
+    }()
+}, function (e, t, n) {
+    e.exports = function (e) {
+        "use strict";
+
+        function t(e, t) {
+            return e(t = {exports: {}}, t.exports), t.exports
+        }
+
+        function n(e) {
+            return e && e.default || e
+        }
+
+        e = e && e.hasOwnProperty("default") ? e.default : e;
+        var i = {
+            aliceblue: [240, 248, 255],
+            antiquewhite: [250, 235, 215],
+            aqua: [0, 255, 255],
+            aquamarine: [127, 255, 212],
+            azure: [240, 255, 255],
+            beige: [245, 245, 220],
+            bisque: [255, 228, 196],
+            black: [0, 0, 0],
+            blanchedalmond: [255, 235, 205],
+            blue: [0, 0, 255],
+            blueviolet: [138, 43, 226],
+            brown: [165, 42, 42],
+            burlywood: [222, 184, 135],
+            cadetblue: [95, 158, 160],
+            chartreuse: [127, 255, 0],
+            chocolate: [210, 105, 30],
+            coral: [255, 127, 80],
+            cornflowerblue: [100, 149, 237],
+            cornsilk: [255, 248, 220],
+            crimson: [220, 20, 60],
+            cyan: [0, 255, 255],
+            darkblue: [0, 0, 139],
+            darkcyan: [0, 139, 139],
+            darkgoldenrod: [184, 134, 11],
+            darkgray: [169, 169, 169],
+            darkgreen: [0, 100, 0],
+            darkgrey: [169, 169, 169],
+            darkkhaki: [189, 183, 107],
+            darkmagenta: [139, 0, 139],
+            darkolivegreen: [85, 107, 47],
+            darkorange: [255, 140, 0],
+            darkorchid: [153, 50, 204],
+            darkred: [139, 0, 0],
+            darksalmon: [233, 150, 122],
+            darkseagreen: [143, 188, 143],
+            darkslateblue: [72, 61, 139],
+            darkslategray: [47, 79, 79],
+            darkslategrey: [47, 79, 79],
+            darkturquoise: [0, 206, 209],
+            darkviolet: [148, 0, 211],
+            deeppink: [255, 20, 147],
+            deepskyblue: [0, 191, 255],
+            dimgray: [105, 105, 105],
+            dimgrey: [105, 105, 105],
+            dodgerblue: [30, 144, 255],
+            firebrick: [178, 34, 34],
+            floralwhite: [255, 250, 240],
+            forestgreen: [34, 139, 34],
+            fuchsia: [255, 0, 255],
+            gainsboro: [220, 220, 220],
+            ghostwhite: [248, 248, 255],
+            gold: [255, 215, 0],
+            goldenrod: [218, 165, 32],
+            gray: [128, 128, 128],
+            green: [0, 128, 0],
+            greenyellow: [173, 255, 47],
+            grey: [128, 128, 128],
+            honeydew: [240, 255, 240],
+            hotpink: [255, 105, 180],
+            indianred: [205, 92, 92],
+            indigo: [75, 0, 130],
+            ivory: [255, 255, 240],
+            khaki: [240, 230, 140],
+            lavender: [230, 230, 250],
+            lavenderblush: [255, 240, 245],
+            lawngreen: [124, 252, 0],
+            lemonchiffon: [255, 250, 205],
+            lightblue: [173, 216, 230],
+            lightcoral: [240, 128, 128],
+            lightcyan: [224, 255, 255],
+            lightgoldenrodyellow: [250, 250, 210],
+            lightgray: [211, 211, 211],
+            lightgreen: [144, 238, 144],
+            lightgrey: [211, 211, 211],
+            lightpink: [255, 182, 193],
+            lightsalmon: [255, 160, 122],
+            lightseagreen: [32, 178, 170],
+            lightskyblue: [135, 206, 250],
+            lightslategray: [119, 136, 153],
+            lightslategrey: [119, 136, 153],
+            lightsteelblue: [176, 196, 222],
+            lightyellow: [255, 255, 224],
+            lime: [0, 255, 0],
+            limegreen: [50, 205, 50],
+            linen: [250, 240, 230],
+            magenta: [255, 0, 255],
+            maroon: [128, 0, 0],
+            mediumaquamarine: [102, 205, 170],
+            mediumblue: [0, 0, 205],
+            mediumorchid: [186, 85, 211],
+            mediumpurple: [147, 112, 219],
+            mediumseagreen: [60, 179, 113],
+            mediumslateblue: [123, 104, 238],
+            mediumspringgreen: [0, 250, 154],
+            mediumturquoise: [72, 209, 204],
+            mediumvioletred: [199, 21, 133],
+            midnightblue: [25, 25, 112],
+            mintcream: [245, 255, 250],
+            mistyrose: [255, 228, 225],
+            moccasin: [255, 228, 181],
+            navajowhite: [255, 222, 173],
+            navy: [0, 0, 128],
+            oldlace: [253, 245, 230],
+            olive: [128, 128, 0],
+            olivedrab: [107, 142, 35],
+            orange: [255, 165, 0],
+            orangered: [255, 69, 0],
+            orchid: [218, 112, 214],
+            palegoldenrod: [238, 232, 170],
+            palegreen: [152, 251, 152],
+            paleturquoise: [175, 238, 238],
+            palevioletred: [219, 112, 147],
+            papayawhip: [255, 239, 213],
+            peachpuff: [255, 218, 185],
+            peru: [205, 133, 63],
+            pink: [255, 192, 203],
+            plum: [221, 160, 221],
+            powderblue: [176, 224, 230],
+            purple: [128, 0, 128],
+            rebeccapurple: [102, 51, 153],
+            red: [255, 0, 0],
+            rosybrown: [188, 143, 143],
+            royalblue: [65, 105, 225],
+            saddlebrown: [139, 69, 19],
+            salmon: [250, 128, 114],
+            sandybrown: [244, 164, 96],
+            seagreen: [46, 139, 87],
+            seashell: [255, 245, 238],
+            sienna: [160, 82, 45],
+            silver: [192, 192, 192],
+            skyblue: [135, 206, 235],
+            slateblue: [106, 90, 205],
+            slategray: [112, 128, 144],
+            slategrey: [112, 128, 144],
+            snow: [255, 250, 250],
+            springgreen: [0, 255, 127],
+            steelblue: [70, 130, 180],
+            tan: [210, 180, 140],
+            teal: [0, 128, 128],
+            thistle: [216, 191, 216],
+            tomato: [255, 99, 71],
+            turquoise: [64, 224, 208],
+            violet: [238, 130, 238],
+            wheat: [245, 222, 179],
+            white: [255, 255, 255],
+            whitesmoke: [245, 245, 245],
+            yellow: [255, 255, 0],
+            yellowgreen: [154, 205, 50]
+        }, a = t((function (e) {
+            var t = {};
+            for (var n in i) i.hasOwnProperty(n) && (t[i[n]] = n);
+            var a = e.exports = {
+                rgb: {channels: 3, labels: "rgb"},
+                hsl: {channels: 3, labels: "hsl"},
+                hsv: {channels: 3, labels: "hsv"},
+                hwb: {channels: 3, labels: "hwb"},
+                cmyk: {channels: 4, labels: "cmyk"},
+                xyz: {channels: 3, labels: "xyz"},
+                lab: {channels: 3, labels: "lab"},
+                lch: {channels: 3, labels: "lch"},
+                hex: {channels: 1, labels: ["hex"]},
+                keyword: {channels: 1, labels: ["keyword"]},
+                ansi16: {channels: 1, labels: ["ansi16"]},
+                ansi256: {channels: 1, labels: ["ansi256"]},
+                hcg: {channels: 3, labels: ["h", "c", "g"]},
+                apple: {channels: 3, labels: ["r16", "g16", "b16"]},
+                gray: {channels: 1, labels: ["gray"]}
+            };
+            for (var r in a) if (a.hasOwnProperty(r)) {
+                if (!("channels" in a[r])) throw new Error("missing channels property: " + r);
+                if (!("labels" in a[r])) throw new Error("missing channel labels property: " + r);
+                if (a[r].labels.length !== a[r].channels) throw new Error("channel and label counts mismatch: " + r);
+                var l = a[r].channels, o = a[r].labels;
+                delete a[r].channels, delete a[r].labels, Object.defineProperty(a[r], "channels", {value: l}), Object.defineProperty(a[r], "labels", {value: o})
+            }
+
+            function s(e, t) {
+                return Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
+            }
+
+            a.rgb.hsl = function (e) {
+                var t, n, i = e[0] / 255, a = e[1] / 255, r = e[2] / 255, l = Math.min(i, a, r), o = Math.max(i, a, r),
+                    s = o - l;
+                return o === l ? t = 0 : i === o ? t = (a - r) / s : a === o ? t = 2 + (r - i) / s : r === o && (t = 4 + (i - a) / s), (t = Math.min(60 * t, 360)) < 0 && (t += 360), n = (l + o) / 2, [t, 100 * (o === l ? 0 : n <= .5 ? s / (o + l) : s / (2 - o - l)), 100 * n]
+            }, a.rgb.hsv = function (e) {
+                var t, n, i, a, r, l = e[0] / 255, o = e[1] / 255, s = e[2] / 255, d = Math.max(l, o, s),
+                    u = d - Math.min(l, o, s), c = function (e) {
+                        return (d - e) / 6 / u + .5
+                    };
+                return 0 === u ? a = r = 0 : (r = u / d, t = c(l), n = c(o), i = c(s), l === d ? a = i - n : o === d ? a = 1 / 3 + t - i : s === d && (a = 2 / 3 + n - t), a < 0 ? a += 1 : a > 1 && (a -= 1)), [360 * a, 100 * r, 100 * d]
+            }, a.rgb.hwb = function (e) {
+                var t = e[0], n = e[1], i = e[2];
+                return [a.rgb.hsl(e)[0], 1 / 255 * Math.min(t, Math.min(n, i)) * 100, 100 * (i = 1 - 1 / 255 * Math.max(t, Math.max(n, i)))]
+            }, a.rgb.cmyk = function (e) {
+                var t, n = e[0] / 255, i = e[1] / 255, a = e[2] / 255;
+                return [100 * ((1 - n - (t = Math.min(1 - n, 1 - i, 1 - a))) / (1 - t) || 0), 100 * ((1 - i - t) / (1 - t) || 0), 100 * ((1 - a - t) / (1 - t) || 0), 100 * t]
+            }, a.rgb.keyword = function (e) {
+                var n = t[e];
+                if (n) return n;
+                var a, r = 1 / 0;
+                for (var l in i) if (i.hasOwnProperty(l)) {
+                    var o = s(e, i[l]);
+                    o < r && (r = o, a = l)
+                }
+                return a
+            }, a.keyword.rgb = function (e) {
+                return i[e]
+            }, a.rgb.xyz = function (e) {
+                var t = e[0] / 255, n = e[1] / 255, i = e[2] / 255;
+                return [100 * (.4124 * (t = t > .04045 ? Math.pow((t + .055) / 1.055, 2.4) : t / 12.92) + .3576 * (n = n > .04045 ? Math.pow((n + .055) / 1.055, 2.4) : n / 12.92) + .1805 * (i = i > .04045 ? Math.pow((i + .055) / 1.055, 2.4) : i / 12.92)), 100 * (.2126 * t + .7152 * n + .0722 * i), 100 * (.0193 * t + .1192 * n + .9505 * i)]
+            }, a.rgb.lab = function (e) {
+                var t = a.rgb.xyz(e), n = t[0], i = t[1], r = t[2];
+                return i /= 100, r /= 108.883, n = (n /= 95.047) > .008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116, [116 * (i = i > .008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116) - 16, 500 * (n - i), 200 * (i - (r = r > .008856 ? Math.pow(r, 1 / 3) : 7.787 * r + 16 / 116))]
+            }, a.hsl.rgb = function (e) {
+                var t, n, i, a, r, l = e[0] / 360, o = e[1] / 100, s = e[2] / 100;
+                if (0 === o) return [r = 255 * s, r, r];
+                t = 2 * s - (n = s < .5 ? s * (1 + o) : s + o - s * o), a = [0, 0, 0];
+                for (var d = 0; d < 3; d++) (i = l + 1 / 3 * -(d - 1)) < 0 && i++, i > 1 && i--, r = 6 * i < 1 ? t + 6 * (n - t) * i : 2 * i < 1 ? n : 3 * i < 2 ? t + (n - t) * (2 / 3 - i) * 6 : t, a[d] = 255 * r;
+                return a
+            }, a.hsl.hsv = function (e) {
+                var t = e[0], n = e[1] / 100, i = e[2] / 100, a = n, r = Math.max(i, .01);
+                return n *= (i *= 2) <= 1 ? i : 2 - i, a *= r <= 1 ? r : 2 - r, [t, 100 * (0 === i ? 2 * a / (r + a) : 2 * n / (i + n)), (i + n) / 2 * 100]
+            }, a.hsv.rgb = function (e) {
+                var t = e[0] / 60, n = e[1] / 100, i = e[2] / 100, a = Math.floor(t) % 6, r = t - Math.floor(t),
+                    l = 255 * i * (1 - n), o = 255 * i * (1 - n * r), s = 255 * i * (1 - n * (1 - r));
+                switch (i *= 255, a) {
+                    case 0:
+                        return [i, s, l];
+                    case 1:
+                        return [o, i, l];
+                    case 2:
+                        return [l, i, s];
+                    case 3:
+                        return [l, o, i];
+                    case 4:
+                        return [s, l, i];
+                    case 5:
+                        return [i, l, o]
+                }
+            }, a.hsv.hsl = function (e) {
+                var t, n, i, a = e[0], r = e[1] / 100, l = e[2] / 100, o = Math.max(l, .01);
+                return i = (2 - r) * l, n = r * o, [a, 100 * (n = (n /= (t = (2 - r) * o) <= 1 ? t : 2 - t) || 0), 100 * (i /= 2)]
+            }, a.hwb.rgb = function (e) {
+                var t, n, i, a, r, l, o, s = e[0] / 360, d = e[1] / 100, u = e[2] / 100, c = d + u;
+                switch (c > 1 && (d /= c, u /= c), i = 6 * s - (t = Math.floor(6 * s)), 0 != (1 & t) && (i = 1 - i), a = d + i * ((n = 1 - u) - d), t) {
+                    default:
+                    case 6:
+                    case 0:
+                        r = n, l = a, o = d;
+                        break;
+                    case 1:
+                        r = a, l = n, o = d;
+                        break;
+                    case 2:
+                        r = d, l = n, o = a;
+                        break;
+                    case 3:
+                        r = d, l = a, o = n;
+                        break;
+                    case 4:
+                        r = a, l = d, o = n;
+                        break;
+                    case 5:
+                        r = n, l = d, o = a
+                }
+                return [255 * r, 255 * l, 255 * o]
+            }, a.cmyk.rgb = function (e) {
+                var t = e[0] / 100, n = e[1] / 100, i = e[2] / 100, a = e[3] / 100;
+                return [255 * (1 - Math.min(1, t * (1 - a) + a)), 255 * (1 - Math.min(1, n * (1 - a) + a)), 255 * (1 - Math.min(1, i * (1 - a) + a))]
+            }, a.xyz.rgb = function (e) {
+                var t, n, i, a = e[0] / 100, r = e[1] / 100, l = e[2] / 100;
+                return n = -.9689 * a + 1.8758 * r + .0415 * l, i = .0557 * a + -.204 * r + 1.057 * l, t = (t = 3.2406 * a + -1.5372 * r + -.4986 * l) > .0031308 ? 1.055 * Math.pow(t, 1 / 2.4) - .055 : 12.92 * t, n = n > .0031308 ? 1.055 * Math.pow(n, 1 / 2.4) - .055 : 12.92 * n, i = i > .0031308 ? 1.055 * Math.pow(i, 1 / 2.4) - .055 : 12.92 * i, [255 * (t = Math.min(Math.max(0, t), 1)), 255 * (n = Math.min(Math.max(0, n), 1)), 255 * (i = Math.min(Math.max(0, i), 1))]
+            }, a.xyz.lab = function (e) {
+                var t = e[0], n = e[1], i = e[2];
+                return n /= 100, i /= 108.883, t = (t /= 95.047) > .008856 ? Math.pow(t, 1 / 3) : 7.787 * t + 16 / 116, [116 * (n = n > .008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116) - 16, 500 * (t - n), 200 * (n - (i = i > .008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116))]
+            }, a.lab.xyz = function (e) {
+                var t, n, i, a = e[0];
+                t = e[1] / 500 + (n = (a + 16) / 116), i = n - e[2] / 200;
+                var r = Math.pow(n, 3), l = Math.pow(t, 3), o = Math.pow(i, 3);
+                return n = r > .008856 ? r : (n - 16 / 116) / 7.787, t = l > .008856 ? l : (t - 16 / 116) / 7.787, i = o > .008856 ? o : (i - 16 / 116) / 7.787, [t *= 95.047, n *= 100, i *= 108.883]
+            }, a.lab.lch = function (e) {
+                var t, n = e[0], i = e[1], a = e[2];
+                return (t = 360 * Math.atan2(a, i) / 2 / Math.PI) < 0 && (t += 360), [n, Math.sqrt(i * i + a * a), t]
+            }, a.lch.lab = function (e) {
+                var t, n = e[0], i = e[1];
+                return t = e[2] / 360 * 2 * Math.PI, [n, i * Math.cos(t), i * Math.sin(t)]
+            }, a.rgb.ansi16 = function (e) {
+                var t = e[0], n = e[1], i = e[2], r = 1 in arguments ? arguments[1] : a.rgb.hsv(e)[2];
+                if (0 === (r = Math.round(r / 50))) return 30;
+                var l = 30 + (Math.round(i / 255) << 2 | Math.round(n / 255) << 1 | Math.round(t / 255));
+                return 2 === r && (l += 60), l
+            }, a.hsv.ansi16 = function (e) {
+                return a.rgb.ansi16(a.hsv.rgb(e), e[2])
+            }, a.rgb.ansi256 = function (e) {
+                var t = e[0], n = e[1], i = e[2];
+                return t === n && n === i ? t < 8 ? 16 : t > 248 ? 231 : Math.round((t - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(t / 255 * 5) + 6 * Math.round(n / 255 * 5) + Math.round(i / 255 * 5)
+            }, a.ansi16.rgb = function (e) {
+                var t = e % 10;
+                if (0 === t || 7 === t) return e > 50 && (t += 3.5), [t = t / 10.5 * 255, t, t];
+                var n = .5 * (1 + ~~(e > 50));
+                return [(1 & t) * n * 255, (t >> 1 & 1) * n * 255, (t >> 2 & 1) * n * 255]
+            }, a.ansi256.rgb = function (e) {
+                if (e >= 232) {
+                    var t = 10 * (e - 232) + 8;
+                    return [t, t, t]
+                }
+                var n;
+                return e -= 16, [Math.floor(e / 36) / 5 * 255, Math.floor((n = e % 36) / 6) / 5 * 255, n % 6 / 5 * 255]
+            }, a.rgb.hex = function (e) {
+                var t = (((255 & Math.round(e[0])) << 16) + ((255 & Math.round(e[1])) << 8) + (255 & Math.round(e[2]))).toString(16).toUpperCase();
+                return "000000".substring(t.length) + t
+            }, a.hex.rgb = function (e) {
+                var t = e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
+                if (!t) return [0, 0, 0];
+                var n = t[0];
+                3 === t[0].length && (n = n.split("").map((function (e) {
+                    return e + e
+                })).join(""));
+                var i = parseInt(n, 16);
+                return [i >> 16 & 255, i >> 8 & 255, 255 & i]
+            }, a.rgb.hcg = function (e) {
+                var t, n = e[0] / 255, i = e[1] / 255, a = e[2] / 255, r = Math.max(Math.max(n, i), a),
+                    l = Math.min(Math.min(n, i), a), o = r - l;
+                return t = o <= 0 ? 0 : r === n ? (i - a) / o % 6 : r === i ? 2 + (a - n) / o : 4 + (n - i) / o + 4, t /= 6, [360 * (t %= 1), 100 * o, 100 * (o < 1 ? l / (1 - o) : 0)]
+            }, a.hsl.hcg = function (e) {
+                var t = e[1] / 100, n = e[2] / 100, i = 1, a = 0;
+                return (i = n < .5 ? 2 * t * n : 2 * t * (1 - n)) < 1 && (a = (n - .5 * i) / (1 - i)), [e[0], 100 * i, 100 * a]
+            }, a.hsv.hcg = function (e) {
+                var t = e[1] / 100, n = e[2] / 100, i = t * n, a = 0;
+                return i < 1 && (a = (n - i) / (1 - i)), [e[0], 100 * i, 100 * a]
+            }, a.hcg.rgb = function (e) {
+                var t = e[0] / 360, n = e[1] / 100, i = e[2] / 100;
+                if (0 === n) return [255 * i, 255 * i, 255 * i];
+                var a = [0, 0, 0], r = t % 1 * 6, l = r % 1, o = 1 - l, s = 0;
+                switch (Math.floor(r)) {
+                    case 0:
+                        a[0] = 1, a[1] = l, a[2] = 0;
+                        break;
+                    case 1:
+                        a[0] = o, a[1] = 1, a[2] = 0;
+                        break;
+                    case 2:
+                        a[0] = 0, a[1] = 1, a[2] = l;
+                        break;
+                    case 3:
+                        a[0] = 0, a[1] = o, a[2] = 1;
+                        break;
+                    case 4:
+                        a[0] = l, a[1] = 0, a[2] = 1;
+                        break;
+                    default:
+                        a[0] = 1, a[1] = 0, a[2] = o
+                }
+                return s = (1 - n) * i, [255 * (n * a[0] + s), 255 * (n * a[1] + s), 255 * (n * a[2] + s)]
+            }, a.hcg.hsv = function (e) {
+                var t = e[1] / 100, n = t + e[2] / 100 * (1 - t), i = 0;
+                return n > 0 && (i = t / n), [e[0], 100 * i, 100 * n]
+            }, a.hcg.hsl = function (e) {
+                var t = e[1] / 100, n = e[2] / 100 * (1 - t) + .5 * t, i = 0;
+                return n > 0 && n < .5 ? i = t / (2 * n) : n >= .5 && n < 1 && (i = t / (2 * (1 - n))), [e[0], 100 * i, 100 * n]
+            }, a.hcg.hwb = function (e) {
+                var t = e[1] / 100, n = t + e[2] / 100 * (1 - t);
+                return [e[0], 100 * (n - t), 100 * (1 - n)]
+            }, a.hwb.hcg = function (e) {
+                var t = e[1] / 100, n = 1 - e[2] / 100, i = n - t, a = 0;
+                return i < 1 && (a = (n - i) / (1 - i)), [e[0], 100 * i, 100 * a]
+            }, a.apple.rgb = function (e) {
+                return [e[0] / 65535 * 255, e[1] / 65535 * 255, e[2] / 65535 * 255]
+            }, a.rgb.apple = function (e) {
+                return [e[0] / 255 * 65535, e[1] / 255 * 65535, e[2] / 255 * 65535]
+            }, a.gray.rgb = function (e) {
+                return [e[0] / 100 * 255, e[0] / 100 * 255, e[0] / 100 * 255]
+            }, a.gray.hsl = a.gray.hsv = function (e) {
+                return [0, 0, e[0]]
+            }, a.gray.hwb = function (e) {
+                return [0, 100, e[0]]
+            }, a.gray.cmyk = function (e) {
+                return [0, 0, 0, e[0]]
+            }, a.gray.lab = function (e) {
+                return [e[0], 0, 0]
+            }, a.gray.hex = function (e) {
+                var t = 255 & Math.round(e[0] / 100 * 255), n = ((t << 16) + (t << 8) + t).toString(16).toUpperCase();
+                return "000000".substring(n.length) + n
+            }, a.rgb.gray = function (e) {
+                return [(e[0] + e[1] + e[2]) / 3 / 255 * 100]
+            }
+        }));
+
+        function r() {
+            for (var e = {}, t = Object.keys(a), n = t.length, i = 0; i < n; i++) e[t[i]] = {
+                distance: -1,
+                parent: null
+            };
+            return e
+        }
+
+        function l(e) {
+            var t = r(), n = [e];
+            for (t[e].distance = 0; n.length;) for (var i = n.pop(), l = Object.keys(a[i]), o = l.length, s = 0; s < o; s++) {
+                var d = l[s], u = t[d];
+                -1 === u.distance && (u.distance = t[i].distance + 1, u.parent = i, n.unshift(d))
+            }
+            return t
+        }
+
+        function o(e, t) {
+            return function (n) {
+                return t(e(n))
+            }
+        }
+
+        function s(e, t) {
+            for (var n = [t[e].parent, e], i = a[t[e].parent][e], r = t[e].parent; t[r].parent;) n.unshift(t[r].parent), i = o(a[t[r].parent][r], i), r = t[r].parent;
+            return i.conversion = n, i
+        }
+
+        a.rgb, a.hsl, a.hsv, a.hwb, a.cmyk, a.xyz, a.lab, a.lch, a.hex, a.keyword, a.ansi16, a.ansi256, a.hcg, a.apple, a.gray;
+        var d = function (e) {
+            for (var t = l(e), n = {}, i = Object.keys(t), a = i.length, r = 0; r < a; r++) {
+                var o = i[r];
+                null !== t[o].parent && (n[o] = s(o, t))
+            }
+            return n
+        }, u = {};
+
+        function c(e) {
+            var t = function (t) {
+                return null == t ? t : (arguments.length > 1 && (t = Array.prototype.slice.call(arguments)), e(t))
+            };
+            return "conversion" in e && (t.conversion = e.conversion), t
+        }
+
+        function h(e) {
+            var t = function (t) {
+                if (null == t) return t;
+                arguments.length > 1 && (t = Array.prototype.slice.call(arguments));
+                var n = e(t);
+                if ("object" == typeof n) for (var i = n.length, a = 0; a < i; a++) n[a] = Math.round(n[a]);
+                return n
+            };
+            return "conversion" in e && (t.conversion = e.conversion), t
+        }
+
+        Object.keys(a).forEach((function (e) {
+            u[e] = {}, Object.defineProperty(u[e], "channels", {value: a[e].channels}), Object.defineProperty(u[e], "labels", {value: a[e].labels});
+            var t = d(e);
+            Object.keys(t).forEach((function (n) {
+                var i = t[n];
+                u[e][n] = h(i), u[e][n].raw = c(i)
+            }))
+        }));
+        var m = u, f = {
+            aliceblue: [240, 248, 255],
+            antiquewhite: [250, 235, 215],
+            aqua: [0, 255, 255],
+            aquamarine: [127, 255, 212],
+            azure: [240, 255, 255],
+            beige: [245, 245, 220],
+            bisque: [255, 228, 196],
+            black: [0, 0, 0],
+            blanchedalmond: [255, 235, 205],
+            blue: [0, 0, 255],
+            blueviolet: [138, 43, 226],
+            brown: [165, 42, 42],
+            burlywood: [222, 184, 135],
+            cadetblue: [95, 158, 160],
+            chartreuse: [127, 255, 0],
+            chocolate: [210, 105, 30],
+            coral: [255, 127, 80],
+            cornflowerblue: [100, 149, 237],
+            cornsilk: [255, 248, 220],
+            crimson: [220, 20, 60],
+            cyan: [0, 255, 255],
+            darkblue: [0, 0, 139],
+            darkcyan: [0, 139, 139],
+            darkgoldenrod: [184, 134, 11],
+            darkgray: [169, 169, 169],
+            darkgreen: [0, 100, 0],
+            darkgrey: [169, 169, 169],
+            darkkhaki: [189, 183, 107],
+            darkmagenta: [139, 0, 139],
+            darkolivegreen: [85, 107, 47],
+            darkorange: [255, 140, 0],
+            darkorchid: [153, 50, 204],
+            darkred: [139, 0, 0],
+            darksalmon: [233, 150, 122],
+            darkseagreen: [143, 188, 143],
+            darkslateblue: [72, 61, 139],
+            darkslategray: [47, 79, 79],
+            darkslategrey: [47, 79, 79],
+            darkturquoise: [0, 206, 209],
+            darkviolet: [148, 0, 211],
+            deeppink: [255, 20, 147],
+            deepskyblue: [0, 191, 255],
+            dimgray: [105, 105, 105],
+            dimgrey: [105, 105, 105],
+            dodgerblue: [30, 144, 255],
+            firebrick: [178, 34, 34],
+            floralwhite: [255, 250, 240],
+            forestgreen: [34, 139, 34],
+            fuchsia: [255, 0, 255],
+            gainsboro: [220, 220, 220],
+            ghostwhite: [248, 248, 255],
+            gold: [255, 215, 0],
+            goldenrod: [218, 165, 32],
+            gray: [128, 128, 128],
+            green: [0, 128, 0],
+            greenyellow: [173, 255, 47],
+            grey: [128, 128, 128],
+            honeydew: [240, 255, 240],
+            hotpink: [255, 105, 180],
+            indianred: [205, 92, 92],
+            indigo: [75, 0, 130],
+            ivory: [255, 255, 240],
+            khaki: [240, 230, 140],
+            lavender: [230, 230, 250],
+            lavenderblush: [255, 240, 245],
+            lawngreen: [124, 252, 0],
+            lemonchiffon: [255, 250, 205],
+            lightblue: [173, 216, 230],
+            lightcoral: [240, 128, 128],
+            lightcyan: [224, 255, 255],
+            lightgoldenrodyellow: [250, 250, 210],
+            lightgray: [211, 211, 211],
+            lightgreen: [144, 238, 144],
+            lightgrey: [211, 211, 211],
+            lightpink: [255, 182, 193],
+            lightsalmon: [255, 160, 122],
+            lightseagreen: [32, 178, 170],
+            lightskyblue: [135, 206, 250],
+            lightslategray: [119, 136, 153],
+            lightslategrey: [119, 136, 153],
+            lightsteelblue: [176, 196, 222],
+            lightyellow: [255, 255, 224],
+            lime: [0, 255, 0],
+            limegreen: [50, 205, 50],
+            linen: [250, 240, 230],
+            magenta: [255, 0, 255],
+            maroon: [128, 0, 0],
+            mediumaquamarine: [102, 205, 170],
+            mediumblue: [0, 0, 205],
+            mediumorchid: [186, 85, 211],
+            mediumpurple: [147, 112, 219],
+            mediumseagreen: [60, 179, 113],
+            mediumslateblue: [123, 104, 238],
+            mediumspringgreen: [0, 250, 154],
+            mediumturquoise: [72, 209, 204],
+            mediumvioletred: [199, 21, 133],
+            midnightblue: [25, 25, 112],
+            mintcream: [245, 255, 250],
+            mistyrose: [255, 228, 225],
+            moccasin: [255, 228, 181],
+            navajowhite: [255, 222, 173],
+            navy: [0, 0, 128],
+            oldlace: [253, 245, 230],
+            olive: [128, 128, 0],
+            olivedrab: [107, 142, 35],
+            orange: [255, 165, 0],
+            orangered: [255, 69, 0],
+            orchid: [218, 112, 214],
+            palegoldenrod: [238, 232, 170],
+            palegreen: [152, 251, 152],
+            paleturquoise: [175, 238, 238],
+            palevioletred: [219, 112, 147],
+            papayawhip: [255, 239, 213],
+            peachpuff: [255, 218, 185],
+            peru: [205, 133, 63],
+            pink: [255, 192, 203],
+            plum: [221, 160, 221],
+            powderblue: [176, 224, 230],
+            purple: [128, 0, 128],
+            rebeccapurple: [102, 51, 153],
+            red: [255, 0, 0],
+            rosybrown: [188, 143, 143],
+            royalblue: [65, 105, 225],
+            saddlebrown: [139, 69, 19],
+            salmon: [250, 128, 114],
+            sandybrown: [244, 164, 96],
+            seagreen: [46, 139, 87],
+            seashell: [255, 245, 238],
+            sienna: [160, 82, 45],
+            silver: [192, 192, 192],
+            skyblue: [135, 206, 235],
+            slateblue: [106, 90, 205],
+            slategray: [112, 128, 144],
+            slategrey: [112, 128, 144],
+            snow: [255, 250, 250],
+            springgreen: [0, 255, 127],
+            steelblue: [70, 130, 180],
+            tan: [210, 180, 140],
+            teal: [0, 128, 128],
+            thistle: [216, 191, 216],
+            tomato: [255, 99, 71],
+            turquoise: [64, 224, 208],
+            violet: [238, 130, 238],
+            wheat: [245, 222, 179],
+            white: [255, 255, 255],
+            whitesmoke: [245, 245, 245],
+            yellow: [255, 255, 0],
+            yellowgreen: [154, 205, 50]
+        }, _ = {
+            getRgba: p,
+            getHsla: g,
+            getRgb: v,
+            getHsl: M,
+            getHwb: y,
+            getAlpha: b,
+            hexString: x,
+            rgbString: L,
+            rgbaString: w,
+            percentString: k,
+            percentaString: Y,
+            hslString: D,
+            hslaString: T,
+            hwbString: S,
+            keyword: j
+        };
+
+        function p(e) {
+            if (e) {
+                var t = /^#([a-fA-F0-9]{3,4})$/i, n = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,
+                    i = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,
+                    a = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,
+                    r = /(\w+)/, l = [0, 0, 0], o = 1, s = e.match(t), d = "";
+                if (s) {
+                    d = (s = s[1])[3];
+                    for (var u = 0; u < l.length; u++) l[u] = parseInt(s[u] + s[u], 16);
+                    d && (o = Math.round(parseInt(d + d, 16) / 255 * 100) / 100)
+                } else if (s = e.match(n)) {
+                    for (d = s[2], s = s[1], u = 0; u < l.length; u++) l[u] = parseInt(s.slice(2 * u, 2 * u + 2), 16);
+                    d && (o = Math.round(parseInt(d, 16) / 255 * 100) / 100)
+                } else if (s = e.match(i)) {
+                    for (u = 0; u < l.length; u++) l[u] = parseInt(s[u + 1]);
+                    o = parseFloat(s[4])
+                } else if (s = e.match(a)) {
+                    for (u = 0; u < l.length; u++) l[u] = Math.round(2.55 * parseFloat(s[u + 1]));
+                    o = parseFloat(s[4])
+                } else if (s = e.match(r)) {
+                    if ("transparent" == s[1]) return [0, 0, 0, 0];
+                    if (!(l = f[s[1]])) return
+                }
+                for (u = 0; u < l.length; u++) l[u] = E(l[u], 0, 255);
+                return o = o || 0 == o ? E(o, 0, 1) : 1, l[3] = o, l
+            }
+        }
+
+        function g(e) {
+            if (e) {
+                var t = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,
+                    n = e.match(t);
+                if (n) {
+                    var i = parseFloat(n[4]);
+                    return [E(parseInt(n[1]), 0, 360), E(parseFloat(n[2]), 0, 100), E(parseFloat(n[3]), 0, 100), E(isNaN(i) ? 1 : i, 0, 1)]
+                }
+            }
+        }
+
+        function y(e) {
+            if (e) {
+                var t = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,
+                    n = e.match(t);
+                if (n) {
+                    var i = parseFloat(n[4]);
+                    return [E(parseInt(n[1]), 0, 360), E(parseFloat(n[2]), 0, 100), E(parseFloat(n[3]), 0, 100), E(isNaN(i) ? 1 : i, 0, 1)]
+                }
+            }
+        }
+
+        function v(e) {
+            var t = p(e);
+            return t && t.slice(0, 3)
+        }
+
+        function M(e) {
+            var t = g(e);
+            return t && t.slice(0, 3)
+        }
+
+        function b(e) {
+            var t = p(e);
+            return t || (t = g(e)) || (t = y(e)) ? t[3] : void 0
+        }
+
+        function x(e, t) {
+            return t = void 0 !== t && 3 === e.length ? t : e[3], "#" + H(e[0]) + H(e[1]) + H(e[2]) + (t >= 0 && t < 1 ? H(Math.round(255 * t)) : "")
+        }
+
+        function L(e, t) {
+            return t < 1 || e[3] && e[3] < 1 ? w(e, t) : "rgb(" + e[0] + ", " + e[1] + ", " + e[2] + ")"
+        }
+
+        function w(e, t) {
+            return void 0 === t && (t = void 0 !== e[3] ? e[3] : 1), "rgba(" + e[0] + ", " + e[1] + ", " + e[2] + ", " + t + ")"
+        }
+
+        function k(e, t) {
+            return t < 1 || e[3] && e[3] < 1 ? Y(e, t) : "rgb(" + Math.round(e[0] / 255 * 100) + "%, " + Math.round(e[1] / 255 * 100) + "%, " + Math.round(e[2] / 255 * 100) + "%)"
+        }
+
+        function Y(e, t) {
+            return "rgba(" + Math.round(e[0] / 255 * 100) + "%, " + Math.round(e[1] / 255 * 100) + "%, " + Math.round(e[2] / 255 * 100) + "%, " + (t || e[3] || 1) + ")"
+        }
+
+        function D(e, t) {
+            return t < 1 || e[3] && e[3] < 1 ? T(e, t) : "hsl(" + e[0] + ", " + e[1] + "%, " + e[2] + "%)"
+        }
+
+        function T(e, t) {
+            return void 0 === t && (t = void 0 !== e[3] ? e[3] : 1), "hsla(" + e[0] + ", " + e[1] + "%, " + e[2] + "%, " + t + ")"
+        }
+
+        function S(e, t) {
+            return void 0 === t && (t = void 0 !== e[3] ? e[3] : 1), "hwb(" + e[0] + ", " + e[1] + "%, " + e[2] + "%" + (void 0 !== t && 1 !== t ? ", " + t : "") + ")"
+        }
+
+        function j(e) {
+            return O[e.slice(0, 3)]
+        }
+
+        function E(e, t, n) {
+            return Math.min(Math.max(t, e), n)
+        }
+
+        function H(e) {
+            var t = e.toString(16).toUpperCase();
+            return t.length < 2 ? "0" + t : t
+        }
+
+        var O = {};
+        for (var A in f) O[f[A]] = A;
+        var P = function (e) {
+            return e instanceof P ? e : this instanceof P ? (this.valid = !1, this.values = {
+                rgb: [0, 0, 0],
+                hsl: [0, 0, 0],
+                hsv: [0, 0, 0],
+                hwb: [0, 0, 0],
+                cmyk: [0, 0, 0, 0],
+                alpha: 1
+            }, void ("string" == typeof e ? (t = _.getRgba(e)) ? this.setValues("rgb", t) : (t = _.getHsla(e)) ? this.setValues("hsl", t) : (t = _.getHwb(e)) && this.setValues("hwb", t) : "object" == typeof e && (void 0 !== (t = e).r || void 0 !== t.red ? this.setValues("rgb", t) : void 0 !== t.l || void 0 !== t.lightness ? this.setValues("hsl", t) : void 0 !== t.v || void 0 !== t.value ? this.setValues("hsv", t) : void 0 !== t.w || void 0 !== t.whiteness ? this.setValues("hwb", t) : void 0 === t.c && void 0 === t.cyan || this.setValues("cmyk", t)))) : new P(e);
+            var t
+        };
+        P.prototype = {
+            isValid: function () {
+                return this.valid
+            }, rgb: function () {
+                return this.setSpace("rgb", arguments)
+            }, hsl: function () {
+                return this.setSpace("hsl", arguments)
+            }, hsv: function () {
+                return this.setSpace("hsv", arguments)
+            }, hwb: function () {
+                return this.setSpace("hwb", arguments)
+            }, cmyk: function () {
+                return this.setSpace("cmyk", arguments)
+            }, rgbArray: function () {
+                return this.values.rgb
+            }, hslArray: function () {
+                return this.values.hsl
+            }, hsvArray: function () {
+                return this.values.hsv
+            }, hwbArray: function () {
+                var e = this.values;
+                return 1 !== e.alpha ? e.hwb.concat([e.alpha]) : e.hwb
+            }, cmykArray: function () {
+                return this.values.cmyk
+            }, rgbaArray: function () {
+                var e = this.values;
+                return e.rgb.concat([e.alpha])
+            }, hslaArray: function () {
+                var e = this.values;
+                return e.hsl.concat([e.alpha])
+            }, alpha: function (e) {
+                return void 0 === e ? this.values.alpha : (this.setValues("alpha", e), this)
+            }, red: function (e) {
+                return this.setChannel("rgb", 0, e)
+            }, green: function (e) {
+                return this.setChannel("rgb", 1, e)
+            }, blue: function (e) {
+                return this.setChannel("rgb", 2, e)
+            }, hue: function (e) {
+                return e && (e = (e %= 360) < 0 ? 360 + e : e), this.setChannel("hsl", 0, e)
+            }, saturation: function (e) {
+                return this.setChannel("hsl", 1, e)
+            }, lightness: function (e) {
+                return this.setChannel("hsl", 2, e)
+            }, saturationv: function (e) {
+                return this.setChannel("hsv", 1, e)
+            }, whiteness: function (e) {
+                return this.setChannel("hwb", 1, e)
+            }, blackness: function (e) {
+                return this.setChannel("hwb", 2, e)
+            }, value: function (e) {
+                return this.setChannel("hsv", 2, e)
+            }, cyan: function (e) {
+                return this.setChannel("cmyk", 0, e)
+            }, magenta: function (e) {
+                return this.setChannel("cmyk", 1, e)
+            }, yellow: function (e) {
+                return this.setChannel("cmyk", 2, e)
+            }, black: function (e) {
+                return this.setChannel("cmyk", 3, e)
+            }, hexString: function () {
+                return _.hexString(this.values.rgb)
+            }, rgbString: function () {
+                return _.rgbString(this.values.rgb, this.values.alpha)
+            }, rgbaString: function () {
+                return _.rgbaString(this.values.rgb, this.values.alpha)
+            }, percentString: function () {
+                return _.percentString(this.values.rgb, this.values.alpha)
+            }, hslString: function () {
+                return _.hslString(this.values.hsl, this.values.alpha)
+            }, hslaString: function () {
+                return _.hslaString(this.values.hsl, this.values.alpha)
+            }, hwbString: function () {
+                return _.hwbString(this.values.hwb, this.values.alpha)
+            }, keyword: function () {
+                return _.keyword(this.values.rgb, this.values.alpha)
+            }, rgbNumber: function () {
+                var e = this.values.rgb;
+                return e[0] << 16 | e[1] << 8 | e[2]
+            }, luminosity: function () {
+                for (var e = this.values.rgb, t = [], n = 0; n < e.length; n++) {
+                    var i = e[n] / 255;
+                    t[n] = i <= .03928 ? i / 12.92 : Math.pow((i + .055) / 1.055, 2.4)
+                }
+                return .2126 * t[0] + .7152 * t[1] + .0722 * t[2]
+            }, contrast: function (e) {
+                var t = this.luminosity(), n = e.luminosity();
+                return t > n ? (t + .05) / (n + .05) : (n + .05) / (t + .05)
+            }, level: function (e) {
+                var t = this.contrast(e);
+                return t >= 7.1 ? "AAA" : t >= 4.5 ? "AA" : ""
+            }, dark: function () {
+                var e = this.values.rgb;
+                return (299 * e[0] + 587 * e[1] + 114 * e[2]) / 1e3 < 128
+            }, light: function () {
+                return !this.dark()
+            }, negate: function () {
+                for (var e = [], t = 0; t < 3; t++) e[t] = 255 - this.values.rgb[t];
+                return this.setValues("rgb", e), this
+            }, lighten: function (e) {
+                var t = this.values.hsl;
+                return t[2] += t[2] * e, this.setValues("hsl", t), this
+            }, darken: function (e) {
+                var t = this.values.hsl;
+                return t[2] -= t[2] * e, this.setValues("hsl", t), this
+            }, saturate: function (e) {
+                var t = this.values.hsl;
+                return t[1] += t[1] * e, this.setValues("hsl", t), this
+            }, desaturate: function (e) {
+                var t = this.values.hsl;
+                return t[1] -= t[1] * e, this.setValues("hsl", t), this
+            }, whiten: function (e) {
+                var t = this.values.hwb;
+                return t[1] += t[1] * e, this.setValues("hwb", t), this
+            }, blacken: function (e) {
+                var t = this.values.hwb;
+                return t[2] += t[2] * e, this.setValues("hwb", t), this
+            }, greyscale: function () {
+                var e = this.values.rgb, t = .3 * e[0] + .59 * e[1] + .11 * e[2];
+                return this.setValues("rgb", [t, t, t]), this
+            }, clearer: function (e) {
+                var t = this.values.alpha;
+                return this.setValues("alpha", t - t * e), this
+            }, opaquer: function (e) {
+                var t = this.values.alpha;
+                return this.setValues("alpha", t + t * e), this
+            }, rotate: function (e) {
+                var t = this.values.hsl, n = (t[0] + e) % 360;
+                return t[0] = n < 0 ? 360 + n : n, this.setValues("hsl", t), this
+            }, mix: function (e, t) {
+                var n = this, i = e, a = void 0 === t ? .5 : t, r = 2 * a - 1, l = n.alpha() - i.alpha(),
+                    o = ((r * l == -1 ? r : (r + l) / (1 + r * l)) + 1) / 2, s = 1 - o;
+                return this.rgb(o * n.red() + s * i.red(), o * n.green() + s * i.green(), o * n.blue() + s * i.blue()).alpha(n.alpha() * a + i.alpha() * (1 - a))
+            }, toJSON: function () {
+                return this.rgb()
+            }, clone: function () {
+                var e, t, n = new P, i = this.values, a = n.values;
+                for (var r in i) i.hasOwnProperty(r) && (e = i[r], "[object Array]" === (t = {}.toString.call(e)) ? a[r] = e.slice(0) : "[object Number]" === t ? a[r] = e : console.error("unexpected color value:", e));
+                return n
+            }
+        }, P.prototype.spaces = {
+            rgb: ["red", "green", "blue"],
+            hsl: ["hue", "saturation", "lightness"],
+            hsv: ["hue", "saturation", "value"],
+            hwb: ["hue", "whiteness", "blackness"],
+            cmyk: ["cyan", "magenta", "yellow", "black"]
+        }, P.prototype.maxes = {
+            rgb: [255, 255, 255],
+            hsl: [360, 100, 100],
+            hsv: [360, 100, 100],
+            hwb: [360, 100, 100],
+            cmyk: [100, 100, 100, 100]
+        }, P.prototype.getValues = function (e) {
+            for (var t = this.values, n = {}, i = 0; i < e.length; i++) n[e.charAt(i)] = t[e][i];
+            return 1 !== t.alpha && (n.a = t.alpha), n
+        }, P.prototype.setValues = function (e, t) {
+            var n, i, a = this.values, r = this.spaces, l = this.maxes, o = 1;
+            if (this.valid = !0, "alpha" === e) o = t; else if (t.length) a[e] = t.slice(0, e.length), o = t[e.length]; else if (void 0 !== t[e.charAt(0)]) {
+                for (n = 0; n < e.length; n++) a[e][n] = t[e.charAt(n)];
+                o = t.a
+            } else if (void 0 !== t[r[e][0]]) {
+                var s = r[e];
+                for (n = 0; n < e.length; n++) a[e][n] = t[s[n]];
+                o = t.alpha
+            }
+            if (a.alpha = Math.max(0, Math.min(1, void 0 === o ? a.alpha : o)), "alpha" === e) return !1;
+            for (n = 0; n < e.length; n++) i = Math.max(0, Math.min(l[e][n], a[e][n])), a[e][n] = Math.round(i);
+            for (var d in r) d !== e && (a[d] = m[e][d](a[e]));
+            return !0
+        }, P.prototype.setSpace = function (e, t) {
+            var n = t[0];
+            return void 0 === n ? this.getValues(e) : ("number" == typeof n && (n = Array.prototype.slice.call(t)), this.setValues(e, n), this)
+        }, P.prototype.setChannel = function (e, t, n) {
+            var i = this.values[e];
+            return void 0 === n ? i[t] : (n === i[t] || (i[t] = n, this.setValues(e, i)), this)
+        }, "undefined" != typeof window && (window.Color = P);
+        var C = P;
+
+        function F(e) {
+            return -1 === ["__proto__", "prototype", "constructor"].indexOf(e)
+        }
+
+        var I, W = {
+            noop: function () {
+            }, uid: (I = 0, function () {
+                return I++
+            }), isNullOrUndef: function (e) {
+                return null == e
+            }, isArray: function (e) {
+                if (Array.isArray && Array.isArray(e)) return !0;
+                var t = Object.prototype.toString.call(e);
+                return "[object" === t.substr(0, 7) && "Array]" === t.substr(-6)
+            }, isObject: function (e) {
+                return null !== e && "[object Object]" === Object.prototype.toString.call(e)
+            }, isFinite: function (e) {
+                return ("number" == typeof e || e instanceof Number) && isFinite(e)
+            }, valueOrDefault: function (e, t) {
+                return void 0 === e ? t : e
+            }, valueAtIndexOrDefault: function (e, t, n) {
+                return W.valueOrDefault(W.isArray(e) ? e[t] : e, n)
+            }, callback: function (e, t, n) {
+                if (e && "function" == typeof e.call) return e.apply(n, t)
+            }, each: function (e, t, n, i) {
+                var a, r, l;
+                if (W.isArray(e)) if (r = e.length, i) for (a = r - 1; a >= 0; a--) t.call(n, e[a], a); else for (a = 0; a < r; a++) t.call(n, e[a], a); else if (W.isObject(e)) for (r = (l = Object.keys(e)).length, a = 0; a < r; a++) t.call(n, e[l[a]], l[a])
+            }, arrayEquals: function (e, t) {
+                var n, i, a, r;
+                if (!e || !t || e.length !== t.length) return !1;
+                for (n = 0, i = e.length; n < i; ++n) if (a = e[n], r = t[n], a instanceof Array && r instanceof Array) {
+                    if (!W.arrayEquals(a, r)) return !1
+                } else if (a !== r) return !1;
+                return !0
+            }, clone: function (e) {
+                if (W.isArray(e)) return e.map(W.clone);
+                if (W.isObject(e)) {
+                    for (var t = Object.create(e), n = Object.keys(e), i = n.length, a = 0; a < i; ++a) t[n[a]] = W.clone(e[n[a]]);
+                    return t
+                }
+                return e
+            }, _merger: function (e, t, n, i) {
+                if (F(e)) {
+                    var a = t[e], r = n[e];
+                    W.isObject(a) && W.isObject(r) ? W.merge(a, r, i) : t[e] = W.clone(r)
+                }
+            }, _mergerIf: function (e, t, n) {
+                if (F(e)) {
+                    var i = t[e], a = n[e];
+                    W.isObject(i) && W.isObject(a) ? W.mergeIf(i, a) : t.hasOwnProperty(e) || (t[e] = W.clone(a))
+                }
+            }, merge: function (e, t, n) {
+                var i, a, r, l, o, s = W.isArray(t) ? t : [t], d = s.length;
+                if (!W.isObject(e)) return e;
+                for (i = (n = n || {}).merger || W._merger, a = 0; a < d; ++a) if (t = s[a], W.isObject(t)) for (o = 0, l = (r = Object.keys(t)).length; o < l; ++o) i(r[o], e, t, n);
+                return e
+            }, mergeIf: function (e, t) {
+                return W.merge(e, t, {merger: W._mergerIf})
+            }, extend: Object.assign || function (e) {
+                return W.merge(e, [].slice.call(arguments, 1), {
+                    merger: function (e, t, n) {
+                        t[e] = n[e]
+                    }
+                })
+            }, inherits: function (e) {
+                var t = this, n = e && e.hasOwnProperty("constructor") ? e.constructor : function () {
+                    return t.apply(this, arguments)
+                }, i = function () {
+                    this.constructor = n
+                };
+                return i.prototype = t.prototype, n.prototype = new i, n.extend = W.inherits, e && W.extend(n.prototype, e), n.__super__ = t.prototype, n
+            }, _deprecated: function (e, t, n, i) {
+                void 0 !== t && console.warn(e + ': "' + n + '" is deprecated. Please use "' + i + '" instead')
+            }
+        }, N = W;
+        W.callCallback = W.callback, W.indexOf = function (e, t, n) {
+            return Array.prototype.indexOf.call(e, t, n)
+        }, W.getValueOrDefault = W.valueOrDefault, W.getValueAtIndexOrDefault = W.valueAtIndexOrDefault;
+        var z = {
+            linear: function (e) {
+                return e
+            }, easeInQuad: function (e) {
+                return e * e
+            }, easeOutQuad: function (e) {
+                return -e * (e - 2)
+            }, easeInOutQuad: function (e) {
+                return (e /= .5) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
+            }, easeInCubic: function (e) {
+                return e * e * e
+            }, easeOutCubic: function (e) {
+                return (e -= 1) * e * e + 1
+            }, easeInOutCubic: function (e) {
+                return (e /= .5) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
+            }, easeInQuart: function (e) {
+                return e * e * e * e
+            }, easeOutQuart: function (e) {
+                return -((e -= 1) * e * e * e - 1)
+            }, easeInOutQuart: function (e) {
+                return (e /= .5) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
+            }, easeInQuint: function (e) {
+                return e * e * e * e * e
+            }, easeOutQuint: function (e) {
+                return (e -= 1) * e * e * e * e + 1
+            }, easeInOutQuint: function (e) {
+                return (e /= .5) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
+            }, easeInSine: function (e) {
+                return 1 - Math.cos(e * (Math.PI / 2))
+            }, easeOutSine: function (e) {
+                return Math.sin(e * (Math.PI / 2))
+            }, easeInOutSine: function (e) {
+                return -.5 * (Math.cos(Math.PI * e) - 1)
+            }, easeInExpo: function (e) {
+                return 0 === e ? 0 : Math.pow(2, 10 * (e - 1))
+            }, easeOutExpo: function (e) {
+                return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
+            }, easeInOutExpo: function (e) {
+                return 0 === e ? 0 : 1 === e ? 1 : (e /= .5) < 1 ? .5 * Math.pow(2, 10 * (e - 1)) : .5 * (2 - Math.pow(2, -10 * --e))
+            }, easeInCirc: function (e) {
+                return e >= 1 ? e : -(Math.sqrt(1 - e * e) - 1)
+            }, easeOutCirc: function (e) {
+                return Math.sqrt(1 - (e -= 1) * e)
+            }, easeInOutCirc: function (e) {
+                return (e /= .5) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
+            }, easeInElastic: function (e) {
+                var t = 1.70158, n = 0, i = 1;
+                return 0 === e ? 0 : 1 === e ? 1 : (n || (n = .3), i < 1 ? (i = 1, t = n / 4) : t = n / (2 * Math.PI) * Math.asin(1 / i), -i * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / n))
+            }, easeOutElastic: function (e) {
+                var t = 1.70158, n = 0, i = 1;
+                return 0 === e ? 0 : 1 === e ? 1 : (n || (n = .3), i < 1 ? (i = 1, t = n / 4) : t = n / (2 * Math.PI) * Math.asin(1 / i), i * Math.pow(2, -10 * e) * Math.sin((e - t) * (2 * Math.PI) / n) + 1)
+            }, easeInOutElastic: function (e) {
+                var t = 1.70158, n = 0, i = 1;
+                return 0 === e ? 0 : 2 == (e /= .5) ? 1 : (n || (n = .45), i < 1 ? (i = 1, t = n / 4) : t = n / (2 * Math.PI) * Math.asin(1 / i), e < 1 ? i * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / n) * -.5 : i * Math.pow(2, -10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / n) * .5 + 1)
+            }, easeInBack: function (e) {
+                var t = 1.70158;
+                return e * e * ((t + 1) * e - t)
+            }, easeOutBack: function (e) {
+                var t = 1.70158;
+                return (e -= 1) * e * ((t + 1) * e + t) + 1
+            }, easeInOutBack: function (e) {
+                var t = 1.70158;
+                return (e /= .5) < 1 ? e * e * ((1 + (t *= 1.525)) * e - t) * .5 : .5 * ((e -= 2) * e * ((1 + (t *= 1.525)) * e + t) + 2)
+            }, easeInBounce: function (e) {
+                return 1 - z.easeOutBounce(1 - e)
+            }, easeOutBounce: function (e) {
+                return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
+            }, easeInOutBounce: function (e) {
+                return e < .5 ? .5 * z.easeInBounce(2 * e) : .5 * z.easeOutBounce(2 * e - 1) + .5
+            }
+        }, R = {effects: z};
+        N.easingEffects = z;
+        var V = Math.PI, B = V / 180, Z = 2 * V, U = V / 2, J = V / 4, G = 2 * V / 3, q = {
+            clear: function (e) {
+                e.ctx.clearRect(0, 0, e.width, e.height)
+            }, roundedRect: function (e, t, n, i, a, r) {
+                if (r) {
+                    var l = Math.min(r, a / 2, i / 2), o = t + l, s = n + l, d = t + i - l, u = n + a - l;
+                    e.moveTo(t, s), o < d && s < u ? (e.arc(o, s, l, -V, -U), e.arc(d, s, l, -U, 0), e.arc(d, u, l, 0, U), e.arc(o, u, l, U, V)) : o < d ? (e.moveTo(o, n), e.arc(d, s, l, -U, U), e.arc(o, s, l, U, V + U)) : s < u ? (e.arc(o, s, l, -V, 0), e.arc(o, u, l, 0, V)) : e.arc(o, s, l, -V, V), e.closePath(), e.moveTo(t, n)
+                } else e.rect(t, n, i, a)
+            }, drawPoint: function (e, t, n, i, a, r) {
+                var l, o, s, d, u, c = (r || 0) * B;
+                if (t && "object" == typeof t && ("[object HTMLImageElement]" === (l = t.toString()) || "[object HTMLCanvasElement]" === l)) return e.save(), e.translate(i, a), e.rotate(c), e.drawImage(t, -t.width / 2, -t.height / 2, t.width, t.height), void e.restore();
+                if (!(isNaN(n) || n <= 0)) {
+                    switch (e.beginPath(), t) {
+                        default:
+                            e.arc(i, a, n, 0, Z), e.closePath();
+                            break;
+                        case"triangle":
+                            e.moveTo(i + Math.sin(c) * n, a - Math.cos(c) * n), c += G, e.lineTo(i + Math.sin(c) * n, a - Math.cos(c) * n), c += G, e.lineTo(i + Math.sin(c) * n, a - Math.cos(c) * n), e.closePath();
+                            break;
+                        case"rectRounded":
+                            d = n - (u = .516 * n), o = Math.cos(c + J) * d, s = Math.sin(c + J) * d, e.arc(i - o, a - s, u, c - V, c - U), e.arc(i + s, a - o, u, c - U, c), e.arc(i + o, a + s, u, c, c + U), e.arc(i - s, a + o, u, c + U, c + V), e.closePath();
+                            break;
+                        case"rect":
+                            if (!r) {
+                                d = Math.SQRT1_2 * n, e.rect(i - d, a - d, 2 * d, 2 * d);
+                                break
+                            }
+                            c += J;
+                        case"rectRot":
+                            o = Math.cos(c) * n, s = Math.sin(c) * n, e.moveTo(i - o, a - s), e.lineTo(i + s, a - o), e.lineTo(i + o, a + s), e.lineTo(i - s, a + o), e.closePath();
+                            break;
+                        case"crossRot":
+                            c += J;
+                        case"cross":
+                            o = Math.cos(c) * n, s = Math.sin(c) * n, e.moveTo(i - o, a - s), e.lineTo(i + o, a + s), e.moveTo(i + s, a - o), e.lineTo(i - s, a + o);
+                            break;
+                        case"star":
+                            o = Math.cos(c) * n, s = Math.sin(c) * n, e.moveTo(i - o, a - s), e.lineTo(i + o, a + s), e.moveTo(i + s, a - o), e.lineTo(i - s, a + o), c += J, o = Math.cos(c) * n, s = Math.sin(c) * n, e.moveTo(i - o, a - s), e.lineTo(i + o, a + s), e.moveTo(i + s, a - o), e.lineTo(i - s, a + o);
+                            break;
+                        case"line":
+                            o = Math.cos(c) * n, s = Math.sin(c) * n, e.moveTo(i - o, a - s), e.lineTo(i + o, a + s);
+                            break;
+                        case"dash":
+                            e.moveTo(i, a), e.lineTo(i + Math.cos(c) * n, a + Math.sin(c) * n)
+                    }
+                    e.fill(), e.stroke()
+                }
+            }, _isPointInArea: function (e, t) {
+                var n = 1e-6;
+                return e.x > t.left - n && e.x < t.right + n && e.y > t.top - n && e.y < t.bottom + n
+            }, clipArea: function (e, t) {
+                e.save(), e.beginPath(), e.rect(t.left, t.top, t.right - t.left, t.bottom - t.top), e.clip()
+            }, unclipArea: function (e) {
+                e.restore()
+            }, lineTo: function (e, t, n, i) {
+                var a = n.steppedLine;
+                if (a) {
+                    if ("middle" === a) {
+                        var r = (t.x + n.x) / 2;
+                        e.lineTo(r, i ? n.y : t.y), e.lineTo(r, i ? t.y : n.y)
+                    } else "after" === a && !i || "after" !== a && i ? e.lineTo(t.x, n.y) : e.lineTo(n.x, t.y);
+                    e.lineTo(n.x, n.y)
+                } else n.tension ? e.bezierCurveTo(i ? t.controlPointPreviousX : t.controlPointNextX, i ? t.controlPointPreviousY : t.controlPointNextY, i ? n.controlPointNextX : n.controlPointPreviousX, i ? n.controlPointNextY : n.controlPointPreviousY, n.x, n.y) : e.lineTo(n.x, n.y)
+            }
+        }, K = q;
+        N.clear = q.clear, N.drawRoundedRectangle = function (e) {
+            e.beginPath(), q.roundedRect.apply(q, arguments)
+        };
+        var X = {
+            _set: function (e, t) {
+                return N.merge(this[e] || (this[e] = {}), t)
+            }
+        };
+        X._set("global", {
+            defaultColor: "rgba(0,0,0,0.1)",
+            defaultFontColor: "#666",
+            defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
+            defaultFontSize: 12,
+            defaultFontStyle: "normal",
+            defaultLineHeight: 1.2,
+            showLines: !0
+        });
+        var $ = X, Q = N.valueOrDefault;
+
+        function ee(e) {
+            return !e || N.isNullOrUndef(e.size) || N.isNullOrUndef(e.family) ? null : (e.style ? e.style + " " : "") + (e.weight ? e.weight + " " : "") + e.size + "px " + e.family
+        }
+
+        var te = {
+            toLineHeight: function (e, t) {
+                var n = ("" + e).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);
+                if (!n || "normal" === n[1]) return 1.2 * t;
+                switch (e = +n[2], n[3]) {
+                    case"px":
+                        return e;
+                    case"%":
+                        e /= 100
+                }
+                return t * e
+            }, toPadding: function (e) {
+                var t, n, i, a;
+                return N.isObject(e) ? (t = +e.top || 0, n = +e.right || 0, i = +e.bottom || 0, a = +e.left || 0) : t = n = i = a = +e || 0, {
+                    top: t,
+                    right: n,
+                    bottom: i,
+                    left: a,
+                    height: t + i,
+                    width: a + n
+                }
+            }, _parseFont: function (e) {
+                var t = $.global, n = Q(e.fontSize, t.defaultFontSize), i = {
+                    family: Q(e.fontFamily, t.defaultFontFamily),
+                    lineHeight: N.options.toLineHeight(Q(e.lineHeight, t.defaultLineHeight), n),
+                    size: n,
+                    style: Q(e.fontStyle, t.defaultFontStyle),
+                    weight: null,
+                    string: ""
+                };
+                return i.string = ee(i), i
+            }, resolve: function (e, t, n, i) {
+                var a, r, l, o = !0;
+                for (a = 0, r = e.length; a < r; ++a) if (void 0 !== (l = e[a]) && (void 0 !== t && "function" == typeof l && (l = l(t), o = !1), void 0 !== n && N.isArray(l) && (l = l[n], o = !1), void 0 !== l)) return i && !o && (i.cacheable = !1), l
+            }
+        }, ne = {
+            _factorize: function (e) {
+                var t, n = [], i = Math.sqrt(e);
+                for (t = 1; t < i; t++) e % t == 0 && (n.push(t), n.push(e / t));
+                return i === (0 | i) && n.push(i), n.sort((function (e, t) {
+                    return e - t
+                })).pop(), n
+            }, log10: Math.log10 || function (e) {
+                var t = Math.log(e) * Math.LOG10E, n = Math.round(t);
+                return e === Math.pow(10, n) ? n : t
+            }
+        }, ie = ne;
+        N.log10 = ne.log10;
+        var ae = function (e, t) {
+            return {
+                x: function (n) {
+                    return e + e + t - n
+                }, setWidth: function (e) {
+                    t = e
+                }, textAlign: function (e) {
+                    return "center" === e ? e : "right" === e ? "left" : "right"
+                }, xPlus: function (e, t) {
+                    return e - t
+                }, leftForLtr: function (e, t) {
+                    return e - t
+                }
+            }
+        }, re = function () {
+            return {
+                x: function (e) {
+                    return e
+                }, setWidth: function (e) {
+                }, textAlign: function (e) {
+                    return e
+                }, xPlus: function (e, t) {
+                    return e + t
+                }, leftForLtr: function (e, t) {
+                    return e
+                }
+            }
+        }, le = N, oe = R, se = K, de = te, ue = ie, ce = {
+            getRtlAdapter: function (e, t, n) {
+                return e ? ae(t, n) : re()
+            }, overrideTextDirection: function (e, t) {
+                var n, i;
+                "ltr" !== t && "rtl" !== t || (i = [(n = e.canvas.style).getPropertyValue("direction"), n.getPropertyPriority("direction")], n.setProperty("direction", t, "important"), e.prevTextDirection = i)
+            }, restoreTextDirection: function (e) {
+                var t = e.prevTextDirection;
+                void 0 !== t && (delete e.prevTextDirection, e.canvas.style.setProperty("direction", t[0], t[1]))
+            }
+        };
+
+        function he(e, t, n, i) {
+            var a, r, l, o, s, d, u, c, h, m = Object.keys(n);
+            for (a = 0, r = m.length; a < r; ++a) if (d = n[l = m[a]], t.hasOwnProperty(l) || (t[l] = d), (o = t[l]) !== d && "_" !== l[0]) {
+                if (e.hasOwnProperty(l) || (e[l] = o), (u = typeof d) == typeof (s = e[l])) if ("string" === u) {
+                    if ((c = C(s)).valid && (h = C(d)).valid) {
+                        t[l] = h.mix(c, i).rgbString();
+                        continue
+                    }
+                } else if (le.isFinite(s) && le.isFinite(d)) {
+                    t[l] = s + (d - s) * i;
+                    continue
+                }
+                t[l] = d
+            }
+        }
+
+        le.easing = oe, le.canvas = se, le.options = de, le.math = ue, le.rtl = ce;
+        var me = function (e) {
+            le.extend(this, e), this.initialize.apply(this, arguments)
+        };
+        le.extend(me.prototype, {
+            _type: void 0, initialize: function () {
+                this.hidden = !1
+            }, pivot: function () {
+                var e = this;
+                return e._view || (e._view = le.extend({}, e._model)), e._start = {}, e
+            }, transition: function (e) {
+                var t = this, n = t._model, i = t._start, a = t._view;
+                return n && 1 !== e ? (a || (a = t._view = {}), i || (i = t._start = {}), he(i, a, n, e), t) : (t._view = le.extend({}, n), t._start = null, t)
+            }, tooltipPosition: function () {
+                return {x: this._model.x, y: this._model.y}
+            }, hasValue: function () {
+                return le.isNumber(this._model.x) && le.isNumber(this._model.y)
+            }
+        }), me.extend = le.inherits;
+        var fe = me, _e = fe.extend({
+            chart: null,
+            currentStep: 0,
+            numSteps: 60,
+            easing: "",
+            render: null,
+            onAnimationProgress: null,
+            onAnimationComplete: null
+        }), pe = _e;
+        Object.defineProperty(_e.prototype, "animationObject", {
+            get: function () {
+                return this
+            }
+        }), Object.defineProperty(_e.prototype, "chartInstance", {
+            get: function () {
+                return this.chart
+            }, set: function (e) {
+                this.chart = e
+            }
+        }), $._set("global", {
+            animation: {
+                duration: 1e3,
+                easing: "easeOutQuart",
+                onProgress: le.noop,
+                onComplete: le.noop
+            }
+        });
+        var ge = {
+            animations: [], request: null, addAnimation: function (e, t, n, i) {
+                var a, r, l = this.animations;
+                for (t.chart = e, t.startTime = Date.now(), t.duration = n, i || (e.animating = !0), a = 0, r = l.length; a < r; ++a) if (l[a].chart === e) return void (l[a] = t);
+                l.push(t), 1 === l.length && this.requestAnimationFrame()
+            }, cancelAnimation: function (e) {
+                var t = le.findIndex(this.animations, (function (t) {
+                    return t.chart === e
+                }));
+                -1 !== t && (this.animations.splice(t, 1), e.animating = !1)
+            }, requestAnimationFrame: function () {
+                var e = this;
+                null === e.request && (e.request = le.requestAnimFrame.call(window, (function () {
+                    e.request = null, e.startDigest()
+                })))
+            }, startDigest: function () {
+                var e = this;
+                e.advance(), e.animations.length > 0 && e.requestAnimationFrame()
+            }, advance: function () {
+                for (var e, t, n, i, a = this.animations, r = 0; r < a.length;) t = (e = a[r]).chart, n = e.numSteps, i = Math.floor((Date.now() - e.startTime) / e.duration * n) + 1, e.currentStep = Math.min(i, n), le.callback(e.render, [t, e], t), le.callback(e.onAnimationProgress, [e], t), e.currentStep >= n ? (le.callback(e.onAnimationComplete, [e], t), t.animating = !1, a.splice(r, 1)) : ++r
+            }
+        }, ye = le.options.resolve, ve = ["push", "pop", "shift", "splice", "unshift"];
+
+        function Me(e, t) {
+            e._chartjs ? e._chartjs.listeners.push(t) : (Object.defineProperty(e, "_chartjs", {
+                configurable: !0,
+                enumerable: !1,
+                value: {listeners: [t]}
+            }), ve.forEach((function (t) {
+                var n = "onData" + t.charAt(0).toUpperCase() + t.slice(1), i = e[t];
+                Object.defineProperty(e, t, {
+                    configurable: !0, enumerable: !1, value: function () {
+                        var t = Array.prototype.slice.call(arguments), a = i.apply(this, t);
+                        return le.each(e._chartjs.listeners, (function (e) {
+                            "function" == typeof e[n] && e[n].apply(e, t)
+                        })), a
+                    }
+                })
+            })))
+        }
+
+        function be(e, t) {
+            var n = e._chartjs;
+            if (n) {
+                var i = n.listeners, a = i.indexOf(t);
+                -1 !== a && i.splice(a, 1), i.length > 0 || (ve.forEach((function (t) {
+                    delete e[t]
+                })), delete e._chartjs)
+            }
+        }
+
+        var xe = function (e, t) {
+            this.initialize(e, t)
+        };
+        le.extend(xe.prototype, {
+            datasetElementType: null,
+            dataElementType: null,
+            _datasetElementOptions: ["backgroundColor", "borderCapStyle", "borderColor", "borderDash", "borderDashOffset", "borderJoinStyle", "borderWidth"],
+            _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "pointStyle"],
+            initialize: function (e, t) {
+                var n = this;
+                n.chart = e, n.index = t, n.linkScales(), n.addElements(), n._type = n.getMeta().type
+            },
+            updateIndex: function (e) {
+                this.index = e
+            },
+            linkScales: function () {
+                var e = this, t = e.getMeta(), n = e.chart, i = n.scales, a = e.getDataset(), r = n.options.scales;
+                null !== t.xAxisID && t.xAxisID in i && !a.xAxisID || (t.xAxisID = a.xAxisID || r.xAxes[0].id), null !== t.yAxisID && t.yAxisID in i && !a.yAxisID || (t.yAxisID = a.yAxisID || r.yAxes[0].id)
+            },
+            getDataset: function () {
+                return this.chart.data.datasets[this.index]
+            },
+            getMeta: function () {
+                return this.chart.getDatasetMeta(this.index)
+            },
+            getScaleForId: function (e) {
+                return this.chart.scales[e]
+            },
+            _getValueScaleId: function () {
+                return this.getMeta().yAxisID
+            },
+            _getIndexScaleId: function () {
+                return this.getMeta().xAxisID
+            },
+            _getValueScale: function () {
+                return this.getScaleForId(this._getValueScaleId())
+            },
+            _getIndexScale: function () {
+                return this.getScaleForId(this._getIndexScaleId())
+            },
+            reset: function () {
+                this._update(!0)
+            },
+            destroy: function () {
+                this._data && be(this._data, this)
+            },
+            createMetaDataset: function () {
+                var e = this, t = e.datasetElementType;
+                return t && new t({_chart: e.chart, _datasetIndex: e.index})
+            },
+            createMetaData: function (e) {
+                var t = this, n = t.dataElementType;
+                return n && new n({_chart: t.chart, _datasetIndex: t.index, _index: e})
+            },
+            addElements: function () {
+                var e, t, n = this, i = n.getMeta(), a = n.getDataset().data || [], r = i.data;
+                for (e = 0, t = a.length; e < t; ++e) r[e] = r[e] || n.createMetaData(e);
+                i.dataset = i.dataset || n.createMetaDataset()
+            },
+            addElementAndReset: function (e) {
+                var t = this.createMetaData(e);
+                this.getMeta().data.splice(e, 0, t), this.updateElement(t, e, !0)
+            },
+            buildOrUpdateElements: function () {
+                var e = this, t = e.getDataset(), n = t.data || (t.data = []);
+                e._data !== n && (e._data && be(e._data, e), n && Object.isExtensible(n) && Me(n, e), e._data = n), e.resyncElements()
+            },
+            _configure: function () {
+                var e = this;
+                e._config = le.merge(Object.create(null), [e.chart.options.datasets[e._type], e.getDataset()], {
+                    merger: function (e, t, n) {
+                        "_meta" !== e && "data" !== e && le._merger(e, t, n)
+                    }
+                })
+            },
+            _update: function (e) {
+                var t = this;
+                t._configure(), t._cachedDataOpts = null, t.update(e)
+            },
+            update: le.noop,
+            transition: function (e) {
+                for (var t = this.getMeta(), n = t.data || [], i = n.length, a = 0; a < i; ++a) n[a].transition(e);
+                t.dataset && t.dataset.transition(e)
+            },
+            draw: function () {
+                var e = this.getMeta(), t = e.data || [], n = t.length, i = 0;
+                for (e.dataset && e.dataset.draw(); i < n; ++i) t[i].draw()
+            },
+            getStyle: function (e) {
+                var t, n = this, i = n.getMeta(), a = i.dataset;
+                return n._configure(), a && void 0 === e ? t = n._resolveDatasetElementOptions(a || {}) : (e = e || 0, t = n._resolveDataElementOptions(i.data[e] || {}, e)), !1 !== t.fill && null !== t.fill || (t.backgroundColor = t.borderColor), t
+            },
+            _resolveDatasetElementOptions: function (e, t) {
+                var n, i, a, r, l = this, o = l.chart, s = l._config, d = e.custom || {},
+                    u = o.options.elements[l.datasetElementType.prototype._type] || {}, c = l._datasetElementOptions,
+                    h = {}, m = {chart: o, dataset: l.getDataset(), datasetIndex: l.index, hover: t};
+                for (n = 0, i = c.length; n < i; ++n) a = c[n], r = t ? "hover" + a.charAt(0).toUpperCase() + a.slice(1) : a, h[a] = ye([d[r], s[r], u[r]], m);
+                return h
+            },
+            _resolveDataElementOptions: function (e, t) {
+                var n = this, i = e && e.custom, a = n._cachedDataOpts;
+                if (a && !i) return a;
+                var r, l, o, s, d = n.chart, u = n._config,
+                    c = d.options.elements[n.dataElementType.prototype._type] || {}, h = n._dataElementOptions, m = {},
+                    f = {chart: d, dataIndex: t, dataset: n.getDataset(), datasetIndex: n.index}, _ = {cacheable: !i};
+                if (i = i || {}, le.isArray(h)) for (l = 0, o = h.length; l < o; ++l) m[s = h[l]] = ye([i[s], u[s], c[s]], f, t, _); else for (l = 0, o = (r = Object.keys(h)).length; l < o; ++l) m[s = r[l]] = ye([i[s], u[h[s]], u[s], c[s]], f, t, _);
+                return _.cacheable && (n._cachedDataOpts = Object.freeze(m)), m
+            },
+            removeHoverStyle: function (e) {
+                le.merge(e._model, e.$previousStyle || {}), delete e.$previousStyle
+            },
+            setHoverStyle: function (e) {
+                var t = this.chart.data.datasets[e._datasetIndex], n = e._index, i = e.custom || {}, a = e._model,
+                    r = le.getHoverColor;
+                e.$previousStyle = {
+                    backgroundColor: a.backgroundColor,
+                    borderColor: a.borderColor,
+                    borderWidth: a.borderWidth
+                }, a.backgroundColor = ye([i.hoverBackgroundColor, t.hoverBackgroundColor, r(a.backgroundColor)], void 0, n), a.borderColor = ye([i.hoverBorderColor, t.hoverBorderColor, r(a.borderColor)], void 0, n), a.borderWidth = ye([i.hoverBorderWidth, t.hoverBorderWidth, a.borderWidth], void 0, n)
+            },
+            _removeDatasetHoverStyle: function () {
+                var e = this.getMeta().dataset;
+                e && this.removeHoverStyle(e)
+            },
+            _setDatasetHoverStyle: function () {
+                var e, t, n, i, a, r, l = this.getMeta().dataset, o = {};
+                if (l) {
+                    for (r = l._model, a = this._resolveDatasetElementOptions(l, !0), e = 0, t = (i = Object.keys(a)).length; e < t; ++e) o[n = i[e]] = r[n], r[n] = a[n];
+                    l.$previousStyle = o
+                }
+            },
+            resyncElements: function () {
+                var e = this, t = e.getMeta(), n = e.getDataset().data, i = t.data.length, a = n.length;
+                a < i ? t.data.splice(a, i - a) : a > i && e.insertElements(i, a - i)
+            },
+            insertElements: function (e, t) {
+                for (var n = 0; n < t; ++n) this.addElementAndReset(e + n)
+            },
+            onDataPush: function () {
+                var e = arguments.length;
+                this.insertElements(this.getDataset().data.length - e, e)
+            },
+            onDataPop: function () {
+                this.getMeta().data.pop()
+            },
+            onDataShift: function () {
+                this.getMeta().data.shift()
+            },
+            onDataSplice: function (e, t) {
+                this.getMeta().data.splice(e, t), this.insertElements(e, arguments.length - 2)
+            },
+            onDataUnshift: function () {
+                this.insertElements(0, arguments.length)
+            }
+        }), xe.extend = le.inherits;
+        var Le = xe, we = 2 * Math.PI;
+
+        function ke(e, t) {
+            var n = t.startAngle, i = t.endAngle, a = t.pixelMargin, r = a / t.outerRadius, l = t.x, o = t.y;
+            e.beginPath(), e.arc(l, o, t.outerRadius, n - r, i + r), t.innerRadius > a ? (r = a / t.innerRadius, e.arc(l, o, t.innerRadius - a, i + r, n - r, !0)) : e.arc(l, o, a, i + Math.PI / 2, n - Math.PI / 2), e.closePath(), e.clip()
+        }
+
+        function Ye(e, t, n, i) {
+            var a, r = n.endAngle;
+            for (i && (n.endAngle = n.startAngle + we, ke(e, n), n.endAngle = r, n.endAngle === n.startAngle && n.fullCircles && (n.endAngle += we, n.fullCircles--)), e.beginPath(), e.arc(n.x, n.y, n.innerRadius, n.startAngle + we, n.startAngle, !0), a = 0; a < n.fullCircles; ++a) e.stroke();
+            for (e.beginPath(), e.arc(n.x, n.y, t.outerRadius, n.startAngle, n.startAngle + we), a = 0; a < n.fullCircles; ++a) e.stroke()
+        }
+
+        function De(e, t, n) {
+            var i = "inner" === t.borderAlign;
+            i ? (e.lineWidth = 2 * t.borderWidth, e.lineJoin = "round") : (e.lineWidth = t.borderWidth, e.lineJoin = "bevel"), n.fullCircles && Ye(e, t, n, i), i && ke(e, n), e.beginPath(), e.arc(n.x, n.y, t.outerRadius, n.startAngle, n.endAngle), e.arc(n.x, n.y, n.innerRadius, n.endAngle, n.startAngle, !0), e.closePath(), e.stroke()
+        }
+
+        $._set("global", {
+            elements: {
+                arc: {
+                    backgroundColor: $.global.defaultColor,
+                    borderColor: "#fff",
+                    borderWidth: 2,
+                    borderAlign: "center"
+                }
+            }
+        });
+        var Te = fe.extend({
+            _type: "arc", inLabelRange: function (e) {
+                var t = this._view;
+                return !!t && Math.pow(e - t.x, 2) < Math.pow(t.radius + t.hoverRadius, 2)
+            }, inRange: function (e, t) {
+                var n = this._view;
+                if (n) {
+                    for (var i = le.getAngleFromPoint(n, {
+                        x: e,
+                        y: t
+                    }), a = i.angle, r = i.distance, l = n.startAngle, o = n.endAngle; o < l;) o += we;
+                    for (; a > o;) a -= we;
+                    for (; a < l;) a += we;
+                    var s = a >= l && a <= o, d = r >= n.innerRadius && r <= n.outerRadius;
+                    return s && d
+                }
+                return !1
+            }, getCenterPoint: function () {
+                var e = this._view, t = (e.startAngle + e.endAngle) / 2, n = (e.innerRadius + e.outerRadius) / 2;
+                return {x: e.x + Math.cos(t) * n, y: e.y + Math.sin(t) * n}
+            }, getArea: function () {
+                var e = this._view;
+                return Math.PI * ((e.endAngle - e.startAngle) / (2 * Math.PI)) * (Math.pow(e.outerRadius, 2) - Math.pow(e.innerRadius, 2))
+            }, tooltipPosition: function () {
+                var e = this._view, t = e.startAngle + (e.endAngle - e.startAngle) / 2,
+                    n = (e.outerRadius - e.innerRadius) / 2 + e.innerRadius;
+                return {x: e.x + Math.cos(t) * n, y: e.y + Math.sin(t) * n}
+            }, draw: function () {
+                var e, t = this._chart.ctx, n = this._view, i = "inner" === n.borderAlign ? .33 : 0, a = {
+                    x: n.x,
+                    y: n.y,
+                    innerRadius: n.innerRadius,
+                    outerRadius: Math.max(n.outerRadius - i, 0),
+                    pixelMargin: i,
+                    startAngle: n.startAngle,
+                    endAngle: n.endAngle,
+                    fullCircles: Math.floor(n.circumference / we)
+                };
+                if (t.save(), t.fillStyle = n.backgroundColor, t.strokeStyle = n.borderColor, a.fullCircles) {
+                    for (a.endAngle = a.startAngle + we, t.beginPath(), t.arc(a.x, a.y, a.outerRadius, a.startAngle, a.endAngle), t.arc(a.x, a.y, a.innerRadius, a.endAngle, a.startAngle, !0), t.closePath(), e = 0; e < a.fullCircles; ++e) t.fill();
+                    a.endAngle = a.startAngle + n.circumference % we
+                }
+                t.beginPath(), t.arc(a.x, a.y, a.outerRadius, a.startAngle, a.endAngle), t.arc(a.x, a.y, a.innerRadius, a.endAngle, a.startAngle, !0), t.closePath(), t.fill(), n.borderWidth && De(t, n, a), t.restore()
+            }
+        }), Se = le.valueOrDefault, je = $.global.defaultColor;
+        $._set("global", {
+            elements: {
+                line: {
+                    tension: .4,
+                    backgroundColor: je,
+                    borderWidth: 3,
+                    borderColor: je,
+                    borderCapStyle: "butt",
+                    borderDash: [],
+                    borderDashOffset: 0,
+                    borderJoinStyle: "miter",
+                    capBezierPoints: !0,
+                    fill: !0
+                }
+            }
+        });
+        var Ee = fe.extend({
+            _type: "line", draw: function () {
+                var e, t, n, i = this, a = i._view, r = i._chart.ctx, l = a.spanGaps, o = i._children.slice(),
+                    s = $.global, d = s.elements.line, u = -1, c = i._loop;
+                if (o.length) {
+                    if (i._loop) {
+                        for (e = 0; e < o.length; ++e) if (t = le.previousItem(o, e), !o[e]._view.skip && t._view.skip) {
+                            o = o.slice(e).concat(o.slice(0, e)), c = l;
+                            break
+                        }
+                        c && o.push(o[0])
+                    }
+                    for (r.save(), r.lineCap = a.borderCapStyle || d.borderCapStyle, r.setLineDash && r.setLineDash(a.borderDash || d.borderDash), r.lineDashOffset = Se(a.borderDashOffset, d.borderDashOffset), r.lineJoin = a.borderJoinStyle || d.borderJoinStyle, r.lineWidth = Se(a.borderWidth, d.borderWidth), r.strokeStyle = a.borderColor || s.defaultColor, r.beginPath(), (n = o[0]._view).skip || (r.moveTo(n.x, n.y), u = 0), e = 1; e < o.length; ++e) n = o[e]._view, t = -1 === u ? le.previousItem(o, e) : o[u], n.skip || (u !== e - 1 && !l || -1 === u ? r.moveTo(n.x, n.y) : le.canvas.lineTo(r, t._view, n), u = e);
+                    c && r.closePath(), r.stroke(), r.restore()
+                }
+            }
+        }), He = le.valueOrDefault, Oe = $.global.defaultColor;
+
+        function Ae(e) {
+            var t = this._view;
+            return !!t && Math.abs(e - t.x) < t.radius + t.hitRadius
+        }
+
+        function Pe(e) {
+            var t = this._view;
+            return !!t && Math.abs(e - t.y) < t.radius + t.hitRadius
+        }
+
+        $._set("global", {
+            elements: {
+                point: {
+                    radius: 3,
+                    pointStyle: "circle",
+                    backgroundColor: Oe,
+                    borderColor: Oe,
+                    borderWidth: 1,
+                    hitRadius: 1,
+                    hoverRadius: 4,
+                    hoverBorderWidth: 1
+                }
+            }
+        });
+        var Ce = fe.extend({
+            _type: "point", inRange: function (e, t) {
+                var n = this._view;
+                return !!n && Math.pow(e - n.x, 2) + Math.pow(t - n.y, 2) < Math.pow(n.hitRadius + n.radius, 2)
+            }, inLabelRange: Ae, inXRange: Ae, inYRange: Pe, getCenterPoint: function () {
+                var e = this._view;
+                return {x: e.x, y: e.y}
+            }, getArea: function () {
+                return Math.PI * Math.pow(this._view.radius, 2)
+            }, tooltipPosition: function () {
+                var e = this._view;
+                return {x: e.x, y: e.y, padding: e.radius + e.borderWidth}
+            }, draw: function (e) {
+                var t = this._view, n = this._chart.ctx, i = t.pointStyle, a = t.rotation, r = t.radius, l = t.x,
+                    o = t.y, s = $.global, d = s.defaultColor;
+                t.skip || (void 0 === e || le.canvas._isPointInArea(t, e)) && (n.strokeStyle = t.borderColor || d, n.lineWidth = He(t.borderWidth, s.elements.point.borderWidth), n.fillStyle = t.backgroundColor || d, le.canvas.drawPoint(n, i, r, l, o, a))
+            }
+        }), Fe = $.global.defaultColor;
+
+        function Ie(e) {
+            return e && void 0 !== e.width
+        }
+
+        function We(e) {
+            var t, n, i, a, r;
+            return Ie(e) ? (r = e.width / 2, t = e.x - r, n = e.x + r, i = Math.min(e.y, e.base), a = Math.max(e.y, e.base)) : (r = e.height / 2, t = Math.min(e.x, e.base), n = Math.max(e.x, e.base), i = e.y - r, a = e.y + r), {
+                left: t,
+                top: i,
+                right: n,
+                bottom: a
+            }
+        }
+
+        function Ne(e, t, n) {
+            return e === t ? n : e === n ? t : e
+        }
+
+        function ze(e) {
+            var t = e.borderSkipped, n = {};
+            return t ? (e.horizontal ? e.base > e.x && (t = Ne(t, "left", "right")) : e.base < e.y && (t = Ne(t, "bottom", "top")), n[t] = !0, n) : n
+        }
+
+        function Re(e, t, n) {
+            var i, a, r, l, o = e.borderWidth, s = ze(e);
+            return le.isObject(o) ? (i = +o.top || 0, a = +o.right || 0, r = +o.bottom || 0, l = +o.left || 0) : i = a = r = l = +o || 0, {
+                t: s.top || i < 0 ? 0 : i > n ? n : i,
+                r: s.right || a < 0 ? 0 : a > t ? t : a,
+                b: s.bottom || r < 0 ? 0 : r > n ? n : r,
+                l: s.left || l < 0 ? 0 : l > t ? t : l
+            }
+        }
+
+        function Ve(e) {
+            var t = We(e), n = t.right - t.left, i = t.bottom - t.top, a = Re(e, n / 2, i / 2);
+            return {
+                outer: {x: t.left, y: t.top, w: n, h: i},
+                inner: {x: t.left + a.l, y: t.top + a.t, w: n - a.l - a.r, h: i - a.t - a.b}
+            }
+        }
+
+        function Be(e, t, n) {
+            var i = null === t, a = null === n, r = !(!e || i && a) && We(e);
+            return r && (i || t >= r.left && t <= r.right) && (a || n >= r.top && n <= r.bottom)
+        }
+
+        $._set("global", {
+            elements: {
+                rectangle: {
+                    backgroundColor: Fe,
+                    borderColor: Fe,
+                    borderSkipped: "bottom",
+                    borderWidth: 0
+                }
+            }
+        });
+        var Ze = fe.extend({
+            _type: "rectangle", draw: function () {
+                var e = this._chart.ctx, t = this._view, n = Ve(t), i = n.outer, a = n.inner;
+                e.fillStyle = t.backgroundColor, e.fillRect(i.x, i.y, i.w, i.h), i.w === a.w && i.h === a.h || (e.save(), e.beginPath(), e.rect(i.x, i.y, i.w, i.h), e.clip(), e.fillStyle = t.borderColor, e.rect(a.x, a.y, a.w, a.h), e.fill("evenodd"), e.restore())
+            }, height: function () {
+                var e = this._view;
+                return e.base - e.y
+            }, inRange: function (e, t) {
+                return Be(this._view, e, t)
+            }, inLabelRange: function (e, t) {
+                var n = this._view;
+                return Ie(n) ? Be(n, e, null) : Be(n, null, t)
+            }, inXRange: function (e) {
+                return Be(this._view, e, null)
+            }, inYRange: function (e) {
+                return Be(this._view, null, e)
+            }, getCenterPoint: function () {
+                var e, t, n = this._view;
+                return Ie(n) ? (e = n.x, t = (n.y + n.base) / 2) : (e = (n.x + n.base) / 2, t = n.y), {x: e, y: t}
+            }, getArea: function () {
+                var e = this._view;
+                return Ie(e) ? e.width * Math.abs(e.y - e.base) : e.height * Math.abs(e.x - e.base)
+            }, tooltipPosition: function () {
+                var e = this._view;
+                return {x: e.x, y: e.y}
+            }
+        }), Ue = {}, Je = Te, Ge = Ee, qe = Ce, Ke = Ze;
+        Ue.Arc = Je, Ue.Line = Ge, Ue.Point = qe, Ue.Rectangle = Ke;
+        var Xe = le._deprecated, $e = le.valueOrDefault;
+
+        function Qe(e, t) {
+            var n, i, a, r, l = e._length;
+            for (a = 1, r = t.length; a < r; ++a) l = Math.min(l, Math.abs(t[a] - t[a - 1]));
+            for (a = 0, r = e.getTicks().length; a < r; ++a) i = e.getPixelForTick(a), l = a > 0 ? Math.min(l, Math.abs(i - n)) : l, n = i;
+            return l
+        }
+
+        function et(e, t, n) {
+            var i, a, r = n.barThickness, l = t.stackCount, o = t.pixels[e],
+                s = le.isNullOrUndef(r) ? Qe(t.scale, t.pixels) : -1;
+            return le.isNullOrUndef(r) ? (i = s * n.categoryPercentage, a = n.barPercentage) : (i = r * l, a = 1), {
+                chunk: i / l,
+                ratio: a,
+                start: o - i / 2
+            }
+        }
+
+        function tt(e, t, n) {
+            var i, a = t.pixels, r = a[e], l = e > 0 ? a[e - 1] : null, o = e < a.length - 1 ? a[e + 1] : null,
+                s = n.categoryPercentage;
+            return null === l && (l = r - (null === o ? t.end - t.start : o - r)), null === o && (o = r + r - l), i = r - (r - Math.min(l, o)) / 2 * s, {
+                chunk: Math.abs(o - l) / 2 * s / t.stackCount,
+                ratio: n.barPercentage,
+                start: i
+            }
+        }
+
+        $._set("bar", {
+            hover: {mode: "label"},
+            scales: {
+                xAxes: [{type: "category", offset: !0, gridLines: {offsetGridLines: !0}}],
+                yAxes: [{type: "linear"}]
+            }
+        }), $._set("global", {datasets: {bar: {categoryPercentage: .8, barPercentage: .9}}});
+        var nt = Le.extend({
+            dataElementType: Ue.Rectangle,
+            _dataElementOptions: ["backgroundColor", "borderColor", "borderSkipped", "borderWidth", "barPercentage", "barThickness", "categoryPercentage", "maxBarThickness", "minBarLength"],
+            initialize: function () {
+                var e, t, n = this;
+                Le.prototype.initialize.apply(n, arguments), (e = n.getMeta()).stack = n.getDataset().stack, e.bar = !0, t = n._getIndexScale().options, Xe("bar chart", t.barPercentage, "scales.[x/y]Axes.barPercentage", "dataset.barPercentage"), Xe("bar chart", t.barThickness, "scales.[x/y]Axes.barThickness", "dataset.barThickness"), Xe("bar chart", t.categoryPercentage, "scales.[x/y]Axes.categoryPercentage", "dataset.categoryPercentage"), Xe("bar chart", n._getValueScale().options.minBarLength, "scales.[x/y]Axes.minBarLength", "dataset.minBarLength"), Xe("bar chart", t.maxBarThickness, "scales.[x/y]Axes.maxBarThickness", "dataset.maxBarThickness")
+            },
+            update: function (e) {
+                var t, n, i = this, a = i.getMeta().data;
+                for (i._ruler = i.getRuler(), t = 0, n = a.length; t < n; ++t) i.updateElement(a[t], t, e)
+            },
+            updateElement: function (e, t, n) {
+                var i = this, a = i.getMeta(), r = i.getDataset(), l = i._resolveDataElementOptions(e, t);
+                e._xScale = i.getScaleForId(a.xAxisID), e._yScale = i.getScaleForId(a.yAxisID), e._datasetIndex = i.index, e._index = t, e._model = {
+                    backgroundColor: l.backgroundColor,
+                    borderColor: l.borderColor,
+                    borderSkipped: l.borderSkipped,
+                    borderWidth: l.borderWidth,
+                    datasetLabel: r.label,
+                    label: i.chart.data.labels[t]
+                }, le.isArray(r.data[t]) && (e._model.borderSkipped = null), i._updateElementGeometry(e, t, n, l), e.pivot()
+            },
+            _updateElementGeometry: function (e, t, n, i) {
+                var a = this, r = e._model, l = a._getValueScale(), o = l.getBasePixel(), s = l.isHorizontal(),
+                    d = a._ruler || a.getRuler(), u = a.calculateBarValuePixels(a.index, t, i),
+                    c = a.calculateBarIndexPixels(a.index, t, d, i);
+                r.horizontal = s, r.base = n ? o : u.base, r.x = s ? n ? o : u.head : c.center, r.y = s ? c.center : n ? o : u.head, r.height = s ? c.size : void 0, r.width = s ? void 0 : c.size
+            },
+            _getStacks: function (e) {
+                var t, n, i = this, a = i._getIndexScale(), r = a._getMatchingVisibleMetas(i._type),
+                    l = a.options.stacked, o = r.length, s = [];
+                for (t = 0; t < o && (n = r[t], (!1 === l || -1 === s.indexOf(n.stack) || void 0 === l && void 0 === n.stack) && s.push(n.stack), n.index !== e); ++t) ;
+                return s
+            },
+            getStackCount: function () {
+                return this._getStacks().length
+            },
+            getStackIndex: function (e, t) {
+                var n = this._getStacks(e), i = void 0 !== t ? n.indexOf(t) : -1;
+                return -1 === i ? n.length - 1 : i
+            },
+            getRuler: function () {
+                var e, t, n = this, i = n._getIndexScale(), a = [];
+                for (e = 0, t = n.getMeta().data.length; e < t; ++e) a.push(i.getPixelForValue(null, e, n.index));
+                return {pixels: a, start: i._startPixel, end: i._endPixel, stackCount: n.getStackCount(), scale: i}
+            },
+            calculateBarValuePixels: function (e, t, n) {
+                var i, a, r, l, o, s, d, u = this, c = u.chart, h = u._getValueScale(), m = h.isHorizontal(),
+                    f = c.data.datasets, _ = h._getMatchingVisibleMetas(u._type), p = h._parseValue(f[e].data[t]),
+                    g = n.minBarLength, y = h.options.stacked, v = u.getMeta().stack,
+                    M = void 0 === p.start ? 0 : p.max >= 0 && p.min >= 0 ? p.min : p.max,
+                    b = void 0 === p.start ? p.end : p.max >= 0 && p.min >= 0 ? p.max - p.min : p.min - p.max,
+                    x = _.length;
+                if (y || void 0 === y && void 0 !== v) for (i = 0; i < x && (a = _[i]).index !== e; ++i) a.stack === v && (r = void 0 === (d = h._parseValue(f[a.index].data[t])).start ? d.end : d.min >= 0 && d.max >= 0 ? d.max : d.min, (p.min < 0 && r < 0 || p.max >= 0 && r > 0) && (M += r));
+                return l = h.getPixelForValue(M), s = (o = h.getPixelForValue(M + b)) - l, void 0 !== g && Math.abs(s) < g && (s = g, o = b >= 0 && !m || b < 0 && m ? l - g : l + g), {
+                    size: s,
+                    base: l,
+                    head: o,
+                    center: o + s / 2
+                }
+            },
+            calculateBarIndexPixels: function (e, t, n, i) {
+                var a = this, r = "flex" === i.barThickness ? tt(t, n, i) : et(t, n, i),
+                    l = a.getStackIndex(e, a.getMeta().stack), o = r.start + r.chunk * l + r.chunk / 2,
+                    s = Math.min($e(i.maxBarThickness, 1 / 0), r.chunk * r.ratio);
+                return {base: o - s / 2, head: o + s / 2, center: o, size: s}
+            },
+            draw: function () {
+                var e = this, t = e.chart, n = e._getValueScale(), i = e.getMeta().data, a = e.getDataset(),
+                    r = i.length, l = 0;
+                for (le.canvas.clipArea(t.ctx, t.chartArea); l < r; ++l) {
+                    var o = n._parseValue(a.data[l]);
+                    isNaN(o.min) || isNaN(o.max) || i[l].draw()
+                }
+                le.canvas.unclipArea(t.ctx)
+            },
+            _resolveDataElementOptions: function () {
+                var e = this, t = le.extend({}, Le.prototype._resolveDataElementOptions.apply(e, arguments)),
+                    n = e._getIndexScale().options, i = e._getValueScale().options;
+                return t.barPercentage = $e(n.barPercentage, t.barPercentage), t.barThickness = $e(n.barThickness, t.barThickness), t.categoryPercentage = $e(n.categoryPercentage, t.categoryPercentage), t.maxBarThickness = $e(n.maxBarThickness, t.maxBarThickness), t.minBarLength = $e(i.minBarLength, t.minBarLength), t
+            }
+        }), it = le.valueOrDefault, at = le.options.resolve;
+        $._set("bubble", {
+            hover: {mode: "single"},
+            scales: {
+                xAxes: [{type: "linear", position: "bottom", id: "x-axis-0"}],
+                yAxes: [{type: "linear", position: "left", id: "y-axis-0"}]
+            },
+            tooltips: {
+                callbacks: {
+                    title: function () {
+                        return ""
+                    }, label: function (e, t) {
+                        var n = t.datasets[e.datasetIndex].label || "", i = t.datasets[e.datasetIndex].data[e.index];
+                        return n + ": (" + e.xLabel + ", " + e.yLabel + ", " + i.r + ")"
+                    }
+                }
+            }
+        });
+        var rt = Le.extend({
+            dataElementType: Ue.Point,
+            _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth", "hoverRadius", "hitRadius", "pointStyle", "rotation"],
+            update: function (e) {
+                var t = this, n = t.getMeta().data;
+                le.each(n, (function (n, i) {
+                    t.updateElement(n, i, e)
+                }))
+            },
+            updateElement: function (e, t, n) {
+                var i = this, a = i.getMeta(), r = e.custom || {}, l = i.getScaleForId(a.xAxisID),
+                    o = i.getScaleForId(a.yAxisID), s = i._resolveDataElementOptions(e, t), d = i.getDataset().data[t],
+                    u = i.index,
+                    c = n ? l.getPixelForDecimal(.5) : l.getPixelForValue("object" == typeof d ? d : NaN, t, u),
+                    h = n ? o.getBasePixel() : o.getPixelForValue(d, t, u);
+                e._xScale = l, e._yScale = o, e._options = s, e._datasetIndex = u, e._index = t, e._model = {
+                    backgroundColor: s.backgroundColor,
+                    borderColor: s.borderColor,
+                    borderWidth: s.borderWidth,
+                    hitRadius: s.hitRadius,
+                    pointStyle: s.pointStyle,
+                    rotation: s.rotation,
+                    radius: n ? 0 : s.radius,
+                    skip: r.skip || isNaN(c) || isNaN(h),
+                    x: c,
+                    y: h
+                }, e.pivot()
+            },
+            setHoverStyle: function (e) {
+                var t = e._model, n = e._options, i = le.getHoverColor;
+                e.$previousStyle = {
+                    backgroundColor: t.backgroundColor,
+                    borderColor: t.borderColor,
+                    borderWidth: t.borderWidth,
+                    radius: t.radius
+                }, t.backgroundColor = it(n.hoverBackgroundColor, i(n.backgroundColor)), t.borderColor = it(n.hoverBorderColor, i(n.borderColor)), t.borderWidth = it(n.hoverBorderWidth, n.borderWidth), t.radius = n.radius + n.hoverRadius
+            },
+            _resolveDataElementOptions: function (e, t) {
+                var n = this, i = n.chart, a = n.getDataset(), r = e.custom || {}, l = a.data[t] || {},
+                    o = Le.prototype._resolveDataElementOptions.apply(n, arguments),
+                    s = {chart: i, dataIndex: t, dataset: a, datasetIndex: n.index};
+                return n._cachedDataOpts === o && (o = le.extend({}, o)), o.radius = at([r.radius, l.r, n._config.radius, i.options.elements.point.radius], s, t), o
+            }
+        }), lt = le.valueOrDefault, ot = Math.PI, st = 2 * ot, dt = ot / 2;
+        $._set("doughnut", {
+            animation: {animateRotate: !0, animateScale: !1}, hover: {mode: "single"}, legendCallback: function (e) {
+                var t, n, i, a = document.createElement("ul"), r = e.data, l = r.datasets, o = r.labels;
+                if (a.setAttribute("class", e.id + "-legend"), l.length) for (t = 0, n = l[0].data.length; t < n; ++t) (i = a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = l[0].backgroundColor[t], o[t] && i.appendChild(document.createTextNode(o[t]));
+                return a.outerHTML
+            }, legend: {
+                labels: {
+                    generateLabels: function (e) {
+                        var t = e.data;
+                        return t.labels.length && t.datasets.length ? t.labels.map((function (n, i) {
+                            var a = e.getDatasetMeta(0), r = a.controller.getStyle(i);
+                            return {
+                                text: n,
+                                fillStyle: r.backgroundColor,
+                                strokeStyle: r.borderColor,
+                                lineWidth: r.borderWidth,
+                                hidden: isNaN(t.datasets[0].data[i]) || a.data[i].hidden,
+                                index: i
+                            }
+                        })) : []
+                    }
+                }, onClick: function (e, t) {
+                    var n, i, a, r = t.index, l = this.chart;
+                    for (n = 0, i = (l.data.datasets || []).length; n < i; ++n) (a = l.getDatasetMeta(n)).data[r] && (a.data[r].hidden = !a.data[r].hidden);
+                    l.update()
+                }
+            }, cutoutPercentage: 50, rotation: -dt, circumference: st, tooltips: {
+                callbacks: {
+                    title: function () {
+                        return ""
+                    }, label: function (e, t) {
+                        var n = t.labels[e.index], i = ": " + t.datasets[e.datasetIndex].data[e.index];
+                        return le.isArray(n) ? (n = n.slice())[0] += i : n += i, n
+                    }
+                }
+            }
+        });
+        var ut = Le.extend({
+            dataElementType: Ue.Arc,
+            linkScales: le.noop,
+            _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "borderAlign", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth"],
+            getRingIndex: function (e) {
+                for (var t = 0, n = 0; n < e; ++n) this.chart.isDatasetVisible(n) && ++t;
+                return t
+            },
+            update: function (e) {
+                var t, n, i, a, r = this, l = r.chart, o = l.chartArea, s = l.options, d = 1, u = 1, c = 0, h = 0,
+                    m = r.getMeta(), f = m.data, _ = s.cutoutPercentage / 100 || 0, p = s.circumference,
+                    g = r._getRingWeight(r.index);
+                if (p < st) {
+                    var y = s.rotation % st, v = (y += y >= ot ? -st : y < -ot ? st : 0) + p, M = Math.cos(y),
+                        b = Math.sin(y), x = Math.cos(v), L = Math.sin(v), w = y <= 0 && v >= 0 || v >= st,
+                        k = y <= dt && v >= dt || v >= st + dt, Y = y <= -dt && v >= -dt || v >= ot + dt,
+                        D = y === -ot || v >= ot ? -1 : Math.min(M, M * _, x, x * _),
+                        T = Y ? -1 : Math.min(b, b * _, L, L * _), S = w ? 1 : Math.max(M, M * _, x, x * _),
+                        j = k ? 1 : Math.max(b, b * _, L, L * _);
+                    d = (S - D) / 2, u = (j - T) / 2, c = -(S + D) / 2, h = -(j + T) / 2
+                }
+                for (i = 0, a = f.length; i < a; ++i) f[i]._options = r._resolveDataElementOptions(f[i], i);
+                for (l.borderWidth = r.getMaxBorderWidth(), t = (o.right - o.left - l.borderWidth) / d, n = (o.bottom - o.top - l.borderWidth) / u, l.outerRadius = Math.max(Math.min(t, n) / 2, 0), l.innerRadius = Math.max(l.outerRadius * _, 0), l.radiusLength = (l.outerRadius - l.innerRadius) / (r._getVisibleDatasetWeightTotal() || 1), l.offsetX = c * l.outerRadius, l.offsetY = h * l.outerRadius, m.total = r.calculateTotal(), r.outerRadius = l.outerRadius - l.radiusLength * r._getRingWeightOffset(r.index), r.innerRadius = Math.max(r.outerRadius - l.radiusLength * g, 0), i = 0, a = f.length; i < a; ++i) r.updateElement(f[i], i, e)
+            },
+            updateElement: function (e, t, n) {
+                var i = this, a = i.chart, r = a.chartArea, l = a.options, o = l.animation, s = (r.left + r.right) / 2,
+                    d = (r.top + r.bottom) / 2, u = l.rotation, c = l.rotation, h = i.getDataset(),
+                    m = n && o.animateRotate || e.hidden ? 0 : i.calculateCircumference(h.data[t]) * (l.circumference / st),
+                    f = n && o.animateScale ? 0 : i.innerRadius, _ = n && o.animateScale ? 0 : i.outerRadius,
+                    p = e._options || {};
+                le.extend(e, {
+                    _datasetIndex: i.index,
+                    _index: t,
+                    _model: {
+                        backgroundColor: p.backgroundColor,
+                        borderColor: p.borderColor,
+                        borderWidth: p.borderWidth,
+                        borderAlign: p.borderAlign,
+                        x: s + a.offsetX,
+                        y: d + a.offsetY,
+                        startAngle: u,
+                        endAngle: c,
+                        circumference: m,
+                        outerRadius: _,
+                        innerRadius: f,
+                        label: le.valueAtIndexOrDefault(h.label, t, a.data.labels[t])
+                    }
+                });
+                var g = e._model;
+                n && o.animateRotate || (g.startAngle = 0 === t ? l.rotation : i.getMeta().data[t - 1]._model.endAngle, g.endAngle = g.startAngle + g.circumference), e.pivot()
+            },
+            calculateTotal: function () {
+                var e, t = this.getDataset(), n = this.getMeta(), i = 0;
+                return le.each(n.data, (function (n, a) {
+                    e = t.data[a], isNaN(e) || n.hidden || (i += Math.abs(e))
+                })), i
+            },
+            calculateCircumference: function (e) {
+                var t = this.getMeta().total;
+                return t > 0 && !isNaN(e) ? st * (Math.abs(e) / t) : 0
+            },
+            getMaxBorderWidth: function (e) {
+                var t, n, i, a, r, l, o, s, d = this, u = 0, c = d.chart;
+                if (!e) for (t = 0, n = c.data.datasets.length; t < n; ++t) if (c.isDatasetVisible(t)) {
+                    e = (i = c.getDatasetMeta(t)).data, t !== d.index && (r = i.controller);
+                    break
+                }
+                if (!e) return 0;
+                for (t = 0, n = e.length; t < n; ++t) a = e[t], r ? (r._configure(), l = r._resolveDataElementOptions(a, t)) : l = a._options, "inner" !== l.borderAlign && (o = l.borderWidth, u = (s = l.hoverBorderWidth) > (u = o > u ? o : u) ? s : u);
+                return u
+            },
+            setHoverStyle: function (e) {
+                var t = e._model, n = e._options, i = le.getHoverColor;
+                e.$previousStyle = {
+                    backgroundColor: t.backgroundColor,
+                    borderColor: t.borderColor,
+                    borderWidth: t.borderWidth
+                }, t.backgroundColor = lt(n.hoverBackgroundColor, i(n.backgroundColor)), t.borderColor = lt(n.hoverBorderColor, i(n.borderColor)), t.borderWidth = lt(n.hoverBorderWidth, n.borderWidth)
+            },
+            _getRingWeightOffset: function (e) {
+                for (var t = 0, n = 0; n < e; ++n) this.chart.isDatasetVisible(n) && (t += this._getRingWeight(n));
+                return t
+            },
+            _getRingWeight: function (e) {
+                return Math.max(lt(this.chart.data.datasets[e].weight, 1), 0)
+            },
+            _getVisibleDatasetWeightTotal: function () {
+                return this._getRingWeightOffset(this.chart.data.datasets.length)
+            }
+        });
+        $._set("horizontalBar", {
+            hover: {mode: "index", axis: "y"},
+            scales: {
+                xAxes: [{type: "linear", position: "bottom"}],
+                yAxes: [{type: "category", position: "left", offset: !0, gridLines: {offsetGridLines: !0}}]
+            },
+            elements: {rectangle: {borderSkipped: "left"}},
+            tooltips: {mode: "index", axis: "y"}
+        }), $._set("global", {datasets: {horizontalBar: {categoryPercentage: .8, barPercentage: .9}}});
+        var ct = nt.extend({
+            _getValueScaleId: function () {
+                return this.getMeta().xAxisID
+            }, _getIndexScaleId: function () {
+                return this.getMeta().yAxisID
+            }
+        }), ht = le.valueOrDefault, mt = le.options.resolve, ft = le.canvas._isPointInArea;
+
+        function _t(e, t) {
+            var n = e && e.options.ticks || {}, i = n.reverse, a = void 0 === n.min ? t : 0,
+                r = void 0 === n.max ? t : 0;
+            return {start: i ? r : a, end: i ? a : r}
+        }
+
+        function pt(e, t, n) {
+            var i = n / 2, a = _t(e, i), r = _t(t, i);
+            return {top: r.end, right: a.end, bottom: r.start, left: a.start}
+        }
+
+        function gt(e) {
+            var t, n, i, a;
+            return le.isObject(e) ? (t = e.top, n = e.right, i = e.bottom, a = e.left) : t = n = i = a = e, {
+                top: t,
+                right: n,
+                bottom: i,
+                left: a
+            }
+        }
+
+        $._set("line", {
+            showLines: !0,
+            spanGaps: !1,
+            hover: {mode: "label"},
+            scales: {xAxes: [{type: "category", id: "x-axis-0"}], yAxes: [{type: "linear", id: "y-axis-0"}]}
+        });
+        var yt = Le.extend({
+            datasetElementType: Ue.Line,
+            dataElementType: Ue.Point,
+            _datasetElementOptions: ["backgroundColor", "borderCapStyle", "borderColor", "borderDash", "borderDashOffset", "borderJoinStyle", "borderWidth", "cubicInterpolationMode", "fill"],
+            _dataElementOptions: {
+                backgroundColor: "pointBackgroundColor",
+                borderColor: "pointBorderColor",
+                borderWidth: "pointBorderWidth",
+                hitRadius: "pointHitRadius",
+                hoverBackgroundColor: "pointHoverBackgroundColor",
+                hoverBorderColor: "pointHoverBorderColor",
+                hoverBorderWidth: "pointHoverBorderWidth",
+                hoverRadius: "pointHoverRadius",
+                pointStyle: "pointStyle",
+                radius: "pointRadius",
+                rotation: "pointRotation"
+            },
+            update: function (e) {
+                var t, n, i = this, a = i.getMeta(), r = a.dataset, l = a.data || [], o = i.chart.options,
+                    s = i._config, d = i._showLine = ht(s.showLine, o.showLines);
+                for (i._xScale = i.getScaleForId(a.xAxisID), i._yScale = i.getScaleForId(a.yAxisID), d && (void 0 !== s.tension && void 0 === s.lineTension && (s.lineTension = s.tension), r._scale = i._yScale, r._datasetIndex = i.index, r._children = l, r._model = i._resolveDatasetElementOptions(r), r.pivot()), t = 0, n = l.length; t < n; ++t) i.updateElement(l[t], t, e);
+                for (d && 0 !== r._model.tension && i.updateBezierControlPoints(), t = 0, n = l.length; t < n; ++t) l[t].pivot()
+            },
+            updateElement: function (e, t, n) {
+                var i, a, r = this, l = r.getMeta(), o = e.custom || {}, s = r.getDataset(), d = r.index, u = s.data[t],
+                    c = r._xScale, h = r._yScale, m = l.dataset._model, f = r._resolveDataElementOptions(e, t);
+                i = c.getPixelForValue("object" == typeof u ? u : NaN, t, d), a = n ? h.getBasePixel() : r.calculatePointY(u, t, d), e._xScale = c, e._yScale = h, e._options = f, e._datasetIndex = d, e._index = t, e._model = {
+                    x: i,
+                    y: a,
+                    skip: o.skip || isNaN(i) || isNaN(a),
+                    radius: f.radius,
+                    pointStyle: f.pointStyle,
+                    rotation: f.rotation,
+                    backgroundColor: f.backgroundColor,
+                    borderColor: f.borderColor,
+                    borderWidth: f.borderWidth,
+                    tension: ht(o.tension, m ? m.tension : 0),
+                    steppedLine: !!m && m.steppedLine,
+                    hitRadius: f.hitRadius
+                }
+            },
+            _resolveDatasetElementOptions: function (e) {
+                var t = this, n = t._config, i = e.custom || {}, a = t.chart.options, r = a.elements.line,
+                    l = Le.prototype._resolveDatasetElementOptions.apply(t, arguments);
+                return l.spanGaps = ht(n.spanGaps, a.spanGaps), l.tension = ht(n.lineTension, r.tension), l.steppedLine = mt([i.steppedLine, n.steppedLine, r.stepped]), l.clip = gt(ht(n.clip, pt(t._xScale, t._yScale, l.borderWidth))), l
+            },
+            calculatePointY: function (e, t, n) {
+                var i, a, r, l, o, s, d, u = this, c = u.chart, h = u._yScale, m = 0, f = 0;
+                if (h.options.stacked) {
+                    for (o = +h.getRightValue(e), d = (s = c._getSortedVisibleDatasetMetas()).length, i = 0; i < d && (r = s[i]).index !== n; ++i) a = c.data.datasets[r.index], "line" === r.type && r.yAxisID === h.id && ((l = +h.getRightValue(a.data[t])) < 0 ? f += l || 0 : m += l || 0);
+                    return o < 0 ? h.getPixelForValue(f + o) : h.getPixelForValue(m + o)
+                }
+                return h.getPixelForValue(e)
+            },
+            updateBezierControlPoints: function () {
+                var e, t, n, i, a = this, r = a.chart, l = a.getMeta(), o = l.dataset._model, s = r.chartArea,
+                    d = l.data || [];
+
+                function u(e, t, n) {
+                    return Math.max(Math.min(e, n), t)
+                }
+
+                if (o.spanGaps && (d = d.filter((function (e) {
+                    return !e._model.skip
+                }))), "monotone" === o.cubicInterpolationMode) le.splineCurveMonotone(d); else for (e = 0, t = d.length; e < t; ++e) n = d[e]._model, i = le.splineCurve(le.previousItem(d, e)._model, n, le.nextItem(d, e)._model, o.tension), n.controlPointPreviousX = i.previous.x, n.controlPointPreviousY = i.previous.y, n.controlPointNextX = i.next.x, n.controlPointNextY = i.next.y;
+                if (r.options.elements.line.capBezierPoints) for (e = 0, t = d.length; e < t; ++e) n = d[e]._model, ft(n, s) && (e > 0 && ft(d[e - 1]._model, s) && (n.controlPointPreviousX = u(n.controlPointPreviousX, s.left, s.right), n.controlPointPreviousY = u(n.controlPointPreviousY, s.top, s.bottom)), e < d.length - 1 && ft(d[e + 1]._model, s) && (n.controlPointNextX = u(n.controlPointNextX, s.left, s.right), n.controlPointNextY = u(n.controlPointNextY, s.top, s.bottom)))
+            },
+            draw: function () {
+                var e, t = this, n = t.chart, i = t.getMeta(), a = i.data || [], r = n.chartArea, l = n.canvas, o = 0,
+                    s = a.length;
+                for (t._showLine && (e = i.dataset._model.clip, le.canvas.clipArea(n.ctx, {
+                    left: !1 === e.left ? 0 : r.left - e.left,
+                    right: !1 === e.right ? l.width : r.right + e.right,
+                    top: !1 === e.top ? 0 : r.top - e.top,
+                    bottom: !1 === e.bottom ? l.height : r.bottom + e.bottom
+                }), i.dataset.draw(), le.canvas.unclipArea(n.ctx)); o < s; ++o) a[o].draw(r)
+            },
+            setHoverStyle: function (e) {
+                var t = e._model, n = e._options, i = le.getHoverColor;
+                e.$previousStyle = {
+                    backgroundColor: t.backgroundColor,
+                    borderColor: t.borderColor,
+                    borderWidth: t.borderWidth,
+                    radius: t.radius
+                }, t.backgroundColor = ht(n.hoverBackgroundColor, i(n.backgroundColor)), t.borderColor = ht(n.hoverBorderColor, i(n.borderColor)), t.borderWidth = ht(n.hoverBorderWidth, n.borderWidth), t.radius = ht(n.hoverRadius, n.radius)
+            }
+        }), vt = le.options.resolve;
+        $._set("polarArea", {
+            scale: {
+                type: "radialLinear",
+                angleLines: {display: !1},
+                gridLines: {circular: !0},
+                pointLabels: {display: !1},
+                ticks: {beginAtZero: !0}
+            },
+            animation: {animateRotate: !0, animateScale: !0},
+            startAngle: -.5 * Math.PI,
+            legendCallback: function (e) {
+                var t, n, i, a = document.createElement("ul"), r = e.data, l = r.datasets, o = r.labels;
+                if (a.setAttribute("class", e.id + "-legend"), l.length) for (t = 0, n = l[0].data.length; t < n; ++t) (i = a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = l[0].backgroundColor[t], o[t] && i.appendChild(document.createTextNode(o[t]));
+                return a.outerHTML
+            },
+            legend: {
+                labels: {
+                    generateLabels: function (e) {
+                        var t = e.data;
+                        return t.labels.length && t.datasets.length ? t.labels.map((function (n, i) {
+                            var a = e.getDatasetMeta(0), r = a.controller.getStyle(i);
+                            return {
+                                text: n,
+                                fillStyle: r.backgroundColor,
+                                strokeStyle: r.borderColor,
+                                lineWidth: r.borderWidth,
+                                hidden: isNaN(t.datasets[0].data[i]) || a.data[i].hidden,
+                                index: i
+                            }
+                        })) : []
+                    }
+                }, onClick: function (e, t) {
+                    var n, i, a, r = t.index, l = this.chart;
+                    for (n = 0, i = (l.data.datasets || []).length; n < i; ++n) (a = l.getDatasetMeta(n)).data[r].hidden = !a.data[r].hidden;
+                    l.update()
+                }
+            },
+            tooltips: {
+                callbacks: {
+                    title: function () {
+                        return ""
+                    }, label: function (e, t) {
+                        return t.labels[e.index] + ": " + e.yLabel
+                    }
+                }
+            }
+        });
+        var Mt = Le.extend({
+            dataElementType: Ue.Arc,
+            linkScales: le.noop,
+            _dataElementOptions: ["backgroundColor", "borderColor", "borderWidth", "borderAlign", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth"],
+            _getIndexScaleId: function () {
+                return this.chart.scale.id
+            },
+            _getValueScaleId: function () {
+                return this.chart.scale.id
+            },
+            update: function (e) {
+                var t, n, i, a = this, r = a.getDataset(), l = a.getMeta(), o = a.chart.options.startAngle || 0,
+                    s = a._starts = [], d = a._angles = [], u = l.data;
+                for (a._updateRadius(), l.count = a.countVisibleElements(), t = 0, n = r.data.length; t < n; t++) s[t] = o, i = a._computeAngle(t), d[t] = i, o += i;
+                for (t = 0, n = u.length; t < n; ++t) u[t]._options = a._resolveDataElementOptions(u[t], t), a.updateElement(u[t], t, e)
+            },
+            _updateRadius: function () {
+                var e = this, t = e.chart, n = t.chartArea, i = t.options,
+                    a = Math.min(n.right - n.left, n.bottom - n.top);
+                t.outerRadius = Math.max(a / 2, 0), t.innerRadius = Math.max(i.cutoutPercentage ? t.outerRadius / 100 * i.cutoutPercentage : 1, 0), t.radiusLength = (t.outerRadius - t.innerRadius) / t.getVisibleDatasetCount(), e.outerRadius = t.outerRadius - t.radiusLength * e.index, e.innerRadius = e.outerRadius - t.radiusLength
+            },
+            updateElement: function (e, t, n) {
+                var i = this, a = i.chart, r = i.getDataset(), l = a.options, o = l.animation, s = a.scale,
+                    d = a.data.labels, u = s.xCenter, c = s.yCenter, h = l.startAngle,
+                    m = e.hidden ? 0 : s.getDistanceFromCenterForValue(r.data[t]), f = i._starts[t],
+                    _ = f + (e.hidden ? 0 : i._angles[t]),
+                    p = o.animateScale ? 0 : s.getDistanceFromCenterForValue(r.data[t]), g = e._options || {};
+                le.extend(e, {
+                    _datasetIndex: i.index,
+                    _index: t,
+                    _scale: s,
+                    _model: {
+                        backgroundColor: g.backgroundColor,
+                        borderColor: g.borderColor,
+                        borderWidth: g.borderWidth,
+                        borderAlign: g.borderAlign,
+                        x: u,
+                        y: c,
+                        innerRadius: 0,
+                        outerRadius: n ? p : m,
+                        startAngle: n && o.animateRotate ? h : f,
+                        endAngle: n && o.animateRotate ? h : _,
+                        label: le.valueAtIndexOrDefault(d, t, d[t])
+                    }
+                }), e.pivot()
+            },
+            countVisibleElements: function () {
+                var e = this.getDataset(), t = this.getMeta(), n = 0;
+                return le.each(t.data, (function (t, i) {
+                    isNaN(e.data[i]) || t.hidden || n++
+                })), n
+            },
+            setHoverStyle: function (e) {
+                var t = e._model, n = e._options, i = le.getHoverColor, a = le.valueOrDefault;
+                e.$previousStyle = {
+                    backgroundColor: t.backgroundColor,
+                    borderColor: t.borderColor,
+                    borderWidth: t.borderWidth
+                }, t.backgroundColor = a(n.hoverBackgroundColor, i(n.backgroundColor)), t.borderColor = a(n.hoverBorderColor, i(n.borderColor)), t.borderWidth = a(n.hoverBorderWidth, n.borderWidth)
+            },
+            _computeAngle: function (e) {
+                var t = this, n = this.getMeta().count, i = t.getDataset(), a = t.getMeta();
+                if (isNaN(i.data[e]) || a.data[e].hidden) return 0;
+                var r = {chart: t.chart, dataIndex: e, dataset: i, datasetIndex: t.index};
+                return vt([t.chart.options.elements.arc.angle, 2 * Math.PI / n], r, e)
+            }
+        });
+        $._set("pie", le.clone($.doughnut)), $._set("pie", {cutoutPercentage: 0});
+        var bt = ut, xt = le.valueOrDefault;
+        $._set("radar", {spanGaps: !1, scale: {type: "radialLinear"}, elements: {line: {fill: "start", tension: 0}}});
+        var Lt = Le.extend({
+            datasetElementType: Ue.Line,
+            dataElementType: Ue.Point,
+            linkScales: le.noop,
+            _datasetElementOptions: ["backgroundColor", "borderWidth", "borderColor", "borderCapStyle", "borderDash", "borderDashOffset", "borderJoinStyle", "fill"],
+            _dataElementOptions: {
+                backgroundColor: "pointBackgroundColor",
+                borderColor: "pointBorderColor",
+                borderWidth: "pointBorderWidth",
+                hitRadius: "pointHitRadius",
+                hoverBackgroundColor: "pointHoverBackgroundColor",
+                hoverBorderColor: "pointHoverBorderColor",
+                hoverBorderWidth: "pointHoverBorderWidth",
+                hoverRadius: "pointHoverRadius",
+                pointStyle: "pointStyle",
+                radius: "pointRadius",
+                rotation: "pointRotation"
+            },
+            _getIndexScaleId: function () {
+                return this.chart.scale.id
+            },
+            _getValueScaleId: function () {
+                return this.chart.scale.id
+            },
+            update: function (e) {
+                var t, n, i = this, a = i.getMeta(), r = a.dataset, l = a.data || [], o = i.chart.scale, s = i._config;
+                for (void 0 !== s.tension && void 0 === s.lineTension && (s.lineTension = s.tension), r._scale = o, r._datasetIndex = i.index, r._children = l, r._loop = !0, r._model = i._resolveDatasetElementOptions(r), r.pivot(), t = 0, n = l.length; t < n; ++t) i.updateElement(l[t], t, e);
+                for (i.updateBezierControlPoints(), t = 0, n = l.length; t < n; ++t) l[t].pivot()
+            },
+            updateElement: function (e, t, n) {
+                var i = this, a = e.custom || {}, r = i.getDataset(), l = i.chart.scale,
+                    o = l.getPointPositionForValue(t, r.data[t]), s = i._resolveDataElementOptions(e, t),
+                    d = i.getMeta().dataset._model, u = n ? l.xCenter : o.x, c = n ? l.yCenter : o.y;
+                e._scale = l, e._options = s, e._datasetIndex = i.index, e._index = t, e._model = {
+                    x: u,
+                    y: c,
+                    skip: a.skip || isNaN(u) || isNaN(c),
+                    radius: s.radius,
+                    pointStyle: s.pointStyle,
+                    rotation: s.rotation,
+                    backgroundColor: s.backgroundColor,
+                    borderColor: s.borderColor,
+                    borderWidth: s.borderWidth,
+                    tension: xt(a.tension, d ? d.tension : 0),
+                    hitRadius: s.hitRadius
+                }
+            },
+            _resolveDatasetElementOptions: function () {
+                var e = this, t = e._config, n = e.chart.options,
+                    i = Le.prototype._resolveDatasetElementOptions.apply(e, arguments);
+                return i.spanGaps = xt(t.spanGaps, n.spanGaps), i.tension = xt(t.lineTension, n.elements.line.tension), i
+            },
+            updateBezierControlPoints: function () {
+                var e, t, n, i, a = this, r = a.getMeta(), l = a.chart.chartArea, o = r.data || [];
+
+                function s(e, t, n) {
+                    return Math.max(Math.min(e, n), t)
+                }
+
+                for (r.dataset._model.spanGaps && (o = o.filter((function (e) {
+                    return !e._model.skip
+                }))), e = 0, t = o.length; e < t; ++e) n = o[e]._model, i = le.splineCurve(le.previousItem(o, e, !0)._model, n, le.nextItem(o, e, !0)._model, n.tension), n.controlPointPreviousX = s(i.previous.x, l.left, l.right), n.controlPointPreviousY = s(i.previous.y, l.top, l.bottom), n.controlPointNextX = s(i.next.x, l.left, l.right), n.controlPointNextY = s(i.next.y, l.top, l.bottom)
+            },
+            setHoverStyle: function (e) {
+                var t = e._model, n = e._options, i = le.getHoverColor;
+                e.$previousStyle = {
+                    backgroundColor: t.backgroundColor,
+                    borderColor: t.borderColor,
+                    borderWidth: t.borderWidth,
+                    radius: t.radius
+                }, t.backgroundColor = xt(n.hoverBackgroundColor, i(n.backgroundColor)), t.borderColor = xt(n.hoverBorderColor, i(n.borderColor)), t.borderWidth = xt(n.hoverBorderWidth, n.borderWidth), t.radius = xt(n.hoverRadius, n.radius)
+            }
+        });
+        $._set("scatter", {
+            hover: {mode: "single"},
+            scales: {
+                xAxes: [{id: "x-axis-1", type: "linear", position: "bottom"}],
+                yAxes: [{id: "y-axis-1", type: "linear", position: "left"}]
+            },
+            tooltips: {
+                callbacks: {
+                    title: function () {
+                        return ""
+                    }, label: function (e) {
+                        return "(" + e.xLabel + ", " + e.yLabel + ")"
+                    }
+                }
+            }
+        }), $._set("global", {datasets: {scatter: {showLine: !1}}});
+        var wt = {
+            bar: nt,
+            bubble: rt,
+            doughnut: ut,
+            horizontalBar: ct,
+            line: yt,
+            polarArea: Mt,
+            pie: bt,
+            radar: Lt,
+            scatter: yt
+        };
+
+        function kt(e, t) {
+            return e.native ? {x: e.x, y: e.y} : le.getRelativePosition(e, t)
+        }
+
+        function Yt(e, t) {
+            var n, i, a, r, l, o, s = e._getSortedVisibleDatasetMetas();
+            for (i = 0, r = s.length; i < r; ++i) for (a = 0, l = (n = s[i].data).length; a < l; ++a) (o = n[a])._view.skip || t(o)
+        }
+
+        function Dt(e, t) {
+            var n = [];
+            return Yt(e, (function (e) {
+                e.inRange(t.x, t.y) && n.push(e)
+            })), n
+        }
+
+        function Tt(e, t, n, i) {
+            var a = Number.POSITIVE_INFINITY, r = [];
+            return Yt(e, (function (e) {
+                if (!n || e.inRange(t.x, t.y)) {
+                    var l = e.getCenterPoint(), o = i(t, l);
+                    o < a ? (r = [e], a = o) : o === a && r.push(e)
+                }
+            })), r
+        }
+
+        function St(e) {
+            var t = -1 !== e.indexOf("x"), n = -1 !== e.indexOf("y");
+            return function (e, i) {
+                var a = t ? Math.abs(e.x - i.x) : 0, r = n ? Math.abs(e.y - i.y) : 0;
+                return Math.sqrt(Math.pow(a, 2) + Math.pow(r, 2))
+            }
+        }
+
+        function jt(e, t, n) {
+            var i = kt(t, e);
+            n.axis = n.axis || "x";
+            var a = St(n.axis), r = n.intersect ? Dt(e, i) : Tt(e, i, !1, a), l = [];
+            return r.length ? (e._getSortedVisibleDatasetMetas().forEach((function (e) {
+                var t = e.data[r[0]._index];
+                t && !t._view.skip && l.push(t)
+            })), l) : []
+        }
+
+        var Et = {
+            modes: {
+                single: function (e, t) {
+                    var n = kt(t, e), i = [];
+                    return Yt(e, (function (e) {
+                        if (e.inRange(n.x, n.y)) return i.push(e), i
+                    })), i.slice(0, 1)
+                }, label: jt, index: jt, dataset: function (e, t, n) {
+                    var i = kt(t, e);
+                    n.axis = n.axis || "xy";
+                    var a = St(n.axis), r = n.intersect ? Dt(e, i) : Tt(e, i, !1, a);
+                    return r.length > 0 && (r = e.getDatasetMeta(r[0]._datasetIndex).data), r
+                }, "x-axis": function (e, t) {
+                    return jt(e, t, {intersect: !1})
+                }, point: function (e, t) {
+                    return Dt(e, kt(t, e))
+                }, nearest: function (e, t, n) {
+                    var i = kt(t, e);
+                    n.axis = n.axis || "xy";
+                    var a = St(n.axis);
+                    return Tt(e, i, n.intersect, a)
+                }, x: function (e, t, n) {
+                    var i = kt(t, e), a = [], r = !1;
+                    return Yt(e, (function (e) {
+                        e.inXRange(i.x) && a.push(e), e.inRange(i.x, i.y) && (r = !0)
+                    })), n.intersect && !r && (a = []), a
+                }, y: function (e, t, n) {
+                    var i = kt(t, e), a = [], r = !1;
+                    return Yt(e, (function (e) {
+                        e.inYRange(i.y) && a.push(e), e.inRange(i.x, i.y) && (r = !0)
+                    })), n.intersect && !r && (a = []), a
+                }
+            }
+        }, Ht = le.extend;
+
+        function Ot(e, t) {
+            return le.where(e, (function (e) {
+                return e.pos === t
+            }))
+        }
+
+        function At(e, t) {
+            return e.sort((function (e, n) {
+                var i = t ? n : e, a = t ? e : n;
+                return i.weight === a.weight ? i.index - a.index : i.weight - a.weight
+            }))
+        }
+
+        function Pt(e) {
+            var t, n, i, a = [];
+            for (t = 0, n = (e || []).length; t < n; ++t) i = e[t], a.push({
+                index: t,
+                box: i,
+                pos: i.position,
+                horizontal: i.isHorizontal(),
+                weight: i.weight
+            });
+            return a
+        }
+
+        function Ct(e, t) {
+            var n, i, a;
+            for (n = 0, i = e.length; n < i; ++n) (a = e[n]).width = a.horizontal ? a.box.fullWidth && t.availableWidth : t.vBoxMaxWidth, a.height = a.horizontal && t.hBoxMaxHeight
+        }
+
+        function Ft(e) {
+            var t = Pt(e), n = At(Ot(t, "left"), !0), i = At(Ot(t, "right")), a = At(Ot(t, "top"), !0),
+                r = At(Ot(t, "bottom"));
+            return {
+                leftAndTop: n.concat(a),
+                rightAndBottom: i.concat(r),
+                chartArea: Ot(t, "chartArea"),
+                vertical: n.concat(i),
+                horizontal: a.concat(r)
+            }
+        }
+
+        function It(e, t, n, i) {
+            return Math.max(e[n], t[n]) + Math.max(e[i], t[i])
+        }
+
+        function Wt(e, t, n) {
+            var i, a, r = n.box, l = e.maxPadding;
+            if (n.size && (e[n.pos] -= n.size), n.size = n.horizontal ? r.height : r.width, e[n.pos] += n.size, r.getPadding) {
+                var o = r.getPadding();
+                l.top = Math.max(l.top, o.top), l.left = Math.max(l.left, o.left), l.bottom = Math.max(l.bottom, o.bottom), l.right = Math.max(l.right, o.right)
+            }
+            if (i = t.outerWidth - It(l, e, "left", "right"), a = t.outerHeight - It(l, e, "top", "bottom"), i !== e.w || a !== e.h) {
+                e.w = i, e.h = a;
+                var s = n.horizontal ? [i, e.w] : [a, e.h];
+                return !(s[0] === s[1] || isNaN(s[0]) && isNaN(s[1]))
+            }
+        }
+
+        function Nt(e) {
+            var t = e.maxPadding;
+
+            function n(n) {
+                var i = Math.max(t[n] - e[n], 0);
+                return e[n] += i, i
+            }
+
+            e.y += n("top"), e.x += n("left"), n("right"), n("bottom")
+        }
+
+        function zt(e, t) {
+            var n = t.maxPadding;
+
+            function i(e) {
+                var i = {left: 0, top: 0, right: 0, bottom: 0};
+                return e.forEach((function (e) {
+                    i[e] = Math.max(t[e], n[e])
+                })), i
+            }
+
+            return i(e ? ["left", "right"] : ["top", "bottom"])
+        }
+
+        function Rt(e, t, n) {
+            var i, a, r, l, o, s, d = [];
+            for (i = 0, a = e.length; i < a; ++i) (l = (r = e[i]).box).update(r.width || t.w, r.height || t.h, zt(r.horizontal, t)), Wt(t, n, r) && (s = !0, d.length && (o = !0)), l.fullWidth || d.push(r);
+            return o && Rt(d, t, n) || s
+        }
+
+        function Vt(e, t, n) {
+            var i, a, r, l, o = n.padding, s = t.x, d = t.y;
+            for (i = 0, a = e.length; i < a; ++i) l = (r = e[i]).box, r.horizontal ? (l.left = l.fullWidth ? o.left : t.left, l.right = l.fullWidth ? n.outerWidth - o.right : t.left + t.w, l.top = d, l.bottom = d + l.height, l.width = l.right - l.left, d = l.bottom) : (l.left = s, l.right = s + l.width, l.top = t.top, l.bottom = t.top + t.h, l.height = l.bottom - l.top, s = l.right);
+            t.x = s, t.y = d
+        }
+
+        $._set("global", {layout: {padding: {top: 0, right: 0, bottom: 0, left: 0}}});
+        var Bt = {
+                defaults: {}, addBox: function (e, t) {
+                    e.boxes || (e.boxes = []), t.fullWidth = t.fullWidth || !1, t.position = t.position || "top", t.weight = t.weight || 0, t._layers = t._layers || function () {
+                        return [{
+                            z: 0, draw: function () {
+                                t.draw.apply(t, arguments)
+                            }
+                        }]
+                    }, e.boxes.push(t)
+                }, removeBox: function (e, t) {
+                    var n = e.boxes ? e.boxes.indexOf(t) : -1;
+                    -1 !== n && e.boxes.splice(n, 1)
+                }, configure: function (e, t, n) {
+                    for (var i, a = ["fullWidth", "position", "weight"], r = a.length, l = 0; l < r; ++l) i = a[l], n.hasOwnProperty(i) && (t[i] = n[i])
+                }, update: function (e, t, n) {
+                    if (e) {
+                        var i = e.options.layout || {}, a = le.options.toPadding(i.padding), r = t - a.width,
+                            l = n - a.height, o = Ft(e.boxes), s = o.vertical, d = o.horizontal, u = Object.freeze({
+                                outerWidth: t,
+                                outerHeight: n,
+                                padding: a,
+                                availableWidth: r,
+                                vBoxMaxWidth: r / 2 / s.length,
+                                hBoxMaxHeight: l / 2
+                            }), c = Ht({maxPadding: Ht({}, a), w: r, h: l, x: a.left, y: a.top}, a);
+                        Ct(s.concat(d), u), Rt(s, c, u), Rt(d, c, u) && Rt(s, c, u), Nt(c), Vt(o.leftAndTop, c, u), c.x += c.w, c.y += c.h, Vt(o.rightAndBottom, c, u), e.chartArea = {
+                            left: c.left,
+                            top: c.top,
+                            right: c.left + c.w,
+                            bottom: c.top + c.h
+                        }, le.each(o.chartArea, (function (t) {
+                            var n = t.box;
+                            Ht(n, e.chartArea), n.update(c.w, c.h)
+                        }))
+                    }
+                }
+            }, Zt = {
+                acquireContext: function (e) {
+                    return e && e.canvas && (e = e.canvas), e && e.getContext("2d") || null
+                }
+            },
+            Ut = "/*\r\n * DOM element rendering detection\r\n * https://davidwalsh.name/detect-node-insertion\r\n */\r\n@keyframes chartjs-render-animation {\r\n\tfrom { opacity: 0.99; }\r\n\tto { opacity: 1; }\r\n}\r\n\r\n.chartjs-render-monitor {\r\n\tanimation: chartjs-render-animation 0.001s;\r\n}\r\n\r\n/*\r\n * DOM element resizing detection\r\n * https://github.com/marcj/css-element-queries\r\n */\r\n.chartjs-size-monitor,\r\n.chartjs-size-monitor-expand,\r\n.chartjs-size-monitor-shrink {\r\n\tposition: absolute;\r\n\tdirection: ltr;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\toverflow: hidden;\r\n\tpointer-events: none;\r\n\tvisibility: hidden;\r\n\tz-index: -1;\r\n}\r\n\r\n.chartjs-size-monitor-expand > div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n",
+            Jt = n(Object.freeze({__proto__: null, default: Ut})), Gt = "$chartjs", qt = "chartjs-",
+            Kt = qt + "size-monitor", Xt = qt + "render-monitor", $t = qt + "render-animation",
+            Qt = ["animationstart", "webkitAnimationStart"], en = {
+                touchstart: "mousedown",
+                touchmove: "mousemove",
+                touchend: "mouseup",
+                pointerenter: "mouseenter",
+                pointerdown: "mousedown",
+                pointermove: "mousemove",
+                pointerup: "mouseup",
+                pointerleave: "mouseout",
+                pointerout: "mouseout"
+            };
+
+        function tn(e, t) {
+            var n = le.getStyle(e, t), i = n && n.match(/^(\d+)(\.\d+)?px$/);
+            return i ? Number(i[1]) : void 0
+        }
+
+        function nn(e, t) {
+            var n = e.style, i = e.getAttribute("height"), a = e.getAttribute("width");
+            if (e[Gt] = {
+                initial: {
+                    height: i,
+                    width: a,
+                    style: {display: n.display, height: n.height, width: n.width}
+                }
+            }, n.display = n.display || "block", null === a || "" === a) {
+                var r = tn(e, "width");
+                void 0 !== r && (e.width = r)
+            }
+            if (null === i || "" === i) if ("" === e.style.height) e.height = e.width / (t.options.aspectRatio || 2); else {
+                var l = tn(e, "height");
+                void 0 !== r && (e.height = l)
+            }
+            return e
+        }
+
+        var an = !!function () {
+            var e = !1;
+            try {
+                var t = Object.defineProperty({}, "passive", {
+                    get: function () {
+                        e = !0
+                    }
+                });
+                window.addEventListener("e", null, t)
+            } catch (e) {
+            }
+            return e
+        }() && {passive: !0};
+
+        function rn(e, t, n) {
+            e.addEventListener(t, n, an)
+        }
+
+        function ln(e, t, n) {
+            e.removeEventListener(t, n, an)
+        }
+
+        function on(e, t, n, i, a) {
+            return {type: e, chart: t, native: a || null, x: void 0 !== n ? n : null, y: void 0 !== i ? i : null}
+        }
+
+        function sn(e, t) {
+            var n = en[e.type] || e.type, i = le.getRelativePosition(e, t);
+            return on(n, t, i.x, i.y, e)
+        }
+
+        function dn(e, t) {
+            var n = !1, i = [];
+            return function () {
+                i = Array.prototype.slice.call(arguments), t = t || this, n || (n = !0, le.requestAnimFrame.call(window, (function () {
+                    n = !1, e.apply(t, i)
+                })))
+            }
+        }
+
+        function un(e) {
+            var t = document.createElement("div");
+            return t.className = e || "", t
+        }
+
+        function cn(e) {
+            var t = 1e6, n = un(Kt), i = un(Kt + "-expand"), a = un(Kt + "-shrink");
+            i.appendChild(un()), a.appendChild(un()), n.appendChild(i), n.appendChild(a), n._reset = function () {
+                i.scrollLeft = t, i.scrollTop = t, a.scrollLeft = t, a.scrollTop = t
+            };
+            var r = function () {
+                n._reset(), e()
+            };
+            return rn(i, "scroll", r.bind(i, "expand")), rn(a, "scroll", r.bind(a, "shrink")), n
+        }
+
+        function hn(e, t) {
+            var n = e[Gt] || (e[Gt] = {}), i = n.renderProxy = function (e) {
+                e.animationName === $t && t()
+            };
+            le.each(Qt, (function (t) {
+                rn(e, t, i)
+            })), n.reflow = !!e.offsetParent, e.classList.add(Xt)
+        }
+
+        function mn(e) {
+            var t = e[Gt] || {}, n = t.renderProxy;
+            n && (le.each(Qt, (function (t) {
+                ln(e, t, n)
+            })), delete t.renderProxy), e.classList.remove(Xt)
+        }
+
+        function fn(e, t, n) {
+            var i = e[Gt] || (e[Gt] = {}), a = i.resizer = cn(dn((function () {
+                if (i.resizer) {
+                    var a = n.options.maintainAspectRatio && e.parentNode, r = a ? a.clientWidth : 0;
+                    t(on("resize", n)), a && a.clientWidth < r && n.canvas && t(on("resize", n))
+                }
+            })));
+            hn(e, (function () {
+                if (i.resizer) {
+                    var t = e.parentNode;
+                    t && t !== a.parentNode && t.insertBefore(a, t.firstChild), a._reset()
+                }
+            }))
+        }
+
+        function _n(e) {
+            var t = e[Gt] || {}, n = t.resizer;
+            delete t.resizer, mn(e), n && n.parentNode && n.parentNode.removeChild(n)
+        }
+
+        function pn(e, t) {
+            var n = e[Gt] || (e[Gt] = {});
+            if (!n.containsStyles) {
+                n.containsStyles = !0, t = "/* Chart.js */\n" + t;
+                var i = document.createElement("style");
+                i.setAttribute("type", "text/css"), i.appendChild(document.createTextNode(t)), e.appendChild(i)
+            }
+        }
+
+        var gn = {
+            disableCSSInjection: !1,
+            _enabled: "undefined" != typeof window && "undefined" != typeof document,
+            _ensureLoaded: function (e) {
+                if (!this.disableCSSInjection) {
+                    var t = e.getRootNode ? e.getRootNode() : document;
+                    pn(t.host ? t : document.head, Jt)
+                }
+            },
+            acquireContext: function (e, t) {
+                "string" == typeof e ? e = document.getElementById(e) : e.length && (e = e[0]), e && e.canvas && (e = e.canvas);
+                var n = e && e.getContext && e.getContext("2d");
+                return n && n.canvas === e ? (this._ensureLoaded(e), nn(e, t), n) : null
+            },
+            releaseContext: function (e) {
+                var t = e.canvas;
+                if (t[Gt]) {
+                    var n = t[Gt].initial;
+                    ["height", "width"].forEach((function (e) {
+                        var i = n[e];
+                        le.isNullOrUndef(i) ? t.removeAttribute(e) : t.setAttribute(e, i)
+                    })), le.each(n.style || {}, (function (e, n) {
+                        t.style[n] = e
+                    })), t.width = t.width, delete t[Gt]
+                }
+            },
+            addEventListener: function (e, t, n) {
+                var i = e.canvas;
+                if ("resize" !== t) {
+                    var a = n[Gt] || (n[Gt] = {});
+                    rn(i, t, (a.proxies || (a.proxies = {}))[e.id + "_" + t] = function (t) {
+                        n(sn(t, e))
+                    })
+                } else fn(i, n, e)
+            },
+            removeEventListener: function (e, t, n) {
+                var i = e.canvas;
+                if ("resize" !== t) {
+                    var a = ((n[Gt] || {}).proxies || {})[e.id + "_" + t];
+                    a && ln(i, t, a)
+                } else _n(i)
+            }
+        };
+        le.addEvent = rn, le.removeEvent = ln;
+        var yn = gn._enabled ? gn : Zt, vn = le.extend({
+            initialize: function () {
+            }, acquireContext: function () {
+            }, releaseContext: function () {
+            }, addEventListener: function () {
+            }, removeEventListener: function () {
+            }
+        }, yn);
+        $._set("global", {plugins: {}});
+        var Mn = {
+            _plugins: [], _cacheId: 0, register: function (e) {
+                var t = this._plugins;
+                [].concat(e).forEach((function (e) {
+                    -1 === t.indexOf(e) && t.push(e)
+                })), this._cacheId++
+            }, unregister: function (e) {
+                var t = this._plugins;
+                [].concat(e).forEach((function (e) {
+                    var n = t.indexOf(e);
+                    -1 !== n && t.splice(n, 1)
+                })), this._cacheId++
+            }, clear: function () {
+                this._plugins = [], this._cacheId++
+            }, count: function () {
+                return this._plugins.length
+            }, getAll: function () {
+                return this._plugins
+            }, notify: function (e, t, n) {
+                var i, a, r, l, o, s = this.descriptors(e), d = s.length;
+                for (i = 0; i < d; ++i) if ("function" == typeof (o = (r = (a = s[i]).plugin)[t]) && ((l = [e].concat(n || [])).push(a.options), !1 === o.apply(r, l))) return !1;
+                return !0
+            }, descriptors: function (e) {
+                var t = e.$plugins || (e.$plugins = {});
+                if (t.id === this._cacheId) return t.descriptors;
+                var n = [], i = [], a = e && e.config || {}, r = a.options && a.options.plugins || {};
+                return this._plugins.concat(a.plugins || []).forEach((function (e) {
+                    if (-1 === n.indexOf(e)) {
+                        var t = e.id, a = r[t];
+                        !1 !== a && (!0 === a && (a = le.clone($.global.plugins[t])), n.push(e), i.push({
+                            plugin: e,
+                            options: a || {}
+                        }))
+                    }
+                })), t.descriptors = i, t.id = this._cacheId, i
+            }, _invalidate: function (e) {
+                delete e.$plugins
+            }
+        }, bn = {
+            constructors: {}, defaults: {}, registerScaleType: function (e, t, n) {
+                this.constructors[e] = t, this.defaults[e] = le.clone(n)
+            }, getScaleConstructor: function (e) {
+                return this.constructors.hasOwnProperty(e) ? this.constructors[e] : void 0
+            }, getScaleDefaults: function (e) {
+                return this.defaults.hasOwnProperty(e) ? le.merge(Object.create(null), [$.scale, this.defaults[e]]) : {}
+            }, updateScaleDefaults: function (e, t) {
+                var n = this;
+                n.defaults.hasOwnProperty(e) && (n.defaults[e] = le.extend(n.defaults[e], t))
+            }, addScalesToLayout: function (e) {
+                le.each(e.scales, (function (t) {
+                    t.fullWidth = t.options.fullWidth, t.position = t.options.position, t.weight = t.options.weight, Bt.addBox(e, t)
+                }))
+            }
+        }, xn = le.valueOrDefault, Ln = le.rtl.getRtlAdapter;
+        $._set("global", {
+            tooltips: {
+                enabled: !0,
+                custom: null,
+                mode: "nearest",
+                position: "average",
+                intersect: !0,
+                backgroundColor: "rgba(0,0,0,0.8)",
+                titleFontStyle: "bold",
+                titleSpacing: 2,
+                titleMarginBottom: 6,
+                titleFontColor: "#fff",
+                titleAlign: "left",
+                bodySpacing: 2,
+                bodyFontColor: "#fff",
+                bodyAlign: "left",
+                footerFontStyle: "bold",
+                footerSpacing: 2,
+                footerMarginTop: 6,
+                footerFontColor: "#fff",
+                footerAlign: "left",
+                yPadding: 6,
+                xPadding: 6,
+                caretPadding: 2,
+                caretSize: 5,
+                cornerRadius: 6,
+                multiKeyBackground: "#fff",
+                displayColors: !0,
+                borderColor: "rgba(0,0,0,0)",
+                borderWidth: 0,
+                callbacks: {
+                    beforeTitle: le.noop,
+                    title: function (e, t) {
+                        var n = "", i = t.labels, a = i ? i.length : 0;
+                        if (e.length > 0) {
+                            var r = e[0];
+                            r.label ? n = r.label : r.xLabel ? n = r.xLabel : a > 0 && r.index < a && (n = i[r.index])
+                        }
+                        return n
+                    },
+                    afterTitle: le.noop,
+                    beforeBody: le.noop,
+                    beforeLabel: le.noop,
+                    label: function (e, t) {
+                        var n = t.datasets[e.datasetIndex].label || "";
+                        return n && (n += ": "), le.isNullOrUndef(e.value) ? n += e.yLabel : n += e.value, n
+                    },
+                    labelColor: function (e, t) {
+                        var n = t.getDatasetMeta(e.datasetIndex).data[e.index]._view;
+                        return {borderColor: n.borderColor, backgroundColor: n.backgroundColor}
+                    },
+                    labelTextColor: function () {
+                        return this._options.bodyFontColor
+                    },
+                    afterLabel: le.noop,
+                    afterBody: le.noop,
+                    beforeFooter: le.noop,
+                    footer: le.noop,
+                    afterFooter: le.noop
+                }
+            }
+        });
+        var wn = {
+            average: function (e) {
+                if (!e.length) return !1;
+                var t, n, i = 0, a = 0, r = 0;
+                for (t = 0, n = e.length; t < n; ++t) {
+                    var l = e[t];
+                    if (l && l.hasValue()) {
+                        var o = l.tooltipPosition();
+                        i += o.x, a += o.y, ++r
+                    }
+                }
+                return {x: i / r, y: a / r}
+            }, nearest: function (e, t) {
+                var n, i, a, r = t.x, l = t.y, o = Number.POSITIVE_INFINITY;
+                for (n = 0, i = e.length; n < i; ++n) {
+                    var s = e[n];
+                    if (s && s.hasValue()) {
+                        var d = s.getCenterPoint(), u = le.distanceBetweenPoints(t, d);
+                        u < o && (o = u, a = s)
+                    }
+                }
+                if (a) {
+                    var c = a.tooltipPosition();
+                    r = c.x, l = c.y
+                }
+                return {x: r, y: l}
+            }
+        };
+
+        function kn(e, t) {
+            return t && (le.isArray(t) ? Array.prototype.push.apply(e, t) : e.push(t)), e
+        }
+
+        function Yn(e) {
+            return ("string" == typeof e || e instanceof String) && e.indexOf("\n") > -1 ? e.split("\n") : e
+        }
+
+        function Dn(e) {
+            var t = e._xScale, n = e._yScale || e._scale, i = e._index, a = e._datasetIndex,
+                r = e._chart.getDatasetMeta(a).controller, l = r._getIndexScale(), o = r._getValueScale();
+            return {
+                xLabel: t ? t.getLabelForIndex(i, a) : "",
+                yLabel: n ? n.getLabelForIndex(i, a) : "",
+                label: l ? "" + l.getLabelForIndex(i, a) : "",
+                value: o ? "" + o.getLabelForIndex(i, a) : "",
+                index: i,
+                datasetIndex: a,
+                x: e._model.x,
+                y: e._model.y
+            }
+        }
+
+        function Tn(e) {
+            var t = $.global;
+            return {
+                xPadding: e.xPadding,
+                yPadding: e.yPadding,
+                xAlign: e.xAlign,
+                yAlign: e.yAlign,
+                rtl: e.rtl,
+                textDirection: e.textDirection,
+                bodyFontColor: e.bodyFontColor,
+                _bodyFontFamily: xn(e.bodyFontFamily, t.defaultFontFamily),
+                _bodyFontStyle: xn(e.bodyFontStyle, t.defaultFontStyle),
+                _bodyAlign: e.bodyAlign,
+                bodyFontSize: xn(e.bodyFontSize, t.defaultFontSize),
+                bodySpacing: e.bodySpacing,
+                titleFontColor: e.titleFontColor,
+                _titleFontFamily: xn(e.titleFontFamily, t.defaultFontFamily),
+                _titleFontStyle: xn(e.titleFontStyle, t.defaultFontStyle),
+                titleFontSize: xn(e.titleFontSize, t.defaultFontSize),
+                _titleAlign: e.titleAlign,
+                titleSpacing: e.titleSpacing,
+                titleMarginBottom: e.titleMarginBottom,
+                footerFontColor: e.footerFontColor,
+                _footerFontFamily: xn(e.footerFontFamily, t.defaultFontFamily),
+                _footerFontStyle: xn(e.footerFontStyle, t.defaultFontStyle),
+                footerFontSize: xn(e.footerFontSize, t.defaultFontSize),
+                _footerAlign: e.footerAlign,
+                footerSpacing: e.footerSpacing,
+                footerMarginTop: e.footerMarginTop,
+                caretSize: e.caretSize,
+                cornerRadius: e.cornerRadius,
+                backgroundColor: e.backgroundColor,
+                opacity: 0,
+                legendColorBackground: e.multiKeyBackground,
+                displayColors: e.displayColors,
+                borderColor: e.borderColor,
+                borderWidth: e.borderWidth
+            }
+        }
+
+        function Sn(e, t) {
+            var n = e._chart.ctx, i = 2 * t.yPadding, a = 0, r = t.body, l = r.reduce((function (e, t) {
+                return e + t.before.length + t.lines.length + t.after.length
+            }), 0);
+            l += t.beforeBody.length + t.afterBody.length;
+            var o = t.title.length, s = t.footer.length, d = t.titleFontSize, u = t.bodyFontSize, c = t.footerFontSize;
+            i += o * d, i += o ? (o - 1) * t.titleSpacing : 0, i += o ? t.titleMarginBottom : 0, i += l * u, i += l ? (l - 1) * t.bodySpacing : 0, i += s ? t.footerMarginTop : 0, i += s * c, i += s ? (s - 1) * t.footerSpacing : 0;
+            var h = 0, m = function (e) {
+                a = Math.max(a, n.measureText(e).width + h)
+            };
+            return n.font = le.fontString(d, t._titleFontStyle, t._titleFontFamily), le.each(t.title, m), n.font = le.fontString(u, t._bodyFontStyle, t._bodyFontFamily), le.each(t.beforeBody.concat(t.afterBody), m), h = t.displayColors ? u + 2 : 0, le.each(r, (function (e) {
+                le.each(e.before, m), le.each(e.lines, m), le.each(e.after, m)
+            })), h = 0, n.font = le.fontString(c, t._footerFontStyle, t._footerFontFamily), le.each(t.footer, m), {
+                width: a += 2 * t.xPadding,
+                height: i
+            }
+        }
+
+        function jn(e, t) {
+            var n, i, a, r, l, o = e._model, s = e._chart, d = e._chart.chartArea, u = "center", c = "center";
+            o.y < t.height ? c = "top" : o.y > s.height - t.height && (c = "bottom");
+            var h = (d.left + d.right) / 2, m = (d.top + d.bottom) / 2;
+            "center" === c ? (n = function (e) {
+                return e <= h
+            }, i = function (e) {
+                return e > h
+            }) : (n = function (e) {
+                return e <= t.width / 2
+            }, i = function (e) {
+                return e >= s.width - t.width / 2
+            }), a = function (e) {
+                return e + t.width + o.caretSize + o.caretPadding > s.width
+            }, r = function (e) {
+                return e - t.width - o.caretSize - o.caretPadding < 0
+            }, l = function (e) {
+                return e <= m ? "top" : "bottom"
+            }, n(o.x) ? (u = "left", a(o.x) && (u = "center", c = l(o.y))) : i(o.x) && (u = "right", r(o.x) && (u = "center", c = l(o.y)));
+            var f = e._options;
+            return {xAlign: f.xAlign ? f.xAlign : u, yAlign: f.yAlign ? f.yAlign : c}
+        }
+
+        function En(e, t, n, i) {
+            var a = e.x, r = e.y, l = e.caretSize, o = e.caretPadding, s = e.cornerRadius, d = n.xAlign, u = n.yAlign,
+                c = l + o, h = s + o;
+            return "right" === d ? a -= t.width : "center" === d && ((a -= t.width / 2) + t.width > i.width && (a = i.width - t.width), a < 0 && (a = 0)), "top" === u ? r += c : r -= "bottom" === u ? t.height + c : t.height / 2, "center" === u ? "left" === d ? a += c : "right" === d && (a -= c) : "left" === d ? a -= h : "right" === d && (a += h), {
+                x: a,
+                y: r
+            }
+        }
+
+        function Hn(e, t) {
+            return "center" === t ? e.x + e.width / 2 : "right" === t ? e.x + e.width - e.xPadding : e.x + e.xPadding
+        }
+
+        function On(e) {
+            return kn([], Yn(e))
+        }
+
+        var An = fe.extend({
+            initialize: function () {
+                this._model = Tn(this._options), this._lastActive = []
+            }, getTitle: function () {
+                var e = this, t = e._options.callbacks, n = t.beforeTitle.apply(e, arguments),
+                    i = t.title.apply(e, arguments), a = t.afterTitle.apply(e, arguments), r = [];
+                return r = kn(r, Yn(n)), r = kn(r, Yn(i)), r = kn(r, Yn(a))
+            }, getBeforeBody: function () {
+                return On(this._options.callbacks.beforeBody.apply(this, arguments))
+            }, getBody: function (e, t) {
+                var n = this, i = n._options.callbacks, a = [];
+                return le.each(e, (function (e) {
+                    var r = {before: [], lines: [], after: []};
+                    kn(r.before, Yn(i.beforeLabel.call(n, e, t))), kn(r.lines, i.label.call(n, e, t)), kn(r.after, Yn(i.afterLabel.call(n, e, t))), a.push(r)
+                })), a
+            }, getAfterBody: function () {
+                return On(this._options.callbacks.afterBody.apply(this, arguments))
+            }, getFooter: function () {
+                var e = this, t = e._options.callbacks, n = t.beforeFooter.apply(e, arguments),
+                    i = t.footer.apply(e, arguments), a = t.afterFooter.apply(e, arguments), r = [];
+                return r = kn(r, Yn(n)), r = kn(r, Yn(i)), r = kn(r, Yn(a))
+            }, update: function (e) {
+                var t, n, i = this, a = i._options, r = i._model, l = i._model = Tn(a), o = i._active, s = i._data,
+                    d = {xAlign: r.xAlign, yAlign: r.yAlign}, u = {x: r.x, y: r.y},
+                    c = {width: r.width, height: r.height}, h = {x: r.caretX, y: r.caretY};
+                if (o.length) {
+                    l.opacity = 1;
+                    var m = [], f = [];
+                    h = wn[a.position].call(i, o, i._eventPosition);
+                    var _ = [];
+                    for (t = 0, n = o.length; t < n; ++t) _.push(Dn(o[t]));
+                    a.filter && (_ = _.filter((function (e) {
+                        return a.filter(e, s)
+                    }))), a.itemSort && (_ = _.sort((function (e, t) {
+                        return a.itemSort(e, t, s)
+                    }))), le.each(_, (function (e) {
+                        m.push(a.callbacks.labelColor.call(i, e, i._chart)), f.push(a.callbacks.labelTextColor.call(i, e, i._chart))
+                    })), l.title = i.getTitle(_, s), l.beforeBody = i.getBeforeBody(_, s), l.body = i.getBody(_, s), l.afterBody = i.getAfterBody(_, s), l.footer = i.getFooter(_, s), l.x = h.x, l.y = h.y, l.caretPadding = a.caretPadding, l.labelColors = m, l.labelTextColors = f, l.dataPoints = _, u = En(l, c = Sn(this, l), d = jn(this, c), i._chart)
+                } else l.opacity = 0;
+                return l.xAlign = d.xAlign, l.yAlign = d.yAlign, l.x = u.x, l.y = u.y, l.width = c.width, l.height = c.height, l.caretX = h.x, l.caretY = h.y, i._model = l, e && a.custom && a.custom.call(i, l), i
+            }, drawCaret: function (e, t) {
+                var n = this._chart.ctx, i = this._view, a = this.getCaretPosition(e, t, i);
+                n.lineTo(a.x1, a.y1), n.lineTo(a.x2, a.y2), n.lineTo(a.x3, a.y3)
+            }, getCaretPosition: function (e, t, n) {
+                var i, a, r, l, o, s, d = n.caretSize, u = n.cornerRadius, c = n.xAlign, h = n.yAlign, m = e.x, f = e.y,
+                    _ = t.width, p = t.height;
+                if ("center" === h) o = f + p / 2, "left" === c ? (a = (i = m) - d, r = i, l = o + d, s = o - d) : (a = (i = m + _) + d, r = i, l = o - d, s = o + d); else if ("left" === c ? (i = (a = m + u + d) - d, r = a + d) : "right" === c ? (i = (a = m + _ - u - d) - d, r = a + d) : (i = (a = n.caretX) - d, r = a + d), "top" === h) o = (l = f) - d, s = l; else {
+                    o = (l = f + p) + d, s = l;
+                    var g = r;
+                    r = i, i = g
+                }
+                return {x1: i, x2: a, x3: r, y1: l, y2: o, y3: s}
+            }, drawTitle: function (e, t, n) {
+                var i, a, r, l = t.title, o = l.length;
+                if (o) {
+                    var s = Ln(t.rtl, t.x, t.width);
+                    for (e.x = Hn(t, t._titleAlign), n.textAlign = s.textAlign(t._titleAlign), n.textBaseline = "middle", i = t.titleFontSize, a = t.titleSpacing, n.fillStyle = t.titleFontColor, n.font = le.fontString(i, t._titleFontStyle, t._titleFontFamily), r = 0; r < o; ++r) n.fillText(l[r], s.x(e.x), e.y + i / 2), e.y += i + a, r + 1 === o && (e.y += t.titleMarginBottom - a)
+                }
+            }, drawBody: function (e, t, n) {
+                var i, a, r, l, o, s, d, u, c = t.bodyFontSize, h = t.bodySpacing, m = t._bodyAlign, f = t.body,
+                    _ = t.displayColors, p = 0, g = _ ? Hn(t, "left") : 0, y = Ln(t.rtl, t.x, t.width),
+                    v = function (t) {
+                        n.fillText(t, y.x(e.x + p), e.y + c / 2), e.y += c + h
+                    }, M = y.textAlign(m);
+                for (n.textAlign = m, n.textBaseline = "middle", n.font = le.fontString(c, t._bodyFontStyle, t._bodyFontFamily), e.x = Hn(t, M), n.fillStyle = t.bodyFontColor, le.each(t.beforeBody, v), p = _ && "right" !== M ? "center" === m ? c / 2 + 1 : c + 2 : 0, o = 0, d = f.length; o < d; ++o) {
+                    for (i = f[o], a = t.labelTextColors[o], r = t.labelColors[o], n.fillStyle = a, le.each(i.before, v), s = 0, u = (l = i.lines).length; s < u; ++s) {
+                        if (_) {
+                            var b = y.x(g);
+                            n.fillStyle = t.legendColorBackground, n.fillRect(y.leftForLtr(b, c), e.y, c, c), n.lineWidth = 1, n.strokeStyle = r.borderColor, n.strokeRect(y.leftForLtr(b, c), e.y, c, c), n.fillStyle = r.backgroundColor, n.fillRect(y.leftForLtr(y.xPlus(b, 1), c - 2), e.y + 1, c - 2, c - 2), n.fillStyle = a
+                        }
+                        v(l[s])
+                    }
+                    le.each(i.after, v)
+                }
+                p = 0, le.each(t.afterBody, v), e.y -= h
+            }, drawFooter: function (e, t, n) {
+                var i, a, r = t.footer, l = r.length;
+                if (l) {
+                    var o = Ln(t.rtl, t.x, t.width);
+                    for (e.x = Hn(t, t._footerAlign), e.y += t.footerMarginTop, n.textAlign = o.textAlign(t._footerAlign), n.textBaseline = "middle", i = t.footerFontSize, n.fillStyle = t.footerFontColor, n.font = le.fontString(i, t._footerFontStyle, t._footerFontFamily), a = 0; a < l; ++a) n.fillText(r[a], o.x(e.x), e.y + i / 2), e.y += i + t.footerSpacing
+                }
+            }, drawBackground: function (e, t, n, i) {
+                n.fillStyle = t.backgroundColor, n.strokeStyle = t.borderColor, n.lineWidth = t.borderWidth;
+                var a = t.xAlign, r = t.yAlign, l = e.x, o = e.y, s = i.width, d = i.height, u = t.cornerRadius;
+                n.beginPath(), n.moveTo(l + u, o), "top" === r && this.drawCaret(e, i), n.lineTo(l + s - u, o), n.quadraticCurveTo(l + s, o, l + s, o + u), "center" === r && "right" === a && this.drawCaret(e, i), n.lineTo(l + s, o + d - u), n.quadraticCurveTo(l + s, o + d, l + s - u, o + d), "bottom" === r && this.drawCaret(e, i), n.lineTo(l + u, o + d), n.quadraticCurveTo(l, o + d, l, o + d - u), "center" === r && "left" === a && this.drawCaret(e, i), n.lineTo(l, o + u), n.quadraticCurveTo(l, o, l + u, o), n.closePath(), n.fill(), t.borderWidth > 0 && n.stroke()
+            }, draw: function () {
+                var e = this._chart.ctx, t = this._view;
+                if (0 !== t.opacity) {
+                    var n = {width: t.width, height: t.height}, i = {x: t.x, y: t.y},
+                        a = Math.abs(t.opacity < .001) ? 0 : t.opacity,
+                        r = t.title.length || t.beforeBody.length || t.body.length || t.afterBody.length || t.footer.length;
+                    this._options.enabled && r && (e.save(), e.globalAlpha = a, this.drawBackground(i, t, e, n), i.y += t.yPadding, le.rtl.overrideTextDirection(e, t.textDirection), this.drawTitle(i, t, e), this.drawBody(i, t, e), this.drawFooter(i, t, e), le.rtl.restoreTextDirection(e, t.textDirection), e.restore())
+                }
+            }, handleEvent: function (e) {
+                var t = this, n = t._options, i = !1;
+                return t._lastActive = t._lastActive || [], "mouseout" === e.type ? t._active = [] : (t._active = t._chart.getElementsAtEventForMode(e, n.mode, n), n.reverse && t._active.reverse()), (i = !le.arrayEquals(t._active, t._lastActive)) && (t._lastActive = t._active, (n.enabled || n.custom) && (t._eventPosition = {
+                    x: e.x,
+                    y: e.y
+                }, t.update(!0), t.pivot())), i
+            }
+        }), Pn = wn, Cn = An;
+        Cn.positioners = Pn;
+        var Fn = le.valueOrDefault;
+
+        function In() {
+            return le.merge(Object.create(null), [].slice.call(arguments), {
+                merger: function (e, t, n, i) {
+                    if ("xAxes" === e || "yAxes" === e) {
+                        var a, r, l, o = n[e].length;
+                        for (t[e] || (t[e] = []), a = 0; a < o; ++a) l = n[e][a], r = Fn(l.type, "xAxes" === e ? "category" : "linear"), a >= t[e].length && t[e].push({}), !t[e][a].type || l.type && l.type !== t[e][a].type ? le.merge(t[e][a], [bn.getScaleDefaults(r), l]) : le.merge(t[e][a], l)
+                    } else le._merger(e, t, n, i)
+                }
+            })
+        }
+
+        function Wn() {
+            return le.merge(Object.create(null), [].slice.call(arguments), {
+                merger: function (e, t, n, i) {
+                    var a = t[e] || Object.create(null), r = n[e];
+                    "scales" === e ? t[e] = In(a, r) : "scale" === e ? t[e] = le.merge(a, [bn.getScaleDefaults(r.type), r]) : le._merger(e, t, n, i)
+                }
+            })
+        }
+
+        function Nn(e) {
+            var t = (e = e || Object.create(null)).data = e.data || {};
+            return t.datasets = t.datasets || [], t.labels = t.labels || [], e.options = Wn($.global, $[e.type], e.options || {}), e
+        }
+
+        function zn(e) {
+            var t = e.options;
+            le.each(e.scales, (function (t) {
+                Bt.removeBox(e, t)
+            })), t = Wn($.global, $[e.config.type], t), e.options = e.config.options = t, e.ensureScalesHaveIDs(), e.buildOrUpdateScales(), e.tooltip._options = t.tooltips, e.tooltip.initialize()
+        }
+
+        function Rn(e, t, n) {
+            var i, a = function (e) {
+                return e.id === i
+            };
+            do {
+                i = t + n++
+            } while (le.findIndex(e, a) >= 0);
+            return i
+        }
+
+        function Vn(e) {
+            return "top" === e || "bottom" === e
+        }
+
+        function Bn(e, t) {
+            return function (n, i) {
+                return n[e] === i[e] ? n[t] - i[t] : n[e] - i[e]
+            }
+        }
+
+        $._set("global", {
+            elements: {},
+            events: ["mousemove", "mouseout", "click", "touchstart", "touchmove"],
+            hover: {onHover: null, mode: "nearest", intersect: !0, animationDuration: 400},
+            onClick: null,
+            maintainAspectRatio: !0,
+            responsive: !0,
+            responsiveAnimationDuration: 0
+        });
+        var Zn = function (e, t) {
+            return this.construct(e, t), this
+        };
+        le.extend(Zn.prototype, {
+            construct: function (e, t) {
+                var n = this;
+                t = Nn(t);
+                var i = vn.acquireContext(e, t), a = i && i.canvas, r = a && a.height, l = a && a.width;
+                n.id = le.uid(), n.ctx = i, n.canvas = a, n.config = t, n.width = l, n.height = r, n.aspectRatio = r ? l / r : null, n.options = t.options, n._bufferedRender = !1, n._layers = [], n.chart = n, n.controller = n, Zn.instances[n.id] = n, Object.defineProperty(n, "data", {
+                    get: function () {
+                        return n.config.data
+                    }, set: function (e) {
+                        n.config.data = e
+                    }
+                }), i && a ? (n.initialize(), n.update()) : console.error("Failed to create chart: can't acquire context from the given item")
+            }, initialize: function () {
+                var e = this;
+                return Mn.notify(e, "beforeInit"), le.retinaScale(e, e.options.devicePixelRatio), e.bindEvents(), e.options.responsive && e.resize(!0), e.initToolTip(), Mn.notify(e, "afterInit"), e
+            }, clear: function () {
+                return le.canvas.clear(this), this
+            }, stop: function () {
+                return ge.cancelAnimation(this), this
+            }, resize: function (e) {
+                var t = this, n = t.options, i = t.canvas, a = n.maintainAspectRatio && t.aspectRatio || null,
+                    r = Math.max(0, Math.floor(le.getMaximumWidth(i))),
+                    l = Math.max(0, Math.floor(a ? r / a : le.getMaximumHeight(i)));
+                if ((t.width !== r || t.height !== l) && (i.width = t.width = r, i.height = t.height = l, i.style.width = r + "px", i.style.height = l + "px", le.retinaScale(t, n.devicePixelRatio), !e)) {
+                    var o = {width: r, height: l};
+                    Mn.notify(t, "resize", [o]), n.onResize && n.onResize(t, o), t.stop(), t.update({duration: n.responsiveAnimationDuration})
+                }
+            }, ensureScalesHaveIDs: function () {
+                var e = this.options, t = e.scales || {}, n = e.scale;
+                le.each(t.xAxes, (function (e, n) {
+                    e.id || (e.id = Rn(t.xAxes, "x-axis-", n))
+                })), le.each(t.yAxes, (function (e, n) {
+                    e.id || (e.id = Rn(t.yAxes, "y-axis-", n))
+                })), n && (n.id = n.id || "scale")
+            }, buildOrUpdateScales: function () {
+                var e = this, t = e.options, n = e.scales || {}, i = [], a = Object.keys(n).reduce((function (e, t) {
+                    return e[t] = !1, e
+                }), {});
+                t.scales && (i = i.concat((t.scales.xAxes || []).map((function (e) {
+                    return {options: e, dtype: "category", dposition: "bottom"}
+                })), (t.scales.yAxes || []).map((function (e) {
+                    return {options: e, dtype: "linear", dposition: "left"}
+                })))), t.scale && i.push({
+                    options: t.scale,
+                    dtype: "radialLinear",
+                    isDefault: !0,
+                    dposition: "chartArea"
+                }), le.each(i, (function (t) {
+                    var i = t.options, r = i.id, l = Fn(i.type, t.dtype);
+                    Vn(i.position) !== Vn(t.dposition) && (i.position = t.dposition), a[r] = !0;
+                    var o = null;
+                    if (r in n && n[r].type === l) (o = n[r]).options = i, o.ctx = e.ctx, o.chart = e; else {
+                        var s = bn.getScaleConstructor(l);
+                        if (!s) return;
+                        o = new s({id: r, type: l, options: i, ctx: e.ctx, chart: e}), n[o.id] = o
+                    }
+                    o.mergeTicksOptions(), t.isDefault && (e.scale = o)
+                })), le.each(a, (function (e, t) {
+                    e || delete n[t]
+                })), e.scales = n, bn.addScalesToLayout(this)
+            }, buildOrUpdateControllers: function () {
+                var e, t, n = this, i = [], a = n.data.datasets;
+                for (e = 0, t = a.length; e < t; e++) {
+                    var r = a[e], l = n.getDatasetMeta(e), o = r.type || n.config.type;
+                    if (l.type && l.type !== o && (n.destroyDatasetMeta(e), l = n.getDatasetMeta(e)), l.type = o, l.order = r.order || 0, l.index = e, l.controller) l.controller.updateIndex(e), l.controller.linkScales(); else {
+                        var s = wt[l.type];
+                        if (void 0 === s) throw new Error('"' + l.type + '" is not a chart type.');
+                        l.controller = new s(n, e), i.push(l.controller)
+                    }
+                }
+                return i
+            }, resetElements: function () {
+                var e = this;
+                le.each(e.data.datasets, (function (t, n) {
+                    e.getDatasetMeta(n).controller.reset()
+                }), e)
+            }, reset: function () {
+                this.resetElements(), this.tooltip.initialize()
+            }, update: function (e) {
+                var t, n, i = this;
+                if (e && "object" == typeof e || (e = {
+                    duration: e,
+                    lazy: arguments[1]
+                }), zn(i), Mn._invalidate(i), !1 !== Mn.notify(i, "beforeUpdate")) {
+                    i.tooltip._data = i.data;
+                    var a = i.buildOrUpdateControllers();
+                    for (t = 0, n = i.data.datasets.length; t < n; t++) i.getDatasetMeta(t).controller.buildOrUpdateElements();
+                    i.updateLayout(), i.options.animation && i.options.animation.duration && le.each(a, (function (e) {
+                        e.reset()
+                    })), i.updateDatasets(), i.tooltip.initialize(), i.lastActive = [], Mn.notify(i, "afterUpdate"), i._layers.sort(Bn("z", "_idx")), i._bufferedRender ? i._bufferedRequest = {
+                        duration: e.duration,
+                        easing: e.easing,
+                        lazy: e.lazy
+                    } : i.render(e)
+                }
+            }, updateLayout: function () {
+                var e = this;
+                !1 !== Mn.notify(e, "beforeLayout") && (Bt.update(this, this.width, this.height), e._layers = [], le.each(e.boxes, (function (t) {
+                    t._configure && t._configure(), e._layers.push.apply(e._layers, t._layers())
+                }), e), e._layers.forEach((function (e, t) {
+                    e._idx = t
+                })), Mn.notify(e, "afterScaleUpdate"), Mn.notify(e, "afterLayout"))
+            }, updateDatasets: function () {
+                var e = this;
+                if (!1 !== Mn.notify(e, "beforeDatasetsUpdate")) {
+                    for (var t = 0, n = e.data.datasets.length; t < n; ++t) e.updateDataset(t);
+                    Mn.notify(e, "afterDatasetsUpdate")
+                }
+            }, updateDataset: function (e) {
+                var t = this, n = t.getDatasetMeta(e), i = {meta: n, index: e};
+                !1 !== Mn.notify(t, "beforeDatasetUpdate", [i]) && (n.controller._update(), Mn.notify(t, "afterDatasetUpdate", [i]))
+            }, render: function (e) {
+                var t = this;
+                e && "object" == typeof e || (e = {duration: e, lazy: arguments[1]});
+                var n = t.options.animation, i = Fn(e.duration, n && n.duration), a = e.lazy;
+                if (!1 !== Mn.notify(t, "beforeRender")) {
+                    var r = function (e) {
+                        Mn.notify(t, "afterRender"), le.callback(n && n.onComplete, [e], t)
+                    };
+                    if (n && i) {
+                        var l = new pe({
+                            numSteps: i / 16.66, easing: e.easing || n.easing, render: function (e, t) {
+                                var n = le.easing.effects[t.easing], i = t.currentStep, a = i / t.numSteps;
+                                e.draw(n(a), a, i)
+                            }, onAnimationProgress: n.onProgress, onAnimationComplete: r
+                        });
+                        ge.addAnimation(t, l, i, a)
+                    } else t.draw(), r(new pe({numSteps: 0, chart: t}));
+                    return t
+                }
+            }, draw: function (e) {
+                var t, n, i = this;
+                if (i.clear(), le.isNullOrUndef(e) && (e = 1), i.transition(e), !(i.width <= 0 || i.height <= 0) && !1 !== Mn.notify(i, "beforeDraw", [e])) {
+                    for (n = i._layers, t = 0; t < n.length && n[t].z <= 0; ++t) n[t].draw(i.chartArea);
+                    for (i.drawDatasets(e); t < n.length; ++t) n[t].draw(i.chartArea);
+                    i._drawTooltip(e), Mn.notify(i, "afterDraw", [e])
+                }
+            }, transition: function (e) {
+                for (var t = this, n = 0, i = (t.data.datasets || []).length; n < i; ++n) t.isDatasetVisible(n) && t.getDatasetMeta(n).controller.transition(e);
+                t.tooltip.transition(e)
+            }, _getSortedDatasetMetas: function (e) {
+                var t, n, i = this, a = [];
+                for (t = 0, n = (i.data.datasets || []).length; t < n; ++t) e && !i.isDatasetVisible(t) || a.push(i.getDatasetMeta(t));
+                return a.sort(Bn("order", "index")), a
+            }, _getSortedVisibleDatasetMetas: function () {
+                return this._getSortedDatasetMetas(!0)
+            }, drawDatasets: function (e) {
+                var t, n, i = this;
+                if (!1 !== Mn.notify(i, "beforeDatasetsDraw", [e])) {
+                    for (n = (t = i._getSortedVisibleDatasetMetas()).length - 1; n >= 0; --n) i.drawDataset(t[n], e);
+                    Mn.notify(i, "afterDatasetsDraw", [e])
+                }
+            }, drawDataset: function (e, t) {
+                var n = this, i = {meta: e, index: e.index, easingValue: t};
+                !1 !== Mn.notify(n, "beforeDatasetDraw", [i]) && (e.controller.draw(t), Mn.notify(n, "afterDatasetDraw", [i]))
+            }, _drawTooltip: function (e) {
+                var t = this, n = t.tooltip, i = {tooltip: n, easingValue: e};
+                !1 !== Mn.notify(t, "beforeTooltipDraw", [i]) && (n.draw(), Mn.notify(t, "afterTooltipDraw", [i]))
+            }, getElementAtEvent: function (e) {
+                return Et.modes.single(this, e)
+            }, getElementsAtEvent: function (e) {
+                return Et.modes.label(this, e, {intersect: !0})
+            }, getElementsAtXAxis: function (e) {
+                return Et.modes["x-axis"](this, e, {intersect: !0})
+            }, getElementsAtEventForMode: function (e, t, n) {
+                var i = Et.modes[t];
+                return "function" == typeof i ? i(this, e, n) : []
+            }, getDatasetAtEvent: function (e) {
+                return Et.modes.dataset(this, e, {intersect: !0})
+            }, getDatasetMeta: function (e) {
+                var t = this, n = t.data.datasets[e];
+                n._meta || (n._meta = {});
+                var i = n._meta[t.id];
+                return i || (i = n._meta[t.id] = {
+                    type: null,
+                    data: [],
+                    dataset: null,
+                    controller: null,
+                    hidden: null,
+                    xAxisID: null,
+                    yAxisID: null,
+                    order: n.order || 0,
+                    index: e
+                }), i
+            }, getVisibleDatasetCount: function () {
+                for (var e = 0, t = 0, n = this.data.datasets.length; t < n; ++t) this.isDatasetVisible(t) && e++;
+                return e
+            }, isDatasetVisible: function (e) {
+                var t = this.getDatasetMeta(e);
+                return "boolean" == typeof t.hidden ? !t.hidden : !this.data.datasets[e].hidden
+            }, generateLegend: function () {
+                return this.options.legendCallback(this)
+            }, destroyDatasetMeta: function (e) {
+                var t = this.id, n = this.data.datasets[e], i = n._meta && n._meta[t];
+                i && (i.controller.destroy(), delete n._meta[t])
+            }, destroy: function () {
+                var e, t, n = this, i = n.canvas;
+                for (n.stop(), e = 0, t = n.data.datasets.length; e < t; ++e) n.destroyDatasetMeta(e);
+                i && (n.unbindEvents(), le.canvas.clear(n), vn.releaseContext(n.ctx), n.canvas = null, n.ctx = null), Mn.notify(n, "destroy"), delete Zn.instances[n.id]
+            }, toBase64Image: function () {
+                return this.canvas.toDataURL.apply(this.canvas, arguments)
+            }, initToolTip: function () {
+                var e = this;
+                e.tooltip = new Cn({_chart: e, _chartInstance: e, _data: e.data, _options: e.options.tooltips}, e)
+            }, bindEvents: function () {
+                var e = this, t = e._listeners = {}, n = function () {
+                    e.eventHandler.apply(e, arguments)
+                };
+                le.each(e.options.events, (function (i) {
+                    vn.addEventListener(e, i, n), t[i] = n
+                })), e.options.responsive && (n = function () {
+                    e.resize()
+                }, vn.addEventListener(e, "resize", n), t.resize = n)
+            }, unbindEvents: function () {
+                var e = this, t = e._listeners;
+                t && (delete e._listeners, le.each(t, (function (t, n) {
+                    vn.removeEventListener(e, n, t)
+                })))
+            }, updateHoverStyle: function (e, t, n) {
+                var i, a, r, l = n ? "set" : "remove";
+                for (a = 0, r = e.length; a < r; ++a) (i = e[a]) && this.getDatasetMeta(i._datasetIndex).controller[l + "HoverStyle"](i);
+                "dataset" === t && this.getDatasetMeta(e[0]._datasetIndex).controller["_" + l + "DatasetHoverStyle"]()
+            }, eventHandler: function (e) {
+                var t = this, n = t.tooltip;
+                if (!1 !== Mn.notify(t, "beforeEvent", [e])) {
+                    t._bufferedRender = !0, t._bufferedRequest = null;
+                    var i = t.handleEvent(e);
+                    n && (i = n._start ? n.handleEvent(e) : i | n.handleEvent(e)), Mn.notify(t, "afterEvent", [e]);
+                    var a = t._bufferedRequest;
+                    return a ? t.render(a) : i && !t.animating && (t.stop(), t.render({
+                        duration: t.options.hover.animationDuration,
+                        lazy: !0
+                    })), t._bufferedRender = !1, t._bufferedRequest = null, t
+                }
+            }, handleEvent: function (e) {
+                var t = this, n = t.options || {}, i = n.hover, a = !1;
+                return t.lastActive = t.lastActive || [], "mouseout" === e.type ? t.active = [] : t.active = t.getElementsAtEventForMode(e, i.mode, i), le.callback(n.onHover || n.hover.onHover, [e.native, t.active], t), "mouseup" !== e.type && "click" !== e.type || n.onClick && n.onClick.call(t, e.native, t.active), t.lastActive.length && t.updateHoverStyle(t.lastActive, i.mode, !1), t.active.length && i.mode && t.updateHoverStyle(t.active, i.mode, !0), a = !le.arrayEquals(t.active, t.lastActive), t.lastActive = t.active, a
+            }
+        }), Zn.instances = {};
+        var Un = Zn;
+        Zn.Controller = Zn, Zn.types = {}, le.configMerge = Wn, le.scaleMerge = In;
+        var Jn = function () {
+            function e(e, t, n) {
+                var i;
+                return "string" == typeof e ? (i = parseInt(e, 10), -1 !== e.indexOf("%") && (i = i / 100 * t.parentNode[n])) : i = e, i
+            }
+
+            function t(e) {
+                return null != e && "none" !== e
+            }
+
+            function n(n, i, a) {
+                var r = document.defaultView, l = le._getParentNode(n), o = r.getComputedStyle(n)[i],
+                    s = r.getComputedStyle(l)[i], d = t(o), u = t(s), c = Number.POSITIVE_INFINITY;
+                return d || u ? Math.min(d ? e(o, n, a) : c, u ? e(s, l, a) : c) : "none"
+            }
+
+            le.where = function (e, t) {
+                if (le.isArray(e) && Array.prototype.filter) return e.filter(t);
+                var n = [];
+                return le.each(e, (function (e) {
+                    t(e) && n.push(e)
+                })), n
+            }, le.findIndex = Array.prototype.findIndex ? function (e, t, n) {
+                return e.findIndex(t, n)
+            } : function (e, t, n) {
+                n = void 0 === n ? e : n;
+                for (var i = 0, a = e.length; i < a; ++i) if (t.call(n, e[i], i, e)) return i;
+                return -1
+            }, le.findNextWhere = function (e, t, n) {
+                le.isNullOrUndef(n) && (n = -1);
+                for (var i = n + 1; i < e.length; i++) {
+                    var a = e[i];
+                    if (t(a)) return a
+                }
+            }, le.findPreviousWhere = function (e, t, n) {
+                le.isNullOrUndef(n) && (n = e.length);
+                for (var i = n - 1; i >= 0; i--) {
+                    var a = e[i];
+                    if (t(a)) return a
+                }
+            }, le.isNumber = function (e) {
+                return !isNaN(parseFloat(e)) && isFinite(e)
+            }, le.almostEquals = function (e, t, n) {
+                return Math.abs(e - t) < n
+            }, le.almostWhole = function (e, t) {
+                var n = Math.round(e);
+                return n - t <= e && n + t >= e
+            }, le.max = function (e) {
+                return e.reduce((function (e, t) {
+                    return isNaN(t) ? e : Math.max(e, t)
+                }), Number.NEGATIVE_INFINITY)
+            }, le.min = function (e) {
+                return e.reduce((function (e, t) {
+                    return isNaN(t) ? e : Math.min(e, t)
+                }), Number.POSITIVE_INFINITY)
+            }, le.sign = Math.sign ? function (e) {
+                return Math.sign(e)
+            } : function (e) {
+                return 0 == (e = +e) || isNaN(e) ? e : e > 0 ? 1 : -1
+            }, le.toRadians = function (e) {
+                return e * (Math.PI / 180)
+            }, le.toDegrees = function (e) {
+                return e * (180 / Math.PI)
+            }, le._decimalPlaces = function (e) {
+                if (le.isFinite(e)) {
+                    for (var t = 1, n = 0; Math.round(e * t) / t !== e;) t *= 10, n++;
+                    return n
+                }
+            }, le.getAngleFromPoint = function (e, t) {
+                var n = t.x - e.x, i = t.y - e.y, a = Math.sqrt(n * n + i * i), r = Math.atan2(i, n);
+                return r < -.5 * Math.PI && (r += 2 * Math.PI), {angle: r, distance: a}
+            }, le.distanceBetweenPoints = function (e, t) {
+                return Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))
+            }, le.aliasPixel = function (e) {
+                return e % 2 == 0 ? 0 : .5
+            }, le._alignPixel = function (e, t, n) {
+                var i = e.currentDevicePixelRatio, a = n / 2;
+                return Math.round((t - a) * i) / i + a
+            }, le.splineCurve = function (e, t, n, i) {
+                var a = e.skip ? t : e, r = t, l = n.skip ? t : n,
+                    o = Math.sqrt(Math.pow(r.x - a.x, 2) + Math.pow(r.y - a.y, 2)),
+                    s = Math.sqrt(Math.pow(l.x - r.x, 2) + Math.pow(l.y - r.y, 2)), d = o / (o + s), u = s / (o + s),
+                    c = i * (d = isNaN(d) ? 0 : d), h = i * (u = isNaN(u) ? 0 : u);
+                return {
+                    previous: {x: r.x - c * (l.x - a.x), y: r.y - c * (l.y - a.y)},
+                    next: {x: r.x + h * (l.x - a.x), y: r.y + h * (l.y - a.y)}
+                }
+            }, le.EPSILON = Number.EPSILON || 1e-14, le.splineCurveMonotone = function (e) {
+                var t, n, i, a, r, l, o, s, d, u = (e || []).map((function (e) {
+                    return {model: e._model, deltaK: 0, mK: 0}
+                })), c = u.length;
+                for (t = 0; t < c; ++t) if (!(i = u[t]).model.skip) {
+                    if (n = t > 0 ? u[t - 1] : null, (a = t < c - 1 ? u[t + 1] : null) && !a.model.skip) {
+                        var h = a.model.x - i.model.x;
+                        i.deltaK = 0 !== h ? (a.model.y - i.model.y) / h : 0
+                    }
+                    !n || n.model.skip ? i.mK = i.deltaK : !a || a.model.skip ? i.mK = n.deltaK : this.sign(n.deltaK) !== this.sign(i.deltaK) ? i.mK = 0 : i.mK = (n.deltaK + i.deltaK) / 2
+                }
+                for (t = 0; t < c - 1; ++t) i = u[t], a = u[t + 1], i.model.skip || a.model.skip || (le.almostEquals(i.deltaK, 0, this.EPSILON) ? i.mK = a.mK = 0 : (r = i.mK / i.deltaK, l = a.mK / i.deltaK, (s = Math.pow(r, 2) + Math.pow(l, 2)) <= 9 || (o = 3 / Math.sqrt(s), i.mK = r * o * i.deltaK, a.mK = l * o * i.deltaK)));
+                for (t = 0; t < c; ++t) (i = u[t]).model.skip || (n = t > 0 ? u[t - 1] : null, a = t < c - 1 ? u[t + 1] : null, n && !n.model.skip && (d = (i.model.x - n.model.x) / 3, i.model.controlPointPreviousX = i.model.x - d, i.model.controlPointPreviousY = i.model.y - d * i.mK), a && !a.model.skip && (d = (a.model.x - i.model.x) / 3, i.model.controlPointNextX = i.model.x + d, i.model.controlPointNextY = i.model.y + d * i.mK))
+            }, le.nextItem = function (e, t, n) {
+                return n ? t >= e.length - 1 ? e[0] : e[t + 1] : t >= e.length - 1 ? e[e.length - 1] : e[t + 1]
+            }, le.previousItem = function (e, t, n) {
+                return n ? t <= 0 ? e[e.length - 1] : e[t - 1] : t <= 0 ? e[0] : e[t - 1]
+            }, le.niceNum = function (e, t) {
+                var n = Math.floor(le.log10(e)), i = e / Math.pow(10, n);
+                return (t ? i < 1.5 ? 1 : i < 3 ? 2 : i < 7 ? 5 : 10 : i <= 1 ? 1 : i <= 2 ? 2 : i <= 5 ? 5 : 10) * Math.pow(10, n)
+            }, le.requestAnimFrame = "undefined" == typeof window ? function (e) {
+                e()
+            } : window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (e) {
+                return window.setTimeout(e, 1e3 / 60)
+            }, le.getRelativePosition = function (e, t) {
+                var n, i, a = e.originalEvent || e, r = e.target || e.srcElement, l = r.getBoundingClientRect(),
+                    o = a.touches;
+                o && o.length > 0 ? (n = o[0].clientX, i = o[0].clientY) : (n = a.clientX, i = a.clientY);
+                var s = parseFloat(le.getStyle(r, "padding-left")), d = parseFloat(le.getStyle(r, "padding-top")),
+                    u = parseFloat(le.getStyle(r, "padding-right")), c = parseFloat(le.getStyle(r, "padding-bottom")),
+                    h = l.right - l.left - s - u, m = l.bottom - l.top - d - c;
+                return {
+                    x: n = Math.round((n - l.left - s) / h * r.width / t.currentDevicePixelRatio),
+                    y: i = Math.round((i - l.top - d) / m * r.height / t.currentDevicePixelRatio)
+                }
+            }, le.getConstraintWidth = function (e) {
+                return n(e, "max-width", "clientWidth")
+            }, le.getConstraintHeight = function (e) {
+                return n(e, "max-height", "clientHeight")
+            }, le._calculatePadding = function (e, t, n) {
+                return (t = le.getStyle(e, t)).indexOf("%") > -1 ? n * parseInt(t, 10) / 100 : parseInt(t, 10)
+            }, le._getParentNode = function (e) {
+                var t = e.parentNode;
+                return t && "[object ShadowRoot]" === t.toString() && (t = t.host), t
+            }, le.getMaximumWidth = function (e) {
+                var t = le._getParentNode(e);
+                if (!t) return e.clientWidth;
+                var n = t.clientWidth,
+                    i = n - le._calculatePadding(t, "padding-left", n) - le._calculatePadding(t, "padding-right", n),
+                    a = le.getConstraintWidth(e);
+                return isNaN(a) ? i : Math.min(i, a)
+            }, le.getMaximumHeight = function (e) {
+                var t = le._getParentNode(e);
+                if (!t) return e.clientHeight;
+                var n = t.clientHeight,
+                    i = n - le._calculatePadding(t, "padding-top", n) - le._calculatePadding(t, "padding-bottom", n),
+                    a = le.getConstraintHeight(e);
+                return isNaN(a) ? i : Math.min(i, a)
+            }, le.getStyle = function (e, t) {
+                return e.currentStyle ? e.currentStyle[t] : document.defaultView.getComputedStyle(e, null).getPropertyValue(t)
+            }, le.retinaScale = function (e, t) {
+                var n = e.currentDevicePixelRatio = t || "undefined" != typeof window && window.devicePixelRatio || 1;
+                if (1 !== n) {
+                    var i = e.canvas, a = e.height, r = e.width;
+                    i.height = a * n, i.width = r * n, e.ctx.scale(n, n), i.style.height || i.style.width || (i.style.height = a + "px", i.style.width = r + "px")
+                }
+            }, le.fontString = function (e, t, n) {
+                return t + " " + e + "px " + n
+            }, le.longestText = function (e, t, n, i) {
+                var a = (i = i || {}).data = i.data || {}, r = i.garbageCollect = i.garbageCollect || [];
+                i.font !== t && (a = i.data = {}, r = i.garbageCollect = [], i.font = t), e.font = t;
+                var l, o, s, d, u, c = 0, h = n.length;
+                for (l = 0; l < h; l++) if (null != (d = n[l]) && !0 !== le.isArray(d)) c = le.measureText(e, a, r, c, d); else if (le.isArray(d)) for (o = 0, s = d.length; o < s; o++) null == (u = d[o]) || le.isArray(u) || (c = le.measureText(e, a, r, c, u));
+                var m = r.length / 2;
+                if (m > n.length) {
+                    for (l = 0; l < m; l++) delete a[r[l]];
+                    r.splice(0, m)
+                }
+                return c
+            }, le.measureText = function (e, t, n, i, a) {
+                var r = t[a];
+                return r || (r = t[a] = e.measureText(a).width, n.push(a)), r > i && (i = r), i
+            }, le.numberOfLabelLines = function (e) {
+                var t = 1;
+                return le.each(e, (function (e) {
+                    le.isArray(e) && e.length > t && (t = e.length)
+                })), t
+            }, le.color = C ? function (e) {
+                return e instanceof CanvasGradient && (e = $.global.defaultColor), C(e)
+            } : function (e) {
+                return console.error("Color.js not found!"), e
+            }, le.getHoverColor = function (e) {
+                return e instanceof CanvasPattern || e instanceof CanvasGradient ? e : le.color(e).saturate(.5).darken(.1).rgbString()
+            }
+        };
+
+        function Gn() {
+            throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")
+        }
+
+        function qn(e) {
+            this.options = e || {}
+        }
+
+        le.extend(qn.prototype, {
+            formats: Gn,
+            parse: Gn,
+            format: Gn,
+            add: Gn,
+            diff: Gn,
+            startOf: Gn,
+            endOf: Gn,
+            _create: function (e) {
+                return e
+            }
+        }), qn.override = function (e) {
+            le.extend(qn.prototype, e)
+        };
+        var Kn = {_date: qn}, Xn = {
+            formatters: {
+                values: function (e) {
+                    return le.isArray(e) ? e : "" + e
+                }, linear: function (e, t, n) {
+                    var i = n.length > 3 ? n[2] - n[1] : n[1] - n[0];
+                    Math.abs(i) > 1 && e !== Math.floor(e) && (i = e - Math.floor(e));
+                    var a = le.log10(Math.abs(i)), r = "";
+                    if (0 !== e) if (Math.max(Math.abs(n[0]), Math.abs(n[n.length - 1])) < 1e-4) {
+                        var l = le.log10(Math.abs(e)), o = Math.floor(l) - Math.floor(a);
+                        o = Math.max(Math.min(o, 20), 0), r = e.toExponential(o)
+                    } else {
+                        var s = -1 * Math.floor(a);
+                        s = Math.max(Math.min(s, 20), 0), r = e.toFixed(s)
+                    } else r = "0";
+                    return r
+                }, logarithmic: function (e, t, n) {
+                    var i = e / Math.pow(10, Math.floor(le.log10(e)));
+                    return 0 === e ? "0" : 1 === i || 2 === i || 5 === i || 0 === t || t === n.length - 1 ? e.toExponential() : ""
+                }
+            }
+        }, $n = le.isArray, Qn = le.isNullOrUndef, ei = le.valueOrDefault, ti = le.valueAtIndexOrDefault;
+
+        function ni(e, t) {
+            for (var n = [], i = e.length / t, a = 0, r = e.length; a < r; a += i) n.push(e[Math.floor(a)]);
+            return n
+        }
+
+        function ii(e, t, n) {
+            var i, a = e.getTicks().length, r = Math.min(t, a - 1), l = e.getPixelForTick(r), o = e._startPixel,
+                s = e._endPixel, d = 1e-6;
+            if (!(n && (i = 1 === a ? Math.max(l - o, s - l) : 0 === t ? (e.getPixelForTick(1) - l) / 2 : (l - e.getPixelForTick(r - 1)) / 2, (l += r < t ? i : -i) < o - d || l > s + d))) return l
+        }
+
+        function ai(e, t) {
+            le.each(e, (function (e) {
+                var n, i = e.gc, a = i.length / 2;
+                if (a > t) {
+                    for (n = 0; n < a; ++n) delete e.data[i[n]];
+                    i.splice(0, a)
+                }
+            }))
+        }
+
+        function ri(e, t, n, i) {
+            var a, r, l, o, s, d, u, c, h, m, f, _, p, g = n.length, y = [], v = [], M = [], b = 0, x = 0;
+            for (a = 0; a < g; ++a) {
+                if (o = n[a].label, s = n[a].major ? t.major : t.minor, e.font = d = s.string, u = i[d] = i[d] || {
+                    data: {},
+                    gc: []
+                }, c = s.lineHeight, h = m = 0, Qn(o) || $n(o)) {
+                    if ($n(o)) for (r = 0, l = o.length; r < l; ++r) f = o[r], Qn(f) || $n(f) || (h = le.measureText(e, u.data, u.gc, h, f), m += c)
+                } else h = le.measureText(e, u.data, u.gc, h, o), m = c;
+                y.push(h), v.push(m), M.push(c / 2), b = Math.max(h, b), x = Math.max(m, x)
+            }
+
+            function L(e) {
+                return {width: y[e] || 0, height: v[e] || 0, offset: M[e] || 0}
+            }
+
+            return ai(i, g), _ = y.indexOf(b), p = v.indexOf(x), {
+                first: L(0),
+                last: L(g - 1),
+                widest: L(_),
+                highest: L(p)
+            }
+        }
+
+        function li(e) {
+            return e.drawTicks ? e.tickMarkLength : 0
+        }
+
+        function oi(e) {
+            var t, n;
+            return e.display ? (t = le.options._parseFont(e), n = le.options.toPadding(e.padding), t.lineHeight + n.height) : 0
+        }
+
+        function si(e, t) {
+            return le.extend(le.options._parseFont({
+                fontFamily: ei(t.fontFamily, e.fontFamily),
+                fontSize: ei(t.fontSize, e.fontSize),
+                fontStyle: ei(t.fontStyle, e.fontStyle),
+                lineHeight: ei(t.lineHeight, e.lineHeight)
+            }), {color: le.options.resolve([t.fontColor, e.fontColor, $.global.defaultFontColor])})
+        }
+
+        function di(e) {
+            var t = si(e, e.minor);
+            return {minor: t, major: e.major.enabled ? si(e, e.major) : t}
+        }
+
+        function ui(e) {
+            var t, n, i, a = [];
+            for (n = 0, i = e.length; n < i; ++n) void 0 !== (t = e[n])._index && a.push(t);
+            return a
+        }
+
+        function ci(e) {
+            var t, n, i = e.length;
+            if (i < 2) return !1;
+            for (n = e[0], t = 1; t < i; ++t) if (e[t] - e[t - 1] !== n) return !1;
+            return n
+        }
+
+        function hi(e, t, n, i) {
+            var a, r, l, o, s = ci(e), d = (t.length - 1) / i;
+            if (!s) return Math.max(d, 1);
+            for (l = 0, o = (a = le.math._factorize(s)).length - 1; l < o; l++) if ((r = a[l]) > d) return r;
+            return Math.max(d, 1)
+        }
+
+        function mi(e) {
+            var t, n, i = [];
+            for (t = 0, n = e.length; t < n; t++) e[t].major && i.push(t);
+            return i
+        }
+
+        function fi(e, t, n) {
+            var i, a, r = 0, l = t[0];
+            for (n = Math.ceil(n), i = 0; i < e.length; i++) a = e[i], i === l ? (a._index = i, l = t[++r * n]) : delete a.label
+        }
+
+        function _i(e, t, n, i) {
+            var a, r, l, o, s = ei(n, 0), d = Math.min(ei(i, e.length), e.length), u = 0;
+            for (t = Math.ceil(t), i && (t = (a = i - n) / Math.floor(a / t)), o = s; o < 0;) u++, o = Math.round(s + u * t);
+            for (r = Math.max(s, 0); r < d; r++) l = e[r], r === o ? (l._index = r, u++, o = Math.round(s + u * t)) : delete l.label
+        }
+
+        $._set("scale", {
+            display: !0,
+            position: "left",
+            offset: !1,
+            gridLines: {
+                display: !0,
+                color: "rgba(0,0,0,0.1)",
+                lineWidth: 1,
+                drawBorder: !0,
+                drawOnChartArea: !0,
+                drawTicks: !0,
+                tickMarkLength: 10,
+                zeroLineWidth: 1,
+                zeroLineColor: "rgba(0,0,0,0.25)",
+                zeroLineBorderDash: [],
+                zeroLineBorderDashOffset: 0,
+                offsetGridLines: !1,
+                borderDash: [],
+                borderDashOffset: 0
+            },
+            scaleLabel: {display: !1, labelString: "", padding: {top: 4, bottom: 4}},
+            ticks: {
+                beginAtZero: !1,
+                minRotation: 0,
+                maxRotation: 50,
+                mirror: !1,
+                padding: 0,
+                reverse: !1,
+                display: !0,
+                autoSkip: !0,
+                autoSkipPadding: 0,
+                labelOffset: 0,
+                callback: Xn.formatters.values,
+                minor: {},
+                major: {}
+            }
+        });
+        var pi = fe.extend({
+            zeroLineIndex: 0,
+            getPadding: function () {
+                var e = this;
+                return {
+                    left: e.paddingLeft || 0,
+                    top: e.paddingTop || 0,
+                    right: e.paddingRight || 0,
+                    bottom: e.paddingBottom || 0
+                }
+            },
+            getTicks: function () {
+                return this._ticks
+            },
+            _getLabels: function () {
+                var e = this.chart.data;
+                return this.options.labels || (this.isHorizontal() ? e.xLabels : e.yLabels) || e.labels || []
+            },
+            mergeTicksOptions: function () {
+            },
+            beforeUpdate: function () {
+                le.callback(this.options.beforeUpdate, [this])
+            },
+            update: function (e, t, n) {
+                var i, a, r, l, o, s = this, d = s.options.ticks, u = d.sampleSize;
+                if (s.beforeUpdate(), s.maxWidth = e, s.maxHeight = t, s.margins = le.extend({
+                    left: 0,
+                    right: 0,
+                    top: 0,
+                    bottom: 0
+                }, n), s._ticks = null, s.ticks = null, s._labelSizes = null, s._maxLabelLines = 0, s.longestLabelWidth = 0, s.longestTextCache = s.longestTextCache || {}, s._gridLineItems = null, s._labelItems = null, s.beforeSetDimensions(), s.setDimensions(), s.afterSetDimensions(), s.beforeDataLimits(), s.determineDataLimits(), s.afterDataLimits(), s.beforeBuildTicks(), l = s.buildTicks() || [], (!(l = s.afterBuildTicks(l) || l) || !l.length) && s.ticks) for (l = [], i = 0, a = s.ticks.length; i < a; ++i) l.push({
+                    value: s.ticks[i],
+                    major: !1
+                });
+                return s._ticks = l, o = u < l.length, r = s._convertTicksToLabels(o ? ni(l, u) : l), s._configure(), s.beforeCalculateTickRotation(), s.calculateTickRotation(), s.afterCalculateTickRotation(), s.beforeFit(), s.fit(), s.afterFit(), s._ticksToDraw = d.display && (d.autoSkip || "auto" === d.source) ? s._autoSkip(l) : l, o && (r = s._convertTicksToLabels(s._ticksToDraw)), s.ticks = r, s.afterUpdate(), s.minSize
+            },
+            _configure: function () {
+                var e, t, n = this, i = n.options.ticks.reverse;
+                n.isHorizontal() ? (e = n.left, t = n.right) : (e = n.top, t = n.bottom, i = !i), n._startPixel = e, n._endPixel = t, n._reversePixels = i, n._length = t - e
+            },
+            afterUpdate: function () {
+                le.callback(this.options.afterUpdate, [this])
+            },
+            beforeSetDimensions: function () {
+                le.callback(this.options.beforeSetDimensions, [this])
+            },
+            setDimensions: function () {
+                var e = this;
+                e.isHorizontal() ? (e.width = e.maxWidth, e.left = 0, e.right = e.width) : (e.height = e.maxHeight, e.top = 0, e.bottom = e.height), e.paddingLeft = 0, e.paddingTop = 0, e.paddingRight = 0, e.paddingBottom = 0
+            },
+            afterSetDimensions: function () {
+                le.callback(this.options.afterSetDimensions, [this])
+            },
+            beforeDataLimits: function () {
+                le.callback(this.options.beforeDataLimits, [this])
+            },
+            determineDataLimits: le.noop,
+            afterDataLimits: function () {
+                le.callback(this.options.afterDataLimits, [this])
+            },
+            beforeBuildTicks: function () {
+                le.callback(this.options.beforeBuildTicks, [this])
+            },
+            buildTicks: le.noop,
+            afterBuildTicks: function (e) {
+                var t = this;
+                return $n(e) && e.length ? le.callback(t.options.afterBuildTicks, [t, e]) : (t.ticks = le.callback(t.options.afterBuildTicks, [t, t.ticks]) || t.ticks, e)
+            },
+            beforeTickToLabelConversion: function () {
+                le.callback(this.options.beforeTickToLabelConversion, [this])
+            },
+            convertTicksToLabels: function () {
+                var e = this, t = e.options.ticks;
+                e.ticks = e.ticks.map(t.userCallback || t.callback, this)
+            },
+            afterTickToLabelConversion: function () {
+                le.callback(this.options.afterTickToLabelConversion, [this])
+            },
+            beforeCalculateTickRotation: function () {
+                le.callback(this.options.beforeCalculateTickRotation, [this])
+            },
+            calculateTickRotation: function () {
+                var e, t, n, i, a, r, l, o = this, s = o.options, d = s.ticks, u = o.getTicks().length,
+                    c = d.minRotation || 0, h = d.maxRotation, m = c;
+                !o._isVisible() || !d.display || c >= h || u <= 1 || !o.isHorizontal() ? o.labelRotation = c : (t = (e = o._getLabelSizes()).widest.width, n = e.highest.height - e.highest.offset, i = Math.min(o.maxWidth, o.chart.width - t), t + 6 > (a = s.offset ? o.maxWidth / u : i / (u - 1)) && (a = i / (u - (s.offset ? .5 : 1)), r = o.maxHeight - li(s.gridLines) - d.padding - oi(s.scaleLabel), l = Math.sqrt(t * t + n * n), m = le.toDegrees(Math.min(Math.asin(Math.min((e.highest.height + 6) / a, 1)), Math.asin(Math.min(r / l, 1)) - Math.asin(n / l))), m = Math.max(c, Math.min(h, m))), o.labelRotation = m)
+            },
+            afterCalculateTickRotation: function () {
+                le.callback(this.options.afterCalculateTickRotation, [this])
+            },
+            beforeFit: function () {
+                le.callback(this.options.beforeFit, [this])
+            },
+            fit: function () {
+                var e = this, t = e.minSize = {width: 0, height: 0}, n = e.chart, i = e.options, a = i.ticks,
+                    r = i.scaleLabel, l = i.gridLines, o = e._isVisible(), s = "bottom" === i.position,
+                    d = e.isHorizontal();
+                if (d ? t.width = e.maxWidth : o && (t.width = li(l) + oi(r)), d ? o && (t.height = li(l) + oi(r)) : t.height = e.maxHeight, a.display && o) {
+                    var u = di(a), c = e._getLabelSizes(), h = c.first, m = c.last, f = c.widest, _ = c.highest,
+                        p = .4 * u.minor.lineHeight, g = a.padding;
+                    if (d) {
+                        var y = 0 !== e.labelRotation, v = le.toRadians(e.labelRotation), M = Math.cos(v),
+                            b = Math.sin(v), x = b * f.width + M * (_.height - (y ? _.offset : 0)) + (y ? 0 : p);
+                        t.height = Math.min(e.maxHeight, t.height + x + g);
+                        var L, w, k = e.getPixelForTick(0) - e.left,
+                            Y = e.right - e.getPixelForTick(e.getTicks().length - 1);
+                        y ? (L = s ? M * h.width + b * h.offset : b * (h.height - h.offset), w = s ? b * (m.height - m.offset) : M * m.width + b * m.offset) : (L = h.width / 2, w = m.width / 2), e.paddingLeft = Math.max((L - k) * e.width / (e.width - k), 0) + 3, e.paddingRight = Math.max((w - Y) * e.width / (e.width - Y), 0) + 3
+                    } else {
+                        var D = a.mirror ? 0 : f.width + g + p;
+                        t.width = Math.min(e.maxWidth, t.width + D), e.paddingTop = h.height / 2, e.paddingBottom = m.height / 2
+                    }
+                }
+                e.handleMargins(), d ? (e.width = e._length = n.width - e.margins.left - e.margins.right, e.height = t.height) : (e.width = t.width, e.height = e._length = n.height - e.margins.top - e.margins.bottom)
+            },
+            handleMargins: function () {
+                var e = this;
+                e.margins && (e.margins.left = Math.max(e.paddingLeft, e.margins.left), e.margins.top = Math.max(e.paddingTop, e.margins.top), e.margins.right = Math.max(e.paddingRight, e.margins.right), e.margins.bottom = Math.max(e.paddingBottom, e.margins.bottom))
+            },
+            afterFit: function () {
+                le.callback(this.options.afterFit, [this])
+            },
+            isHorizontal: function () {
+                var e = this.options.position;
+                return "top" === e || "bottom" === e
+            },
+            isFullWidth: function () {
+                return this.options.fullWidth
+            },
+            getRightValue: function (e) {
+                if (Qn(e)) return NaN;
+                if (("number" == typeof e || e instanceof Number) && !isFinite(e)) return NaN;
+                if (e) if (this.isHorizontal()) {
+                    if (void 0 !== e.x) return this.getRightValue(e.x)
+                } else if (void 0 !== e.y) return this.getRightValue(e.y);
+                return e
+            },
+            _convertTicksToLabels: function (e) {
+                var t, n, i, a = this;
+                for (a.ticks = e.map((function (e) {
+                    return e.value
+                })), a.beforeTickToLabelConversion(), t = a.convertTicksToLabels(e) || a.ticks, a.afterTickToLabelConversion(), n = 0, i = e.length; n < i; ++n) e[n].label = t[n];
+                return t
+            },
+            _getLabelSizes: function () {
+                var e = this, t = e._labelSizes;
+                return t || (e._labelSizes = t = ri(e.ctx, di(e.options.ticks), e.getTicks(), e.longestTextCache), e.longestLabelWidth = t.widest.width), t
+            },
+            _parseValue: function (e) {
+                var t, n, i, a;
+                return $n(e) ? (t = +this.getRightValue(e[0]), n = +this.getRightValue(e[1]), i = Math.min(t, n), a = Math.max(t, n)) : (t = void 0, n = e = +this.getRightValue(e), i = e, a = e), {
+                    min: i,
+                    max: a,
+                    start: t,
+                    end: n
+                }
+            },
+            _getScaleLabel: function (e) {
+                var t = this._parseValue(e);
+                return void 0 !== t.start ? "[" + t.start + ", " + t.end + "]" : +this.getRightValue(e)
+            },
+            getLabelForIndex: le.noop,
+            getPixelForValue: le.noop,
+            getValueForPixel: le.noop,
+            getPixelForTick: function (e) {
+                var t = this, n = t.options.offset, i = t._ticks.length, a = 1 / Math.max(i - (n ? 0 : 1), 1);
+                return e < 0 || e > i - 1 ? null : t.getPixelForDecimal(e * a + (n ? a / 2 : 0))
+            },
+            getPixelForDecimal: function (e) {
+                var t = this;
+                return t._reversePixels && (e = 1 - e), t._startPixel + e * t._length
+            },
+            getDecimalForPixel: function (e) {
+                var t = (e - this._startPixel) / this._length;
+                return this._reversePixels ? 1 - t : t
+            },
+            getBasePixel: function () {
+                return this.getPixelForValue(this.getBaseValue())
+            },
+            getBaseValue: function () {
+                var e = this, t = e.min, n = e.max;
+                return e.beginAtZero ? 0 : t < 0 && n < 0 ? n : t > 0 && n > 0 ? t : 0
+            },
+            _autoSkip: function (e) {
+                var t, n, i, a, r = this, l = r.options.ticks, o = r._length,
+                    s = l.maxTicksLimit || o / r._tickSize() + 1, d = l.major.enabled ? mi(e) : [], u = d.length,
+                    c = d[0], h = d[u - 1];
+                if (u > s) return fi(e, d, u / s), ui(e);
+                if (i = hi(d, e, o, s), u > 0) {
+                    for (t = 0, n = u - 1; t < n; t++) _i(e, i, d[t], d[t + 1]);
+                    return a = u > 1 ? (h - c) / (u - 1) : null, _i(e, i, le.isNullOrUndef(a) ? 0 : c - a, c), _i(e, i, h, le.isNullOrUndef(a) ? e.length : h + a), ui(e)
+                }
+                return _i(e, i), ui(e)
+            },
+            _tickSize: function () {
+                var e = this, t = e.options.ticks, n = le.toRadians(e.labelRotation), i = Math.abs(Math.cos(n)),
+                    a = Math.abs(Math.sin(n)), r = e._getLabelSizes(), l = t.autoSkipPadding || 0,
+                    o = r ? r.widest.width + l : 0, s = r ? r.highest.height + l : 0;
+                return e.isHorizontal() ? s * i > o * a ? o / i : s / a : s * a < o * i ? s / i : o / a
+            },
+            _isVisible: function () {
+                var e, t, n, i = this, a = i.chart, r = i.options.display;
+                if ("auto" !== r) return !!r;
+                for (e = 0, t = a.data.datasets.length; e < t; ++e) if (a.isDatasetVisible(e) && ((n = a.getDatasetMeta(e)).xAxisID === i.id || n.yAxisID === i.id)) return !0;
+                return !1
+            },
+            _computeGridLineItems: function (e) {
+                var t, n, i, a, r, l, o, s, d, u, c, h, m, f, _, p, g, y = this, v = y.chart, M = y.options,
+                    b = M.gridLines, x = M.position, L = b.offsetGridLines, w = y.isHorizontal(), k = y._ticksToDraw,
+                    Y = k.length + (L ? 1 : 0), D = li(b), T = [], S = b.drawBorder ? ti(b.lineWidth, 0, 0) : 0,
+                    j = S / 2, E = le._alignPixel, H = function (e) {
+                        return E(v, e, S)
+                    };
+                for ("top" === x ? (t = H(y.bottom), o = y.bottom - D, d = t - j, c = H(e.top) + j, m = e.bottom) : "bottom" === x ? (t = H(y.top), c = e.top, m = H(e.bottom) - j, o = t + j, d = y.top + D) : "left" === x ? (t = H(y.right), l = y.right - D, s = t - j, u = H(e.left) + j, h = e.right) : (t = H(y.left), u = e.left, h = H(e.right) - j, l = t + j, s = y.left + D), n = 0; n < Y; ++n) i = k[n] || {}, Qn(i.label) && n < k.length || (n === y.zeroLineIndex && M.offset === L ? (f = b.zeroLineWidth, _ = b.zeroLineColor, p = b.zeroLineBorderDash || [], g = b.zeroLineBorderDashOffset || 0) : (f = ti(b.lineWidth, n, 1), _ = ti(b.color, n, "rgba(0,0,0,0.1)"), p = b.borderDash || [], g = b.borderDashOffset || 0), void 0 !== (a = ii(y, i._index || n, L)) && (r = E(v, a, f), w ? l = s = u = h = r : o = d = c = m = r, T.push({
+                    tx1: l,
+                    ty1: o,
+                    tx2: s,
+                    ty2: d,
+                    x1: u,
+                    y1: c,
+                    x2: h,
+                    y2: m,
+                    width: f,
+                    color: _,
+                    borderDash: p,
+                    borderDashOffset: g
+                })));
+                return T.ticksLength = Y, T.borderValue = t, T
+            },
+            _computeLabelItems: function () {
+                var e, t, n, i, a, r, l, o, s, d, u, c, h = this, m = h.options, f = m.ticks, _ = m.position,
+                    p = f.mirror, g = h.isHorizontal(), y = h._ticksToDraw, v = di(f), M = f.padding,
+                    b = li(m.gridLines), x = -le.toRadians(h.labelRotation), L = [];
+                for ("top" === _ ? (r = h.bottom - b - M, l = x ? "left" : "center") : "bottom" === _ ? (r = h.top + b + M, l = x ? "right" : "center") : "left" === _ ? (a = h.right - (p ? 0 : b) - M, l = p ? "left" : "right") : (a = h.left + (p ? 0 : b) + M, l = p ? "right" : "left"), e = 0, t = y.length; e < t; ++e) i = (n = y[e]).label, Qn(i) || (o = h.getPixelForTick(n._index || e) + f.labelOffset, d = (s = n.major ? v.major : v.minor).lineHeight, u = $n(i) ? i.length : 1, g ? (a = o, c = "top" === _ ? ((x ? 1 : .5) - u) * d : (x ? 0 : .5) * d) : (r = o, c = (1 - u) * d / 2), L.push({
+                    x: a,
+                    y: r,
+                    rotation: x,
+                    label: i,
+                    font: s,
+                    textOffset: c,
+                    textAlign: l
+                }));
+                return L
+            },
+            _drawGrid: function (e) {
+                var t = this, n = t.options.gridLines;
+                if (n.display) {
+                    var i, a, r, l, o, s = t.ctx, d = t.chart, u = le._alignPixel,
+                        c = n.drawBorder ? ti(n.lineWidth, 0, 0) : 0,
+                        h = t._gridLineItems || (t._gridLineItems = t._computeGridLineItems(e));
+                    for (r = 0, l = h.length; r < l; ++r) i = (o = h[r]).width, a = o.color, i && a && (s.save(), s.lineWidth = i, s.strokeStyle = a, s.setLineDash && (s.setLineDash(o.borderDash), s.lineDashOffset = o.borderDashOffset), s.beginPath(), n.drawTicks && (s.moveTo(o.tx1, o.ty1), s.lineTo(o.tx2, o.ty2)), n.drawOnChartArea && (s.moveTo(o.x1, o.y1), s.lineTo(o.x2, o.y2)), s.stroke(), s.restore());
+                    if (c) {
+                        var m, f, _, p, g = c, y = ti(n.lineWidth, h.ticksLength - 1, 1), v = h.borderValue;
+                        t.isHorizontal() ? (m = u(d, t.left, g) - g / 2, f = u(d, t.right, y) + y / 2, _ = p = v) : (_ = u(d, t.top, g) - g / 2, p = u(d, t.bottom, y) + y / 2, m = f = v), s.lineWidth = c, s.strokeStyle = ti(n.color, 0), s.beginPath(), s.moveTo(m, _), s.lineTo(f, p), s.stroke()
+                    }
+                }
+            },
+            _drawLabels: function () {
+                var e = this;
+                if (e.options.ticks.display) {
+                    var t, n, i, a, r, l, o, s, d = e.ctx,
+                        u = e._labelItems || (e._labelItems = e._computeLabelItems());
+                    for (t = 0, i = u.length; t < i; ++t) {
+                        if (l = (r = u[t]).font, d.save(), d.translate(r.x, r.y), d.rotate(r.rotation), d.font = l.string, d.fillStyle = l.color, d.textBaseline = "middle", d.textAlign = r.textAlign, o = r.label, s = r.textOffset, $n(o)) for (n = 0, a = o.length; n < a; ++n) d.fillText("" + o[n], 0, s), s += l.lineHeight; else d.fillText(o, 0, s);
+                        d.restore()
+                    }
+                }
+            },
+            _drawTitle: function () {
+                var e = this, t = e.ctx, n = e.options, i = n.scaleLabel;
+                if (i.display) {
+                    var a, r, l = ei(i.fontColor, $.global.defaultFontColor), o = le.options._parseFont(i),
+                        s = le.options.toPadding(i.padding), d = o.lineHeight / 2, u = n.position, c = 0;
+                    if (e.isHorizontal()) a = e.left + e.width / 2, r = "bottom" === u ? e.bottom - d - s.bottom : e.top + d + s.top; else {
+                        var h = "left" === u;
+                        a = h ? e.left + d + s.top : e.right - d - s.top, r = e.top + e.height / 2, c = h ? -.5 * Math.PI : .5 * Math.PI
+                    }
+                    t.save(), t.translate(a, r), t.rotate(c), t.textAlign = "center", t.textBaseline = "middle", t.fillStyle = l, t.font = o.string, t.fillText(i.labelString, 0, 0), t.restore()
+                }
+            },
+            draw: function (e) {
+                var t = this;
+                t._isVisible() && (t._drawGrid(e), t._drawTitle(), t._drawLabels())
+            },
+            _layers: function () {
+                var e = this, t = e.options, n = t.ticks && t.ticks.z || 0, i = t.gridLines && t.gridLines.z || 0;
+                return e._isVisible() && n !== i && e.draw === e._draw ? [{
+                    z: i, draw: function () {
+                        e._drawGrid.apply(e, arguments), e._drawTitle.apply(e, arguments)
+                    }
+                }, {
+                    z: n, draw: function () {
+                        e._drawLabels.apply(e, arguments)
+                    }
+                }] : [{
+                    z: n, draw: function () {
+                        e.draw.apply(e, arguments)
+                    }
+                }]
+            },
+            _getMatchingVisibleMetas: function (e) {
+                var t = this, n = t.isHorizontal();
+                return t.chart._getSortedVisibleDatasetMetas().filter((function (i) {
+                    return (!e || i.type === e) && (n ? i.xAxisID === t.id : i.yAxisID === t.id)
+                }))
+            }
+        });
+        pi.prototype._draw = pi.prototype.draw;
+        var gi = pi, yi = le.isNullOrUndef, vi = {position: "bottom"}, Mi = gi.extend({
+            determineDataLimits: function () {
+                var e, t = this, n = t._getLabels(), i = t.options.ticks, a = i.min, r = i.max, l = 0, o = n.length - 1;
+                void 0 !== a && (e = n.indexOf(a)) >= 0 && (l = e), void 0 !== r && (e = n.indexOf(r)) >= 0 && (o = e), t.minIndex = l, t.maxIndex = o, t.min = n[l], t.max = n[o]
+            }, buildTicks: function () {
+                var e = this, t = e._getLabels(), n = e.minIndex, i = e.maxIndex;
+                e.ticks = 0 === n && i === t.length - 1 ? t : t.slice(n, i + 1)
+            }, getLabelForIndex: function (e, t) {
+                var n = this, i = n.chart;
+                return i.getDatasetMeta(t).controller._getValueScaleId() === n.id ? n.getRightValue(i.data.datasets[t].data[e]) : n._getLabels()[e]
+            }, _configure: function () {
+                var e = this, t = e.options.offset, n = e.ticks;
+                gi.prototype._configure.call(e), e.isHorizontal() || (e._reversePixels = !e._reversePixels), n && (e._startValue = e.minIndex - (t ? .5 : 0), e._valueRange = Math.max(n.length - (t ? 0 : 1), 1))
+            }, getPixelForValue: function (e, t, n) {
+                var i, a, r, l = this;
+                return yi(t) || yi(n) || (e = l.chart.data.datasets[n].data[t]), yi(e) || (i = l.isHorizontal() ? e.x : e.y), (void 0 !== i || void 0 !== e && isNaN(t)) && (a = l._getLabels(), e = le.valueOrDefault(i, e), t = -1 !== (r = a.indexOf(e)) ? r : t, isNaN(t) && (t = e)), l.getPixelForDecimal((t - l._startValue) / l._valueRange)
+            }, getPixelForTick: function (e) {
+                var t = this.ticks;
+                return e < 0 || e > t.length - 1 ? null : this.getPixelForValue(t[e], e + this.minIndex)
+            }, getValueForPixel: function (e) {
+                var t = this, n = Math.round(t._startValue + t.getDecimalForPixel(e) * t._valueRange);
+                return Math.min(Math.max(n, 0), t.ticks.length - 1)
+            }, getBasePixel: function () {
+                return this.bottom
+            }
+        }), bi = vi;
+        Mi._defaults = bi;
+        var xi = le.noop, Li = le.isNullOrUndef;
+
+        function wi(e, t) {
+            var n, i, a, r, l = [], o = 1e-14, s = e.stepSize, d = s || 1, u = e.maxTicks - 1, c = e.min, h = e.max,
+                m = e.precision, f = t.min, _ = t.max, p = le.niceNum((_ - f) / u / d) * d;
+            if (p < o && Li(c) && Li(h)) return [f, _];
+            (r = Math.ceil(_ / p) - Math.floor(f / p)) > u && (p = le.niceNum(r * p / u / d) * d), s || Li(m) ? n = Math.pow(10, le._decimalPlaces(p)) : (n = Math.pow(10, m), p = Math.ceil(p * n) / n), i = Math.floor(f / p) * p, a = Math.ceil(_ / p) * p, s && (!Li(c) && le.almostWhole(c / p, p / 1e3) && (i = c), !Li(h) && le.almostWhole(h / p, p / 1e3) && (a = h)), r = (a - i) / p, r = le.almostEquals(r, Math.round(r), p / 1e3) ? Math.round(r) : Math.ceil(r), i = Math.round(i * n) / n, a = Math.round(a * n) / n, l.push(Li(c) ? i : c);
+            for (var g = 1; g < r; ++g) l.push(Math.round((i + g * p) * n) / n);
+            return l.push(Li(h) ? a : h), l
+        }
+
+        var ki = gi.extend({
+            getRightValue: function (e) {
+                return "string" == typeof e ? +e : gi.prototype.getRightValue.call(this, e)
+            }, handleTickRangeOptions: function () {
+                var e = this, t = e.options.ticks;
+                if (t.beginAtZero) {
+                    var n = le.sign(e.min), i = le.sign(e.max);
+                    n < 0 && i < 0 ? e.max = 0 : n > 0 && i > 0 && (e.min = 0)
+                }
+                var a = void 0 !== t.min || void 0 !== t.suggestedMin,
+                    r = void 0 !== t.max || void 0 !== t.suggestedMax;
+                void 0 !== t.min ? e.min = t.min : void 0 !== t.suggestedMin && (null === e.min ? e.min = t.suggestedMin : e.min = Math.min(e.min, t.suggestedMin)), void 0 !== t.max ? e.max = t.max : void 0 !== t.suggestedMax && (null === e.max ? e.max = t.suggestedMax : e.max = Math.max(e.max, t.suggestedMax)), a !== r && e.min >= e.max && (a ? e.max = e.min + 1 : e.min = e.max - 1), e.min === e.max && (e.max++, t.beginAtZero || e.min--)
+            }, getTickLimit: function () {
+                var e, t = this, n = t.options.ticks, i = n.stepSize, a = n.maxTicksLimit;
+                return i ? e = Math.ceil(t.max / i) - Math.floor(t.min / i) + 1 : (e = t._computeTickLimit(), a = a || 11), a && (e = Math.min(a, e)), e
+            }, _computeTickLimit: function () {
+                return Number.POSITIVE_INFINITY
+            }, handleDirectionalChanges: xi, buildTicks: function () {
+                var e = this, t = e.options.ticks, n = e.getTickLimit(), i = {
+                    maxTicks: n = Math.max(2, n),
+                    min: t.min,
+                    max: t.max,
+                    precision: t.precision,
+                    stepSize: le.valueOrDefault(t.fixedStepSize, t.stepSize)
+                }, a = e.ticks = wi(i, e);
+                e.handleDirectionalChanges(), e.max = le.max(a), e.min = le.min(a), t.reverse ? (a.reverse(), e.start = e.max, e.end = e.min) : (e.start = e.min, e.end = e.max)
+            }, convertTicksToLabels: function () {
+                var e = this;
+                e.ticksAsNumbers = e.ticks.slice(), e.zeroLineIndex = e.ticks.indexOf(0), gi.prototype.convertTicksToLabels.call(e)
+            }, _configure: function () {
+                var e, t = this, n = t.getTicks(), i = t.min, a = t.max;
+                gi.prototype._configure.call(t), t.options.offset && n.length && (i -= e = (a - i) / Math.max(n.length - 1, 1) / 2, a += e), t._startValue = i, t._endValue = a, t._valueRange = a - i
+            }
+        }), Yi = {position: "left", ticks: {callback: Xn.formatters.linear}}, Di = 0, Ti = 1;
+
+        function Si(e, t, n) {
+            var i = [n.type, void 0 === t && void 0 === n.stack ? n.index : "", n.stack].join(".");
+            return void 0 === e[i] && (e[i] = {pos: [], neg: []}), e[i]
+        }
+
+        function ji(e, t, n, i) {
+            var a, r, l = e.options, o = Si(t, l.stacked, n), s = o.pos, d = o.neg, u = i.length;
+            for (a = 0; a < u; ++a) r = e._parseValue(i[a]), isNaN(r.min) || isNaN(r.max) || n.data[a].hidden || (s[a] = s[a] || 0, d[a] = d[a] || 0, l.relativePoints ? s[a] = 100 : r.min < 0 || r.max < 0 ? d[a] += r.min : s[a] += r.max)
+        }
+
+        function Ei(e, t, n) {
+            var i, a, r = n.length;
+            for (i = 0; i < r; ++i) a = e._parseValue(n[i]), isNaN(a.min) || isNaN(a.max) || t.data[i].hidden || (e.min = Math.min(e.min, a.min), e.max = Math.max(e.max, a.max))
+        }
+
+        var Hi = ki.extend({
+            determineDataLimits: function () {
+                var e, t, n, i, a = this, r = a.options, l = a.chart.data.datasets, o = a._getMatchingVisibleMetas(),
+                    s = r.stacked, d = {}, u = o.length;
+                if (a.min = Number.POSITIVE_INFINITY, a.max = Number.NEGATIVE_INFINITY, void 0 === s) for (e = 0; !s && e < u; ++e) s = void 0 !== (t = o[e]).stack;
+                for (e = 0; e < u; ++e) n = l[(t = o[e]).index].data, s ? ji(a, d, t, n) : Ei(a, t, n);
+                le.each(d, (function (e) {
+                    i = e.pos.concat(e.neg), a.min = Math.min(a.min, le.min(i)), a.max = Math.max(a.max, le.max(i))
+                })), a.min = le.isFinite(a.min) && !isNaN(a.min) ? a.min : Di, a.max = le.isFinite(a.max) && !isNaN(a.max) ? a.max : Ti, a.handleTickRangeOptions()
+            }, _computeTickLimit: function () {
+                var e, t = this;
+                return t.isHorizontal() ? Math.ceil(t.width / 40) : (e = le.options._parseFont(t.options.ticks), Math.ceil(t.height / e.lineHeight))
+            }, handleDirectionalChanges: function () {
+                this.isHorizontal() || this.ticks.reverse()
+            }, getLabelForIndex: function (e, t) {
+                return this._getScaleLabel(this.chart.data.datasets[t].data[e])
+            }, getPixelForValue: function (e) {
+                var t = this;
+                return t.getPixelForDecimal((+t.getRightValue(e) - t._startValue) / t._valueRange)
+            }, getValueForPixel: function (e) {
+                return this._startValue + this.getDecimalForPixel(e) * this._valueRange
+            }, getPixelForTick: function (e) {
+                var t = this.ticksAsNumbers;
+                return e < 0 || e > t.length - 1 ? null : this.getPixelForValue(t[e])
+            }
+        }), Oi = Yi;
+        Hi._defaults = Oi;
+        var Ai = le.valueOrDefault, Pi = le.math.log10;
+
+        function Ci(e, t) {
+            var n, i, a = [], r = Ai(e.min, Math.pow(10, Math.floor(Pi(t.min)))), l = Math.floor(Pi(t.max)),
+                o = Math.ceil(t.max / Math.pow(10, l));
+            0 === r ? (n = Math.floor(Pi(t.minNotZero)), i = Math.floor(t.minNotZero / Math.pow(10, n)), a.push(r), r = i * Math.pow(10, n)) : (n = Math.floor(Pi(r)), i = Math.floor(r / Math.pow(10, n)));
+            var s = n < 0 ? Math.pow(10, Math.abs(n)) : 1;
+            do {
+                a.push(r), 10 == ++i && (i = 1, s = ++n >= 0 ? 1 : s), r = Math.round(i * Math.pow(10, n) * s) / s
+            } while (n < l || n === l && i < o);
+            var d = Ai(e.max, r);
+            return a.push(d), a
+        }
+
+        var Fi = {position: "left", ticks: {callback: Xn.formatters.logarithmic}};
+
+        function Ii(e, t) {
+            return le.isFinite(e) && e >= 0 ? e : t
+        }
+
+        var Wi = gi.extend({
+            determineDataLimits: function () {
+                var e, t, n, i, a, r, l = this, o = l.options, s = l.chart, d = s.data.datasets, u = l.isHorizontal();
+
+                function c(e) {
+                    return u ? e.xAxisID === l.id : e.yAxisID === l.id
+                }
+
+                l.min = Number.POSITIVE_INFINITY, l.max = Number.NEGATIVE_INFINITY, l.minNotZero = Number.POSITIVE_INFINITY;
+                var h = o.stacked;
+                if (void 0 === h) for (e = 0; e < d.length; e++) if (t = s.getDatasetMeta(e), s.isDatasetVisible(e) && c(t) && void 0 !== t.stack) {
+                    h = !0;
+                    break
+                }
+                if (o.stacked || h) {
+                    var m = {};
+                    for (e = 0; e < d.length; e++) {
+                        var f = [(t = s.getDatasetMeta(e)).type, void 0 === o.stacked && void 0 === t.stack ? e : "", t.stack].join(".");
+                        if (s.isDatasetVisible(e) && c(t)) for (void 0 === m[f] && (m[f] = []), a = 0, r = (i = d[e].data).length; a < r; a++) {
+                            var _ = m[f];
+                            n = l._parseValue(i[a]), isNaN(n.min) || isNaN(n.max) || t.data[a].hidden || n.min < 0 || n.max < 0 || (_[a] = _[a] || 0, _[a] += n.max)
+                        }
+                    }
+                    le.each(m, (function (e) {
+                        if (e.length > 0) {
+                            var t = le.min(e), n = le.max(e);
+                            l.min = Math.min(l.min, t), l.max = Math.max(l.max, n)
+                        }
+                    }))
+                } else for (e = 0; e < d.length; e++) if (t = s.getDatasetMeta(e), s.isDatasetVisible(e) && c(t)) for (a = 0, r = (i = d[e].data).length; a < r; a++) n = l._parseValue(i[a]), isNaN(n.min) || isNaN(n.max) || t.data[a].hidden || n.min < 0 || n.max < 0 || (l.min = Math.min(n.min, l.min), l.max = Math.max(n.max, l.max), 0 !== n.min && (l.minNotZero = Math.min(n.min, l.minNotZero)));
+                l.min = le.isFinite(l.min) ? l.min : null, l.max = le.isFinite(l.max) ? l.max : null, l.minNotZero = le.isFinite(l.minNotZero) ? l.minNotZero : null, this.handleTickRangeOptions()
+            }, handleTickRangeOptions: function () {
+                var e = this, t = e.options.ticks, n = 1, i = 10;
+                e.min = Ii(t.min, e.min), e.max = Ii(t.max, e.max), e.min === e.max && (0 !== e.min && null !== e.min ? (e.min = Math.pow(10, Math.floor(Pi(e.min)) - 1), e.max = Math.pow(10, Math.floor(Pi(e.max)) + 1)) : (e.min = n, e.max = i)), null === e.min && (e.min = Math.pow(10, Math.floor(Pi(e.max)) - 1)), null === e.max && (e.max = 0 !== e.min ? Math.pow(10, Math.floor(Pi(e.min)) + 1) : i), null === e.minNotZero && (e.min > 0 ? e.minNotZero = e.min : e.max < 1 ? e.minNotZero = Math.pow(10, Math.floor(Pi(e.max))) : e.minNotZero = n)
+            }, buildTicks: function () {
+                var e = this, t = e.options.ticks, n = !e.isHorizontal(), i = {min: Ii(t.min), max: Ii(t.max)},
+                    a = e.ticks = Ci(i, e);
+                e.max = le.max(a), e.min = le.min(a), t.reverse ? (n = !n, e.start = e.max, e.end = e.min) : (e.start = e.min, e.end = e.max), n && a.reverse()
+            }, convertTicksToLabels: function () {
+                this.tickValues = this.ticks.slice(), gi.prototype.convertTicksToLabels.call(this)
+            }, getLabelForIndex: function (e, t) {
+                return this._getScaleLabel(this.chart.data.datasets[t].data[e])
+            }, getPixelForTick: function (e) {
+                var t = this.tickValues;
+                return e < 0 || e > t.length - 1 ? null : this.getPixelForValue(t[e])
+            }, _getFirstTickValue: function (e) {
+                var t = Math.floor(Pi(e));
+                return Math.floor(e / Math.pow(10, t)) * Math.pow(10, t)
+            }, _configure: function () {
+                var e = this, t = e.min, n = 0;
+                gi.prototype._configure.call(e), 0 === t && (t = e._getFirstTickValue(e.minNotZero), n = Ai(e.options.ticks.fontSize, $.global.defaultFontSize) / e._length), e._startValue = Pi(t), e._valueOffset = n, e._valueRange = (Pi(e.max) - Pi(t)) / (1 - n)
+            }, getPixelForValue: function (e) {
+                var t = this, n = 0;
+                return (e = +t.getRightValue(e)) > t.min && e > 0 && (n = (Pi(e) - t._startValue) / t._valueRange + t._valueOffset), t.getPixelForDecimal(n)
+            }, getValueForPixel: function (e) {
+                var t = this, n = t.getDecimalForPixel(e);
+                return 0 === n && 0 === t.min ? 0 : Math.pow(10, t._startValue + (n - t._valueOffset) * t._valueRange)
+            }
+        }), Ni = Fi;
+        Wi._defaults = Ni;
+        var zi = le.valueOrDefault, Ri = le.valueAtIndexOrDefault, Vi = le.options.resolve, Bi = {
+            display: !0,
+            animate: !0,
+            position: "chartArea",
+            angleLines: {display: !0, color: "rgba(0,0,0,0.1)", lineWidth: 1, borderDash: [], borderDashOffset: 0},
+            gridLines: {circular: !1},
+            ticks: {
+                showLabelBackdrop: !0,
+                backdropColor: "rgba(255,255,255,0.75)",
+                backdropPaddingY: 2,
+                backdropPaddingX: 2,
+                callback: Xn.formatters.linear
+            },
+            pointLabels: {
+                display: !0, fontSize: 10, callback: function (e) {
+                    return e
+                }
+            }
+        };
+
+        function Zi(e) {
+            var t = e.ticks;
+            return t.display && e.display ? zi(t.fontSize, $.global.defaultFontSize) + 2 * t.backdropPaddingY : 0
+        }
+
+        function Ui(e, t, n) {
+            return le.isArray(n) ? {w: le.longestText(e, e.font, n), h: n.length * t} : {
+                w: e.measureText(n).width,
+                h: t
+            }
+        }
+
+        function Ji(e, t, n, i, a) {
+            return e === i || e === a ? {start: t - n / 2, end: t + n / 2} : e < i || e > a ? {
+                start: t - n,
+                end: t
+            } : {start: t, end: t + n}
+        }
+
+        function Gi(e) {
+            var t, n, i, a = le.options._parseFont(e.options.pointLabels),
+                r = {l: 0, r: e.width, t: 0, b: e.height - e.paddingTop}, l = {};
+            e.ctx.font = a.string, e._pointLabelSizes = [];
+            var o = e.chart.data.labels.length;
+            for (t = 0; t < o; t++) {
+                i = e.getPointPosition(t, e.drawingArea + 5), n = Ui(e.ctx, a.lineHeight, e.pointLabels[t]), e._pointLabelSizes[t] = n;
+                var s = e.getIndexAngle(t), d = le.toDegrees(s) % 360, u = Ji(d, i.x, n.w, 0, 180),
+                    c = Ji(d, i.y, n.h, 90, 270);
+                u.start < r.l && (r.l = u.start, l.l = s), u.end > r.r && (r.r = u.end, l.r = s), c.start < r.t && (r.t = c.start, l.t = s), c.end > r.b && (r.b = c.end, l.b = s)
+            }
+            e.setReductions(e.drawingArea, r, l)
+        }
+
+        function qi(e) {
+            return 0 === e || 180 === e ? "center" : e < 180 ? "left" : "right"
+        }
+
+        function Ki(e, t, n, i) {
+            var a, r, l = n.y + i / 2;
+            if (le.isArray(t)) for (a = 0, r = t.length; a < r; ++a) e.fillText(t[a], n.x, l), l += i; else e.fillText(t, n.x, l)
+        }
+
+        function Xi(e, t, n) {
+            90 === e || 270 === e ? n.y -= t.h / 2 : (e > 270 || e < 90) && (n.y -= t.h)
+        }
+
+        function $i(e) {
+            var t = e.ctx, n = e.options, i = n.pointLabels, a = Zi(n),
+                r = e.getDistanceFromCenterForValue(n.ticks.reverse ? e.min : e.max), l = le.options._parseFont(i);
+            t.save(), t.font = l.string, t.textBaseline = "middle";
+            for (var o = e.chart.data.labels.length - 1; o >= 0; o--) {
+                var s = 0 === o ? a / 2 : 0, d = e.getPointPosition(o, r + s + 5),
+                    u = Ri(i.fontColor, o, $.global.defaultFontColor);
+                t.fillStyle = u;
+                var c = e.getIndexAngle(o), h = le.toDegrees(c);
+                t.textAlign = qi(h), Xi(h, e._pointLabelSizes[o], d), Ki(t, e.pointLabels[o], d, l.lineHeight)
+            }
+            t.restore()
+        }
+
+        function Qi(e, t, n, i) {
+            var a, r = e.ctx, l = t.circular, o = e.chart.data.labels.length, s = Ri(t.color, i - 1),
+                d = Ri(t.lineWidth, i - 1);
+            if ((l || o) && s && d) {
+                if (r.save(), r.strokeStyle = s, r.lineWidth = d, r.setLineDash && (r.setLineDash(t.borderDash || []), r.lineDashOffset = t.borderDashOffset || 0), r.beginPath(), l) r.arc(e.xCenter, e.yCenter, n, 0, 2 * Math.PI); else {
+                    a = e.getPointPosition(0, n), r.moveTo(a.x, a.y);
+                    for (var u = 1; u < o; u++) a = e.getPointPosition(u, n), r.lineTo(a.x, a.y)
+                }
+                r.closePath(), r.stroke(), r.restore()
+            }
+        }
+
+        function ea(e) {
+            return le.isNumber(e) ? e : 0
+        }
+
+        var ta = ki.extend({
+            setDimensions: function () {
+                var e = this;
+                e.width = e.maxWidth, e.height = e.maxHeight, e.paddingTop = Zi(e.options) / 2, e.xCenter = Math.floor(e.width / 2), e.yCenter = Math.floor((e.height - e.paddingTop) / 2), e.drawingArea = Math.min(e.height - e.paddingTop, e.width) / 2
+            }, determineDataLimits: function () {
+                var e = this, t = e.chart, n = Number.POSITIVE_INFINITY, i = Number.NEGATIVE_INFINITY;
+                le.each(t.data.datasets, (function (a, r) {
+                    if (t.isDatasetVisible(r)) {
+                        var l = t.getDatasetMeta(r);
+                        le.each(a.data, (function (t, a) {
+                            var r = +e.getRightValue(t);
+                            isNaN(r) || l.data[a].hidden || (n = Math.min(r, n), i = Math.max(r, i))
+                        }))
+                    }
+                })), e.min = n === Number.POSITIVE_INFINITY ? 0 : n, e.max = i === Number.NEGATIVE_INFINITY ? 0 : i, e.handleTickRangeOptions()
+            }, _computeTickLimit: function () {
+                return Math.ceil(this.drawingArea / Zi(this.options))
+            }, convertTicksToLabels: function () {
+                var e = this;
+                ki.prototype.convertTicksToLabels.call(e), e.pointLabels = e.chart.data.labels.map((function () {
+                    var t = le.callback(e.options.pointLabels.callback, arguments, e);
+                    return t || 0 === t ? t : ""
+                }))
+            }, getLabelForIndex: function (e, t) {
+                return +this.getRightValue(this.chart.data.datasets[t].data[e])
+            }, fit: function () {
+                var e = this, t = e.options;
+                t.display && t.pointLabels.display ? Gi(e) : e.setCenterPoint(0, 0, 0, 0)
+            }, setReductions: function (e, t, n) {
+                var i = this, a = t.l / Math.sin(n.l), r = Math.max(t.r - i.width, 0) / Math.sin(n.r),
+                    l = -t.t / Math.cos(n.t), o = -Math.max(t.b - (i.height - i.paddingTop), 0) / Math.cos(n.b);
+                a = ea(a), r = ea(r), l = ea(l), o = ea(o), i.drawingArea = Math.min(Math.floor(e - (a + r) / 2), Math.floor(e - (l + o) / 2)), i.setCenterPoint(a, r, l, o)
+            }, setCenterPoint: function (e, t, n, i) {
+                var a = this, r = a.width - t - a.drawingArea, l = e + a.drawingArea, o = n + a.drawingArea,
+                    s = a.height - a.paddingTop - i - a.drawingArea;
+                a.xCenter = Math.floor((l + r) / 2 + a.left), a.yCenter = Math.floor((o + s) / 2 + a.top + a.paddingTop)
+            }, getIndexAngle: function (e) {
+                var t = this.chart, n = (e * (360 / t.data.labels.length) + ((t.options || {}).startAngle || 0)) % 360;
+                return (n < 0 ? n + 360 : n) * Math.PI * 2 / 360
+            }, getDistanceFromCenterForValue: function (e) {
+                var t = this;
+                if (le.isNullOrUndef(e)) return NaN;
+                var n = t.drawingArea / (t.max - t.min);
+                return t.options.ticks.reverse ? (t.max - e) * n : (e - t.min) * n
+            }, getPointPosition: function (e, t) {
+                var n = this, i = n.getIndexAngle(e) - Math.PI / 2;
+                return {x: Math.cos(i) * t + n.xCenter, y: Math.sin(i) * t + n.yCenter}
+            }, getPointPositionForValue: function (e, t) {
+                return this.getPointPosition(e, this.getDistanceFromCenterForValue(t))
+            }, getBasePosition: function (e) {
+                var t = this, n = t.min, i = t.max;
+                return t.getPointPositionForValue(e || 0, t.beginAtZero ? 0 : n < 0 && i < 0 ? i : n > 0 && i > 0 ? n : 0)
+            }, _drawGrid: function () {
+                var e, t, n, i = this, a = i.ctx, r = i.options, l = r.gridLines, o = r.angleLines,
+                    s = zi(o.lineWidth, l.lineWidth), d = zi(o.color, l.color);
+                if (r.pointLabels.display && $i(i), l.display && le.each(i.ticks, (function (e, n) {
+                    0 !== n && (t = i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]), Qi(i, l, t, n))
+                })), o.display && s && d) {
+                    for (a.save(), a.lineWidth = s, a.strokeStyle = d, a.setLineDash && (a.setLineDash(Vi([o.borderDash, l.borderDash, []])), a.lineDashOffset = Vi([o.borderDashOffset, l.borderDashOffset, 0])), e = i.chart.data.labels.length - 1; e >= 0; e--) t = i.getDistanceFromCenterForValue(r.ticks.reverse ? i.min : i.max), n = i.getPointPosition(e, t), a.beginPath(), a.moveTo(i.xCenter, i.yCenter), a.lineTo(n.x, n.y), a.stroke();
+                    a.restore()
+                }
+            }, _drawLabels: function () {
+                var e = this, t = e.ctx, n = e.options.ticks;
+                if (n.display) {
+                    var i, a, r = e.getIndexAngle(0), l = le.options._parseFont(n),
+                        o = zi(n.fontColor, $.global.defaultFontColor);
+                    t.save(), t.font = l.string, t.translate(e.xCenter, e.yCenter), t.rotate(r), t.textAlign = "center", t.textBaseline = "middle", le.each(e.ticks, (function (r, s) {
+                        (0 !== s || n.reverse) && (i = e.getDistanceFromCenterForValue(e.ticksAsNumbers[s]), n.showLabelBackdrop && (a = t.measureText(r).width, t.fillStyle = n.backdropColor, t.fillRect(-a / 2 - n.backdropPaddingX, -i - l.size / 2 - n.backdropPaddingY, a + 2 * n.backdropPaddingX, l.size + 2 * n.backdropPaddingY)), t.fillStyle = o, t.fillText(r, 0, -i))
+                    })), t.restore()
+                }
+            }, _drawTitle: le.noop
+        }), na = Bi;
+        ta._defaults = na;
+        var ia = le._deprecated, aa = le.options.resolve, ra = le.valueOrDefault,
+            la = Number.MIN_SAFE_INTEGER || -9007199254740991, oa = Number.MAX_SAFE_INTEGER || 9007199254740991, sa = {
+                millisecond: {common: !0, size: 1, steps: 1e3},
+                second: {common: !0, size: 1e3, steps: 60},
+                minute: {common: !0, size: 6e4, steps: 60},
+                hour: {common: !0, size: 36e5, steps: 24},
+                day: {common: !0, size: 864e5, steps: 30},
+                week: {common: !1, size: 6048e5, steps: 4},
+                month: {common: !0, size: 2628e6, steps: 12},
+                quarter: {common: !1, size: 7884e6, steps: 4},
+                year: {common: !0, size: 3154e7}
+            }, da = Object.keys(sa);
+
+        function ua(e, t) {
+            return e - t
+        }
+
+        function ca(e) {
+            var t, n, i, a = {}, r = [];
+            for (t = 0, n = e.length; t < n; ++t) a[i = e[t]] || (a[i] = !0, r.push(i));
+            return r
+        }
+
+        function ha(e) {
+            return le.valueOrDefault(e.time.min, e.ticks.min)
+        }
+
+        function ma(e) {
+            return le.valueOrDefault(e.time.max, e.ticks.max)
+        }
+
+        function fa(e, t, n, i) {
+            if ("linear" === i || !e.length) return [{time: t, pos: 0}, {time: n, pos: 1}];
+            var a, r, l, o, s, d = [], u = [t];
+            for (a = 0, r = e.length; a < r; ++a) (o = e[a]) > t && o < n && u.push(o);
+            for (u.push(n), a = 0, r = u.length; a < r; ++a) s = u[a + 1], l = u[a - 1], o = u[a], void 0 !== l && void 0 !== s && Math.round((s + l) / 2) === o || d.push({
+                time: o,
+                pos: a / (r - 1)
+            });
+            return d
+        }
+
+        function _a(e, t, n) {
+            for (var i, a, r, l = 0, o = e.length - 1; l >= 0 && l <= o;) {
+                if (a = e[(i = l + o >> 1) - 1] || null, r = e[i], !a) return {lo: null, hi: r};
+                if (r[t] < n) l = i + 1; else {
+                    if (!(a[t] > n)) return {lo: a, hi: r};
+                    o = i - 1
+                }
+            }
+            return {lo: r, hi: null}
+        }
+
+        function pa(e, t, n, i) {
+            var a = _a(e, t, n), r = a.lo ? a.hi ? a.lo : e[e.length - 2] : e[0],
+                l = a.lo ? a.hi ? a.hi : e[e.length - 1] : e[1], o = l[t] - r[t], s = o ? (n - r[t]) / o : 0,
+                d = (l[i] - r[i]) * s;
+            return r[i] + d
+        }
+
+        function ga(e, t) {
+            var n = e._adapter, i = e.options.time, a = i.parser, r = a || i.format, l = t;
+            return "function" == typeof a && (l = a(l)), le.isFinite(l) || (l = "string" == typeof r ? n.parse(l, r) : n.parse(l)), null !== l ? +l : (a || "function" != typeof r || (l = r(t), le.isFinite(l) || (l = n.parse(l))), l)
+        }
+
+        function ya(e, t) {
+            if (le.isNullOrUndef(t)) return null;
+            var n = e.options.time, i = ga(e, e.getRightValue(t));
+            return null === i || n.round && (i = +e._adapter.startOf(i, n.round)), i
+        }
+
+        function va(e, t, n, i) {
+            var a, r, l, o = da.length;
+            for (a = da.indexOf(e); a < o - 1; ++a) if (l = (r = sa[da[a]]).steps ? r.steps : oa, r.common && Math.ceil((n - t) / (l * r.size)) <= i) return da[a];
+            return da[o - 1]
+        }
+
+        function Ma(e, t, n, i, a) {
+            var r, l;
+            for (r = da.length - 1; r >= da.indexOf(n); r--) if (l = da[r], sa[l].common && e._adapter.diff(a, i, l) >= t - 1) return l;
+            return da[n ? da.indexOf(n) : 0]
+        }
+
+        function ba(e) {
+            for (var t = da.indexOf(e) + 1, n = da.length; t < n; ++t) if (sa[da[t]].common) return da[t]
+        }
+
+        function xa(e, t, n, i) {
+            var a, r = e._adapter, l = e.options, o = l.time, s = o.unit || va(o.minUnit, t, n, i),
+                d = aa([o.stepSize, o.unitStepSize, 1]), u = "week" === s && o.isoWeekday, c = t, h = [];
+            if (u && (c = +r.startOf(c, "isoWeek", u)), c = +r.startOf(c, u ? "day" : s), r.diff(n, t, s) > 1e5 * d) throw t + " and " + n + " are too far apart with stepSize of " + d + " " + s;
+            for (a = c; a < n; a = +r.add(a, d, s)) h.push(a);
+            return a !== n && "ticks" !== l.bounds || h.push(a), h
+        }
+
+        function La(e, t, n, i, a) {
+            var r, l, o = 0, s = 0;
+            return a.offset && t.length && (r = pa(e, "time", t[0], "pos"), o = 1 === t.length ? 1 - r : (pa(e, "time", t[1], "pos") - r) / 2, l = pa(e, "time", t[t.length - 1], "pos"), s = 1 === t.length ? l : (l - pa(e, "time", t[t.length - 2], "pos")) / 2), {
+                start: o,
+                end: s,
+                factor: 1 / (o + 1 + s)
+            }
+        }
+
+        function wa(e, t, n, i) {
+            var a, r, l = e._adapter, o = +l.startOf(t[0].value, i), s = t[t.length - 1].value;
+            for (a = o; a <= s; a = +l.add(a, 1, i)) (r = n[a]) >= 0 && (t[r].major = !0);
+            return t
+        }
+
+        function ka(e, t, n) {
+            var i, a, r = [], l = {}, o = t.length;
+            for (i = 0; i < o; ++i) l[a = t[i]] = i, r.push({value: a, major: !1});
+            return 0 !== o && n ? wa(e, r, l, n) : r
+        }
+
+        var Ya = {
+            position: "bottom",
+            distribution: "linear",
+            bounds: "data",
+            adapters: {},
+            time: {
+                parser: !1,
+                unit: !1,
+                round: !1,
+                displayFormat: !1,
+                isoWeekday: !1,
+                minUnit: "millisecond",
+                displayFormats: {}
+            },
+            ticks: {autoSkip: !1, source: "auto", major: {enabled: !1}}
+        }, Da = gi.extend({
+            initialize: function () {
+                this.mergeTicksOptions(), gi.prototype.initialize.call(this)
+            }, update: function () {
+                var e = this, t = e.options, n = t.time || (t.time = {}),
+                    i = e._adapter = new Kn._date(t.adapters.date);
+                return ia("time scale", n.format, "time.format", "time.parser"), ia("time scale", n.min, "time.min", "ticks.min"), ia("time scale", n.max, "time.max", "ticks.max"), le.mergeIf(n.displayFormats, i.formats()), gi.prototype.update.apply(e, arguments)
+            }, getRightValue: function (e) {
+                return e && void 0 !== e.t && (e = e.t), gi.prototype.getRightValue.call(this, e)
+            }, determineDataLimits: function () {
+                var e, t, n, i, a, r, l, o = this, s = o.chart, d = o._adapter, u = o.options, c = u.time.unit || "day",
+                    h = oa, m = la, f = [], _ = [], p = [], g = o._getLabels();
+                for (e = 0, n = g.length; e < n; ++e) p.push(ya(o, g[e]));
+                for (e = 0, n = (s.data.datasets || []).length; e < n; ++e) if (s.isDatasetVisible(e)) if (a = s.data.datasets[e].data, le.isObject(a[0])) for (_[e] = [], t = 0, i = a.length; t < i; ++t) r = ya(o, a[t]), f.push(r), _[e][t] = r; else _[e] = p.slice(0), l || (f = f.concat(p), l = !0); else _[e] = [];
+                p.length && (h = Math.min(h, p[0]), m = Math.max(m, p[p.length - 1])), f.length && (f = n > 1 ? ca(f).sort(ua) : f.sort(ua), h = Math.min(h, f[0]), m = Math.max(m, f[f.length - 1])), h = ya(o, ha(u)) || h, m = ya(o, ma(u)) || m, h = h === oa ? +d.startOf(Date.now(), c) : h, m = m === la ? +d.endOf(Date.now(), c) + 1 : m, o.min = Math.min(h, m), o.max = Math.max(h + 1, m), o._table = [], o._timestamps = {
+                    data: f,
+                    datasets: _,
+                    labels: p
+                }
+            }, buildTicks: function () {
+                var e, t, n, i = this, a = i.min, r = i.max, l = i.options, o = l.ticks, s = l.time, d = i._timestamps,
+                    u = [], c = i.getLabelCapacity(a), h = o.source, m = l.distribution;
+                for (d = "data" === h || "auto" === h && "series" === m ? d.data : "labels" === h ? d.labels : xa(i, a, r, c), "ticks" === l.bounds && d.length && (a = d[0], r = d[d.length - 1]), a = ya(i, ha(l)) || a, r = ya(i, ma(l)) || r, e = 0, t = d.length; e < t; ++e) (n = d[e]) >= a && n <= r && u.push(n);
+                return i.min = a, i.max = r, i._unit = s.unit || (o.autoSkip ? va(s.minUnit, i.min, i.max, c) : Ma(i, u.length, s.minUnit, i.min, i.max)), i._majorUnit = o.major.enabled && "year" !== i._unit ? ba(i._unit) : void 0, i._table = fa(i._timestamps.data, a, r, m), i._offsets = La(i._table, u, a, r, l), o.reverse && u.reverse(), ka(i, u, i._majorUnit)
+            }, getLabelForIndex: function (e, t) {
+                var n = this, i = n._adapter, a = n.chart.data, r = n.options.time,
+                    l = a.labels && e < a.labels.length ? a.labels[e] : "", o = a.datasets[t].data[e];
+                return le.isObject(o) && (l = n.getRightValue(o)), r.tooltipFormat ? i.format(ga(n, l), r.tooltipFormat) : "string" == typeof l ? l : i.format(ga(n, l), r.displayFormats.datetime)
+            }, tickFormatFunction: function (e, t, n, i) {
+                var a = this, r = a._adapter, l = a.options, o = l.time.displayFormats, s = o[a._unit],
+                    d = a._majorUnit, u = o[d], c = n[t], h = l.ticks, m = d && u && c && c.major,
+                    f = r.format(e, i || (m ? u : s)), _ = m ? h.major : h.minor,
+                    p = aa([_.callback, _.userCallback, h.callback, h.userCallback]);
+                return p ? p(f, t, n) : f
+            }, convertTicksToLabels: function (e) {
+                var t, n, i = [];
+                for (t = 0, n = e.length; t < n; ++t) i.push(this.tickFormatFunction(e[t].value, t, e));
+                return i
+            }, getPixelForOffset: function (e) {
+                var t = this, n = t._offsets, i = pa(t._table, "time", e, "pos");
+                return t.getPixelForDecimal((n.start + i) * n.factor)
+            }, getPixelForValue: function (e, t, n) {
+                var i = this, a = null;
+                if (void 0 !== t && void 0 !== n && (a = i._timestamps.datasets[n][t]), null === a && (a = ya(i, e)), null !== a) return i.getPixelForOffset(a)
+            }, getPixelForTick: function (e) {
+                var t = this.getTicks();
+                return e >= 0 && e < t.length ? this.getPixelForOffset(t[e].value) : null
+            }, getValueForPixel: function (e) {
+                var t = this, n = t._offsets, i = t.getDecimalForPixel(e) / n.factor - n.end,
+                    a = pa(t._table, "pos", i, "time");
+                return t._adapter._create(a)
+            }, _getLabelSize: function (e) {
+                var t = this, n = t.options.ticks, i = t.ctx.measureText(e).width,
+                    a = le.toRadians(t.isHorizontal() ? n.maxRotation : n.minRotation), r = Math.cos(a),
+                    l = Math.sin(a), o = ra(n.fontSize, $.global.defaultFontSize);
+                return {w: i * r + o * l, h: i * l + o * r}
+            }, getLabelWidth: function (e) {
+                return this._getLabelSize(e).w
+            }, getLabelCapacity: function (e) {
+                var t = this, n = t.options.time, i = n.displayFormats, a = i[n.unit] || i.millisecond,
+                    r = t.tickFormatFunction(e, 0, ka(t, [e], t._majorUnit), a), l = t._getLabelSize(r),
+                    o = Math.floor(t.isHorizontal() ? t.width / l.w : t.height / l.h);
+                return t.options.offset && o--, o > 0 ? o : 1
+            }
+        }), Ta = Ya;
+        Da._defaults = Ta;
+        var Sa = {category: Mi, linear: Hi, logarithmic: Wi, radialLinear: ta, time: Da}, ja = {
+            datetime: "MMM D, YYYY, h:mm:ss a",
+            millisecond: "h:mm:ss.SSS a",
+            second: "h:mm:ss a",
+            minute: "h:mm a",
+            hour: "hA",
+            day: "MMM D",
+            week: "ll",
+            month: "MMM YYYY",
+            quarter: "[Q]Q - YYYY",
+            year: "YYYY"
+        };
+        Kn._date.override("function" == typeof e ? {
+            _id: "moment", formats: function () {
+                return ja
+            }, parse: function (t, n) {
+                return "string" == typeof t && "string" == typeof n ? t = e(t, n) : t instanceof e || (t = e(t)), t.isValid() ? t.valueOf() : null
+            }, format: function (t, n) {
+                return e(t).format(n)
+            }, add: function (t, n, i) {
+                return e(t).add(n, i).valueOf()
+            }, diff: function (t, n, i) {
+                return e(t).diff(e(n), i)
+            }, startOf: function (t, n, i) {
+                return t = e(t), "isoWeek" === n ? t.isoWeekday(i).valueOf() : t.startOf(n).valueOf()
+            }, endOf: function (t, n) {
+                return e(t).endOf(n).valueOf()
+            }, _create: function (t) {
+                return e(t)
+            }
+        } : {}), $._set("global", {plugins: {filler: {propagate: !0}}});
+        var Ea = {
+            dataset: function (e) {
+                var t = e.fill, n = e.chart, i = n.getDatasetMeta(t),
+                    a = i && n.isDatasetVisible(t) && i.dataset._children || [], r = a.length || 0;
+                return r ? function (e, t) {
+                    return t < r && a[t]._view || null
+                } : null
+            }, boundary: function (e) {
+                var t = e.boundary, n = t ? t.x : null, i = t ? t.y : null;
+                return le.isArray(t) ? function (e, n) {
+                    return t[n]
+                } : function (e) {
+                    return {x: null === n ? e.x : n, y: null === i ? e.y : i}
+                }
+            }
+        };
+
+        function Ha(e, t, n) {
+            var i, a = e._model || {}, r = a.fill;
+            if (void 0 === r && (r = !!a.backgroundColor), !1 === r || null === r) return !1;
+            if (!0 === r) return "origin";
+            if (i = parseFloat(r, 10), isFinite(i) && Math.floor(i) === i) return "-" !== r[0] && "+" !== r[0] || (i = t + i), !(i === t || i < 0 || i >= n) && i;
+            switch (r) {
+                case"bottom":
+                    return "start";
+                case"top":
+                    return "end";
+                case"zero":
+                    return "origin";
+                case"origin":
+                case"start":
+                case"end":
+                    return r;
+                default:
+                    return !1
+            }
+        }
+
+        function Oa(e) {
+            var t, n = e.el._model || {}, i = e.el._scale || {}, a = e.fill, r = null;
+            if (isFinite(a)) return null;
+            if ("start" === a ? r = void 0 === n.scaleBottom ? i.bottom : n.scaleBottom : "end" === a ? r = void 0 === n.scaleTop ? i.top : n.scaleTop : void 0 !== n.scaleZero ? r = n.scaleZero : i.getBasePixel && (r = i.getBasePixel()), null != r) {
+                if (void 0 !== r.x && void 0 !== r.y) return r;
+                if (le.isFinite(r)) return {x: (t = i.isHorizontal()) ? r : null, y: t ? null : r}
+            }
+            return null
+        }
+
+        function Aa(e) {
+            var t, n, i, a, r, l = e.el._scale, o = l.options, s = l.chart.data.labels.length, d = e.fill, u = [];
+            if (!s) return null;
+            for (t = o.ticks.reverse ? l.max : l.min, n = o.ticks.reverse ? l.min : l.max, i = l.getPointPositionForValue(0, t), a = 0; a < s; ++a) r = "start" === d || "end" === d ? l.getPointPositionForValue(a, "start" === d ? t : n) : l.getBasePosition(a), o.gridLines.circular && (r.cx = i.x, r.cy = i.y, r.angle = l.getIndexAngle(a) - Math.PI / 2), u.push(r);
+            return u
+        }
+
+        function Pa(e) {
+            return (e.el._scale || {}).getPointPositionForValue ? Aa(e) : Oa(e)
+        }
+
+        function Ca(e, t, n) {
+            var i, a = e[t].fill, r = [t];
+            if (!n) return a;
+            for (; !1 !== a && -1 === r.indexOf(a);) {
+                if (!isFinite(a)) return a;
+                if (!(i = e[a])) return !1;
+                if (i.visible) return a;
+                r.push(a), a = i.fill
+            }
+            return !1
+        }
+
+        function Fa(e) {
+            var t = e.fill, n = "dataset";
+            return !1 === t ? null : (isFinite(t) || (n = "boundary"), Ea[n](e))
+        }
+
+        function Ia(e) {
+            return e && !e.skip
+        }
+
+        function Wa(e, t, n, i, a) {
+            var r, l, o, s;
+            if (i && a) {
+                for (e.moveTo(t[0].x, t[0].y), r = 1; r < i; ++r) le.canvas.lineTo(e, t[r - 1], t[r]);
+                if (void 0 === n[0].angle) for (e.lineTo(n[a - 1].x, n[a - 1].y), r = a - 1; r > 0; --r) le.canvas.lineTo(e, n[r], n[r - 1], !0); else for (l = n[0].cx, o = n[0].cy, s = Math.sqrt(Math.pow(n[0].x - l, 2) + Math.pow(n[0].y - o, 2)), r = a - 1; r > 0; --r) e.arc(l, o, s, n[r].angle, n[r - 1].angle, !0)
+            }
+        }
+
+        function Na(e, t, n, i, a, r) {
+            var l, o, s, d, u, c, h, m, f = t.length, _ = i.spanGaps, p = [], g = [], y = 0, v = 0;
+            for (e.beginPath(), l = 0, o = f; l < o; ++l) u = n(d = t[s = l % f]._view, s, i), c = Ia(d), h = Ia(u), r && void 0 === m && c && (o = f + (m = l + 1)), c && h ? (y = p.push(d), v = g.push(u)) : y && v && (_ ? (c && p.push(d), h && g.push(u)) : (Wa(e, p, g, y, v), y = v = 0, p = [], g = []));
+            Wa(e, p, g, y, v), e.closePath(), e.fillStyle = a, e.fill()
+        }
+
+        var za = {
+            id: "filler", afterDatasetsUpdate: function (e, t) {
+                var n, i, a, r, l = (e.data.datasets || []).length, o = t.propagate, s = [];
+                for (i = 0; i < l; ++i) r = null, (a = (n = e.getDatasetMeta(i)).dataset) && a._model && a instanceof Ue.Line && (r = {
+                    visible: e.isDatasetVisible(i),
+                    fill: Ha(a, i, l),
+                    chart: e,
+                    el: a
+                }), n.$filler = r, s.push(r);
+                for (i = 0; i < l; ++i) (r = s[i]) && (r.fill = Ca(s, i, o), r.boundary = Pa(r), r.mapper = Fa(r))
+            }, beforeDatasetsDraw: function (e) {
+                var t, n, i, a, r, l, o, s = e._getSortedVisibleDatasetMetas(), d = e.ctx;
+                for (n = s.length - 1; n >= 0; --n) (t = s[n].$filler) && t.visible && (a = (i = t.el)._view, r = i._children || [], l = t.mapper, o = a.backgroundColor || $.global.defaultColor, l && o && r.length && (le.canvas.clipArea(d, e.chartArea), Na(d, r, l, a, o, i._loop), le.canvas.unclipArea(d)))
+            }
+        }, Ra = le.rtl.getRtlAdapter, Va = le.noop, Ba = le.valueOrDefault;
+
+        function Za(e, t) {
+            return e.usePointStyle && e.boxWidth > t ? t : e.boxWidth
+        }
+
+        $._set("global", {
+            legend: {
+                display: !0,
+                position: "top",
+                align: "center",
+                fullWidth: !0,
+                reverse: !1,
+                weight: 1e3,
+                onClick: function (e, t) {
+                    var n = t.datasetIndex, i = this.chart, a = i.getDatasetMeta(n);
+                    a.hidden = null === a.hidden ? !i.data.datasets[n].hidden : null, i.update()
+                },
+                onHover: null,
+                onLeave: null,
+                labels: {
+                    boxWidth: 40, padding: 10, generateLabels: function (e) {
+                        var t = e.data.datasets, n = e.options.legend || {}, i = n.labels && n.labels.usePointStyle;
+                        return e._getSortedDatasetMetas().map((function (n) {
+                            var a = n.controller.getStyle(i ? 0 : void 0);
+                            return {
+                                text: t[n.index].label,
+                                fillStyle: a.backgroundColor,
+                                hidden: !e.isDatasetVisible(n.index),
+                                lineCap: a.borderCapStyle,
+                                lineDash: a.borderDash,
+                                lineDashOffset: a.borderDashOffset,
+                                lineJoin: a.borderJoinStyle,
+                                lineWidth: a.borderWidth,
+                                strokeStyle: a.borderColor,
+                                pointStyle: a.pointStyle,
+                                rotation: a.rotation,
+                                datasetIndex: n.index
+                            }
+                        }), this)
+                    }
+                }
+            }, legendCallback: function (e) {
+                var t, n, i, a = document.createElement("ul"), r = e.data.datasets;
+                for (a.setAttribute("class", e.id + "-legend"), t = 0, n = r.length; t < n; t++) (i = a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor = r[t].backgroundColor, r[t].label && i.appendChild(document.createTextNode(r[t].label));
+                return a.outerHTML
+            }
+        });
+        var Ua = fe.extend({
+            initialize: function (e) {
+                var t = this;
+                le.extend(t, e), t.legendHitBoxes = [], t._hoveredItem = null, t.doughnutMode = !1
+            }, beforeUpdate: Va, update: function (e, t, n) {
+                var i = this;
+                return i.beforeUpdate(), i.maxWidth = e, i.maxHeight = t, i.margins = n, i.beforeSetDimensions(), i.setDimensions(), i.afterSetDimensions(), i.beforeBuildLabels(), i.buildLabels(), i.afterBuildLabels(), i.beforeFit(), i.fit(), i.afterFit(), i.afterUpdate(), i.minSize
+            }, afterUpdate: Va, beforeSetDimensions: Va, setDimensions: function () {
+                var e = this;
+                e.isHorizontal() ? (e.width = e.maxWidth, e.left = 0, e.right = e.width) : (e.height = e.maxHeight, e.top = 0, e.bottom = e.height), e.paddingLeft = 0, e.paddingTop = 0, e.paddingRight = 0, e.paddingBottom = 0, e.minSize = {
+                    width: 0,
+                    height: 0
+                }
+            }, afterSetDimensions: Va, beforeBuildLabels: Va, buildLabels: function () {
+                var e = this, t = e.options.labels || {}, n = le.callback(t.generateLabels, [e.chart], e) || [];
+                t.filter && (n = n.filter((function (n) {
+                    return t.filter(n, e.chart.data)
+                }))), e.options.reverse && n.reverse(), e.legendItems = n
+            }, afterBuildLabels: Va, beforeFit: Va, fit: function () {
+                var e = this, t = e.options, n = t.labels, i = t.display, a = e.ctx, r = le.options._parseFont(n),
+                    l = r.size, o = e.legendHitBoxes = [], s = e.minSize, d = e.isHorizontal();
+                if (d ? (s.width = e.maxWidth, s.height = i ? 10 : 0) : (s.width = i ? 10 : 0, s.height = e.maxHeight), i) {
+                    if (a.font = r.string, d) {
+                        var u = e.lineWidths = [0], c = 0;
+                        a.textAlign = "left", a.textBaseline = "middle", le.each(e.legendItems, (function (e, t) {
+                            var i = Za(n, l) + l / 2 + a.measureText(e.text).width;
+                            (0 === t || u[u.length - 1] + i + 2 * n.padding > s.width) && (c += l + n.padding, u[u.length - (t > 0 ? 0 : 1)] = 0), o[t] = {
+                                left: 0,
+                                top: 0,
+                                width: i,
+                                height: l
+                            }, u[u.length - 1] += i + n.padding
+                        })), s.height += c
+                    } else {
+                        var h = n.padding, m = e.columnWidths = [], f = e.columnHeights = [], _ = n.padding, p = 0,
+                            g = 0;
+                        le.each(e.legendItems, (function (e, t) {
+                            var i = Za(n, l) + l / 2 + a.measureText(e.text).width;
+                            t > 0 && g + l + 2 * h > s.height && (_ += p + n.padding, m.push(p), f.push(g), p = 0, g = 0), p = Math.max(p, i), g += l + h, o[t] = {
+                                left: 0,
+                                top: 0,
+                                width: i,
+                                height: l
+                            }
+                        })), _ += p, m.push(p), f.push(g), s.width += _
+                    }
+                    e.width = s.width, e.height = s.height
+                } else e.width = s.width = e.height = s.height = 0
+            }, afterFit: Va, isHorizontal: function () {
+                return "top" === this.options.position || "bottom" === this.options.position
+            }, draw: function () {
+                var e = this, t = e.options, n = t.labels, i = $.global, a = i.defaultColor, r = i.elements.line,
+                    l = e.height, o = e.columnHeights, s = e.width, d = e.lineWidths;
+                if (t.display) {
+                    var u, c = Ra(t.rtl, e.left, e.minSize.width), h = e.ctx, m = Ba(n.fontColor, i.defaultFontColor),
+                        f = le.options._parseFont(n), _ = f.size;
+                    h.textAlign = c.textAlign("left"), h.textBaseline = "middle", h.lineWidth = .5, h.strokeStyle = m, h.fillStyle = m, h.font = f.string;
+                    var p = Za(n, _), g = e.legendHitBoxes, y = function (e, t, i) {
+                        if (!(isNaN(p) || p <= 0)) {
+                            h.save();
+                            var l = Ba(i.lineWidth, r.borderWidth);
+                            if (h.fillStyle = Ba(i.fillStyle, a), h.lineCap = Ba(i.lineCap, r.borderCapStyle), h.lineDashOffset = Ba(i.lineDashOffset, r.borderDashOffset), h.lineJoin = Ba(i.lineJoin, r.borderJoinStyle), h.lineWidth = l, h.strokeStyle = Ba(i.strokeStyle, a), h.setLineDash && h.setLineDash(Ba(i.lineDash, r.borderDash)), n && n.usePointStyle) {
+                                var o = p * Math.SQRT2 / 2, s = c.xPlus(e, p / 2), d = t + _ / 2;
+                                le.canvas.drawPoint(h, i.pointStyle, o, s, d, i.rotation)
+                            } else h.fillRect(c.leftForLtr(e, p), t, p, _), 0 !== l && h.strokeRect(c.leftForLtr(e, p), t, p, _);
+                            h.restore()
+                        }
+                    }, v = function (e, t, n, i) {
+                        var a = _ / 2, r = c.xPlus(e, p + a), l = t + a;
+                        h.fillText(n.text, r, l), n.hidden && (h.beginPath(), h.lineWidth = 2, h.moveTo(r, l), h.lineTo(c.xPlus(r, i), l), h.stroke())
+                    }, M = function (e, i) {
+                        switch (t.align) {
+                            case"start":
+                                return n.padding;
+                            case"end":
+                                return e - i;
+                            default:
+                                return (e - i + n.padding) / 2
+                        }
+                    }, b = e.isHorizontal();
+                    u = b ? {x: e.left + M(s, d[0]), y: e.top + n.padding, line: 0} : {
+                        x: e.left + n.padding,
+                        y: e.top + M(l, o[0]),
+                        line: 0
+                    }, le.rtl.overrideTextDirection(e.ctx, t.textDirection);
+                    var x = _ + n.padding;
+                    le.each(e.legendItems, (function (t, i) {
+                        var a = h.measureText(t.text).width, r = p + _ / 2 + a, m = u.x, f = u.y;
+                        c.setWidth(e.minSize.width), b ? i > 0 && m + r + n.padding > e.left + e.minSize.width && (f = u.y += x, u.line++, m = u.x = e.left + M(s, d[u.line])) : i > 0 && f + x > e.top + e.minSize.height && (m = u.x = m + e.columnWidths[u.line] + n.padding, u.line++, f = u.y = e.top + M(l, o[u.line]));
+                        var L = c.x(m);
+                        y(L, f, t), g[i].left = c.leftForLtr(L, g[i].width), g[i].top = f, v(L, f, t, a), b ? u.x += r + n.padding : u.y += x
+                    })), le.rtl.restoreTextDirection(e.ctx, t.textDirection)
+                }
+            }, _getLegendItemAt: function (e, t) {
+                var n, i, a, r = this;
+                if (e >= r.left && e <= r.right && t >= r.top && t <= r.bottom) for (a = r.legendHitBoxes, n = 0; n < a.length; ++n) if (e >= (i = a[n]).left && e <= i.left + i.width && t >= i.top && t <= i.top + i.height) return r.legendItems[n];
+                return null
+            }, handleEvent: function (e) {
+                var t, n = this, i = n.options, a = "mouseup" === e.type ? "click" : e.type;
+                if ("mousemove" === a) {
+                    if (!i.onHover && !i.onLeave) return
+                } else {
+                    if ("click" !== a) return;
+                    if (!i.onClick) return
+                }
+                t = n._getLegendItemAt(e.x, e.y), "click" === a ? t && i.onClick && i.onClick.call(n, e.native, t) : (i.onLeave && t !== n._hoveredItem && (n._hoveredItem && i.onLeave.call(n, e.native, n._hoveredItem), n._hoveredItem = t), i.onHover && t && i.onHover.call(n, e.native, t))
+            }
+        });
+
+        function Ja(e, t) {
+            var n = new Ua({ctx: e.ctx, options: t, chart: e});
+            Bt.configure(e, n, t), Bt.addBox(e, n), e.legend = n
+        }
+
+        var Ga = {
+            id: "legend", _element: Ua, beforeInit: function (e) {
+                var t = e.options.legend;
+                t && Ja(e, t)
+            }, beforeUpdate: function (e) {
+                var t = e.options.legend, n = e.legend;
+                t ? (le.mergeIf(t, $.global.legend), n ? (Bt.configure(e, n, t), n.options = t) : Ja(e, t)) : n && (Bt.removeBox(e, n), delete e.legend)
+            }, afterEvent: function (e, t) {
+                var n = e.legend;
+                n && n.handleEvent(t)
+            }
+        }, qa = le.noop;
+        $._set("global", {
+            title: {
+                display: !1,
+                fontStyle: "bold",
+                fullWidth: !0,
+                padding: 10,
+                position: "top",
+                text: "",
+                weight: 2e3
+            }
+        });
+        var Ka = fe.extend({
+            initialize: function (e) {
+                var t = this;
+                le.extend(t, e), t.legendHitBoxes = []
+            },
+            beforeUpdate: qa,
+            update: function (e, t, n) {
+                var i = this;
+                return i.beforeUpdate(), i.maxWidth = e, i.maxHeight = t, i.margins = n, i.beforeSetDimensions(), i.setDimensions(), i.afterSetDimensions(), i.beforeBuildLabels(), i.buildLabels(), i.afterBuildLabels(), i.beforeFit(), i.fit(), i.afterFit(), i.afterUpdate(), i.minSize
+            },
+            afterUpdate: qa,
+            beforeSetDimensions: qa,
+            setDimensions: function () {
+                var e = this;
+                e.isHorizontal() ? (e.width = e.maxWidth, e.left = 0, e.right = e.width) : (e.height = e.maxHeight, e.top = 0, e.bottom = e.height), e.paddingLeft = 0, e.paddingTop = 0, e.paddingRight = 0, e.paddingBottom = 0, e.minSize = {
+                    width: 0,
+                    height: 0
+                }
+            },
+            afterSetDimensions: qa,
+            beforeBuildLabels: qa,
+            buildLabels: qa,
+            afterBuildLabels: qa,
+            beforeFit: qa,
+            fit: function () {
+                var e, t = this, n = t.options, i = t.minSize = {}, a = t.isHorizontal();
+                n.display ? (e = (le.isArray(n.text) ? n.text.length : 1) * le.options._parseFont(n).lineHeight + 2 * n.padding, t.width = i.width = a ? t.maxWidth : e, t.height = i.height = a ? e : t.maxHeight) : t.width = i.width = t.height = i.height = 0
+            },
+            afterFit: qa,
+            isHorizontal: function () {
+                var e = this.options.position;
+                return "top" === e || "bottom" === e
+            },
+            draw: function () {
+                var e = this, t = e.ctx, n = e.options;
+                if (n.display) {
+                    var i, a, r, l = le.options._parseFont(n), o = l.lineHeight, s = o / 2 + n.padding, d = 0,
+                        u = e.top, c = e.left, h = e.bottom, m = e.right;
+                    t.fillStyle = le.valueOrDefault(n.fontColor, $.global.defaultFontColor), t.font = l.string, e.isHorizontal() ? (a = c + (m - c) / 2, r = u + s, i = m - c) : (a = "left" === n.position ? c + s : m - s, r = u + (h - u) / 2, i = h - u, d = Math.PI * ("left" === n.position ? -.5 : .5)), t.save(), t.translate(a, r), t.rotate(d), t.textAlign = "center", t.textBaseline = "middle";
+                    var f = n.text;
+                    if (le.isArray(f)) for (var _ = 0, p = 0; p < f.length; ++p) t.fillText(f[p], 0, _, i), _ += o; else t.fillText(f, 0, 0, i);
+                    t.restore()
+                }
+            }
+        });
+
+        function Xa(e, t) {
+            var n = new Ka({ctx: e.ctx, options: t, chart: e});
+            Bt.configure(e, n, t), Bt.addBox(e, n), e.titleBlock = n
+        }
+
+        var $a = {}, Qa = za, er = Ga, tr = {
+            id: "title", _element: Ka, beforeInit: function (e) {
+                var t = e.options.title;
+                t && Xa(e, t)
+            }, beforeUpdate: function (e) {
+                var t = e.options.title, n = e.titleBlock;
+                t ? (le.mergeIf(t, $.global.title), n ? (Bt.configure(e, n, t), n.options = t) : Xa(e, t)) : n && (Bt.removeBox(e, n), delete e.titleBlock)
+            }
+        };
+        for (var nr in $a.filler = Qa, $a.legend = er, $a.title = tr, Un.helpers = le, Jn(), Un._adapters = Kn, Un.Animation = pe, Un.animationService = ge, Un.controllers = wt, Un.DatasetController = Le, Un.defaults = $, Un.Element = fe, Un.elements = Ue, Un.Interaction = Et, Un.layouts = Bt, Un.platform = vn, Un.plugins = Mn, Un.Scale = gi, Un.scaleService = bn, Un.Ticks = Xn, Un.Tooltip = Cn, Un.helpers.each(Sa, (function (e, t) {
+            Un.scaleService.registerScaleType(t, e, e._defaults)
+        })), $a) $a.hasOwnProperty(nr) && Un.plugins.register($a[nr]);
+        Un.platform.initialize();
+        var ir = Un;
+        return "undefined" != typeof window && (window.Chart = Un), Un.Chart = Un, Un.Legend = $a.legend._element, Un.Title = $a.title._element, Un.pluginService = Un.plugins, Un.PluginBase = Un.Element.extend({}), Un.canvasHelpers = Un.helpers.canvas, Un.layoutService = Un.layouts, Un.LinearScaleBase = ki, Un.helpers.each(["Bar", "Bubble", "Doughnut", "Line", "PolarArea", "Radar", "Scatter"], (function (e) {
+            Un[e] = function (t, n) {
+                return new Un(t, Un.helpers.merge(n || {}, {type: e.charAt(0).toLowerCase() + e.slice(1)}))
+            }
+        })), ir
+    }(function () {
+        try {
+            return n(0)
+        } catch (e) {
+        }
+    }())
+}, function (e, t, n) {
+}, function (e, t) {
+    window.theme = {
+        primary: "#3B7DDD",
+        secondary: "#6c757d",
+        success: "#28a745",
+        info: "#17a2b8",
+        warning: "#ffc107",
+        danger: "#dc3545"
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(26), a = n(233), r = n(234), l = n(29), o = n(235), s = n(237), d = Math.max, u = Math.min,
+        c = Math.floor, h = /\$([$&`']|\d\d?|<[^>]*>)/g, m = /\$([$&`']|\d\d?)/g;
+    n(241)("replace", 2, (function (e, t, n, f) {
+        return [function (i, a) {
+            var r = e(this), l = null == i ? void 0 : i[t];
+            return void 0 !== l ? l.call(i, r, a) : n.call(String(r), i, a)
+        }, function (e, t) {
+            var a = f(n, e, this, t);
+            if (a.done) return a.value;
+            var c = i(e), h = String(this), m = "function" == typeof t;
+            m || (t = String(t));
+            var p = c.global;
+            if (p) {
+                var g = c.unicode;
+                c.lastIndex = 0
+            }
+            for (var y = []; ;) {
+                var v = s(c, h);
+                if (null === v) break;
+                if (y.push(v), !p) break;
+                "" === String(v[0]) && (c.lastIndex = o(h, r(c.lastIndex), g))
+            }
+            for (var M, b = "", x = 0, L = 0; L < y.length; L++) {
+                v = y[L];
+                for (var w = String(v[0]), k = d(u(l(v.index), h.length), 0), Y = [], D = 1; D < v.length; D++) Y.push(void 0 === (M = v[D]) ? M : String(M));
+                var T = v.groups;
+                if (m) {
+                    var S = [w].concat(Y, k, h);
+                    void 0 !== T && S.push(T);
+                    var j = String(t.apply(void 0, S))
+                } else j = _(w, h, k, Y, T, t);
+                k >= x && (b += h.slice(x, k) + j, x = k + w.length)
+            }
+            return b + h.slice(x)
+        }];
+
+        function _(e, t, i, r, l, o) {
+            var s = i + e.length, d = r.length, u = m;
+            return void 0 !== l && (l = a(l), u = h), n.call(o, u, (function (n, a) {
+                var o;
+                switch (a.charAt(0)) {
+                    case"$":
+                        return "$";
+                    case"&":
+                        return e;
+                    case"`":
+                        return t.slice(0, i);
+                    case"'":
+                        return t.slice(s);
+                    case"<":
+                        o = l[a.slice(1, -1)];
+                        break;
+                    default:
+                        var u = +a;
+                        if (0 === u) return n;
+                        if (u > d) {
+                            var h = c(u / 10);
+                            return 0 === h ? n : h <= d ? void 0 === r[h - 1] ? a.charAt(1) : r[h - 1] + a.charAt(1) : n
+                        }
+                        o = r[u - 1]
+                }
+                return void 0 === o ? "" : o
+            }))
+        }
+    }))
+}, function (e, t, n) {
+    var i = n(28);
+    e.exports = function (e) {
+        return Object(i(e))
+    }
+}, function (e, t, n) {
+    var i = n(29), a = Math.min;
+    e.exports = function (e) {
+        return e > 0 ? a(i(e), 9007199254740991) : 0
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(236)(!0);
+    e.exports = function (e, t, n) {
+        return t + (n ? i(e, t).length : 1)
+    }
+}, function (e, t, n) {
+    var i = n(29), a = n(28);
+    e.exports = function (e) {
+        return function (t, n) {
+            var r, l, o = String(a(t)), s = i(n), d = o.length;
+            return s < 0 || s >= d ? e ? "" : void 0 : (r = o.charCodeAt(s)) < 55296 || r > 56319 || s + 1 === d || (l = o.charCodeAt(s + 1)) < 56320 || l > 57343 ? e ? o.charAt(s) : r : e ? o.slice(s, s + 2) : l - 56320 + (r - 55296 << 10) + 65536
+        }
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(238), a = RegExp.prototype.exec;
+    e.exports = function (e, t) {
+        var n = e.exec;
+        if ("function" == typeof n) {
+            var r = n.call(e, t);
+            if ("object" != typeof r) throw new TypeError("RegExp exec method returned something other than an Object or null");
+            return r
+        }
+        if ("RegExp" !== i(e)) throw new TypeError("RegExp#exec called on incompatible receiver");
+        return a.call(e, t)
+    }
+}, function (e, t, n) {
+    var i = n(239), a = n(51)("toStringTag"), r = "Arguments" == i(function () {
+        return arguments
+    }());
+    e.exports = function (e) {
+        var t, n, l;
+        return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {
+            try {
+                return e[t]
+            } catch (e) {
+            }
+        }(t = Object(e), a)) ? n : r ? i(t) : "Object" == (l = i(t)) && "function" == typeof t.callee ? "Arguments" : l
+    }
+}, function (e, t) {
+    var n = {}.toString;
+    e.exports = function (e) {
+        return n.call(e).slice(8, -1)
+    }
+}, function (e, t) {
+    e.exports = !1
+}, function (e, t, n) {
+    "use strict";
+    n(242);
+    var i = n(55), a = n(31), r = n(33), l = n(28), o = n(51), s = n(54), d = o("species"), u = !r((function () {
+        var e = /./;
+        return e.exec = function () {
+            var e = [];
+            return e.groups = {a: "7"}, e
+        }, "7" !== "".replace(e, "$<a>")
+    })), c = function () {
+        var e = /(?:)/, t = e.exec;
+        e.exec = function () {
+            return t.apply(this, arguments)
+        };
+        var n = "ab".split(e);
+        return 2 === n.length && "a" === n[0] && "b" === n[1]
+    }();
+    e.exports = function (e, t, n) {
+        var h = o(e), m = !r((function () {
+            var t = {};
+            return t[h] = function () {
+                return 7
+            }, 7 != ""[e](t)
+        })), f = m ? !r((function () {
+            var t = !1, n = /a/;
+            return n.exec = function () {
+                return t = !0, null
+            }, "split" === e && (n.constructor = {}, n.constructor[d] = function () {
+                return n
+            }), n[h](""), !t
+        })) : void 0;
+        if (!m || !f || "replace" === e && !u || "split" === e && !c) {
+            var _ = /./[h], p = n(l, h, ""[e], (function (e, t, n, i, a) {
+                return t.exec === s ? m && !a ? {done: !0, value: _.call(t, n, i)} : {
+                    done: !0,
+                    value: e.call(n, t, i)
+                } : {done: !1}
+            })), g = p[0], y = p[1];
+            i(String.prototype, e, g), a(RegExp.prototype, h, 2 == t ? function (e, t) {
+                return y.call(e, this, t)
+            } : function (e) {
+                return y.call(e, this)
+            })
+        }
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(54);
+    n(244)({target: "RegExp", proto: !0, forced: i !== /./.exec}, {exec: i})
+}, function (e, t, n) {
+    "use strict";
+    var i = n(26);
+    e.exports = function () {
+        var e = i(this), t = "";
+        return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.unicode && (t += "u"), e.sticky && (t += "y"), t
+    }
+}, function (e, t, n) {
+    var i = n(15), a = n(30), r = n(31), l = n(55), o = n(252), s = function (e, t, n) {
+        var d, u, c, h, m = e & s.F, f = e & s.G, _ = e & s.S, p = e & s.P, g = e & s.B,
+            y = f ? i : _ ? i[t] || (i[t] = {}) : (i[t] || {}).prototype, v = f ? a : a[t] || (a[t] = {}),
+            M = v.prototype || (v.prototype = {});
+        for (d in f && (n = t), n) c = ((u = !m && y && void 0 !== y[d]) ? y : n)[d], h = g && u ? o(c, i) : p && "function" == typeof c ? o(Function.call, c) : c, y && l(y, d, c, e & s.U), v[d] != c && r(v, d, h), p && M[d] != c && (M[d] = c)
+    };
+    i.core = a, s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s
+}, function (e, t, n) {
+    var i = n(26), a = n(246), r = n(248), l = Object.defineProperty;
+    t.f = n(32) ? Object.defineProperty : function (e, t, n) {
+        if (i(e), t = r(t, !0), i(n), a) try {
+            return l(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) {
+    e.exports = !n(32) && !n(33)((function () {
+        return 7 != Object.defineProperty(n(247)("div"), "a", {
+            get: function () {
+                return 7
+            }
+        }).a
+    }))
+}, function (e, t, n) {
+    var i = n(27), a = n(15).document, r = i(a) && i(a.createElement);
+    e.exports = function (e) {
+        return r ? a.createElement(e) : {}
+    }
+}, function (e, t, n) {
+    var i = n(27);
+    e.exports = function (e, t) {
+        if (!i(e)) return e;
+        var n, a;
+        if (t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+        if ("function" == typeof (n = e.valueOf) && !i(a = n.call(e))) return a;
+        if (!t && "function" == typeof (n = e.toString) && !i(a = n.call(e))) return a;
+        throw TypeError("Can't convert object to primitive value")
+    }
+}, function (e, t) {
+    e.exports = function (e, t) {
+        return {enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t}
+    }
+}, function (e, t) {
+    var n = {}.hasOwnProperty;
+    e.exports = function (e, t) {
+        return n.call(e, t)
+    }
+}, function (e, t, n) {
+    e.exports = n(52)("native-function-to-string", Function.toString)
+}, function (e, t, n) {
+    var i = n(253);
+    e.exports = function (e, t, n) {
+        if (i(e), void 0 === t) return e;
+        switch (n) {
+            case 1:
+                return function (n) {
+                    return e.call(t, n)
+                };
+            case 2:
+                return function (n, i) {
+                    return e.call(t, n, i)
+                };
+            case 3:
+                return function (n, i, a) {
+                    return e.call(t, n, i, a)
+                }
+        }
+        return function () {
+            return e.apply(t, arguments)
+        }
+    }
+}, function (e, t) {
+    e.exports = function (e) {
+        if ("function" != typeof e) throw TypeError(e + " is not a function!");
+        return e
+    }
+}, 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": 56,
+        "./af.js": 56,
+        "./ar": 57,
+        "./ar-dz": 58,
+        "./ar-dz.js": 58,
+        "./ar-kw": 59,
+        "./ar-kw.js": 59,
+        "./ar-ly": 60,
+        "./ar-ly.js": 60,
+        "./ar-ma": 61,
+        "./ar-ma.js": 61,
+        "./ar-sa": 62,
+        "./ar-sa.js": 62,
+        "./ar-tn": 63,
+        "./ar-tn.js": 63,
+        "./ar.js": 57,
+        "./az": 64,
+        "./az.js": 64,
+        "./be": 65,
+        "./be.js": 65,
+        "./bg": 66,
+        "./bg.js": 66,
+        "./bm": 67,
+        "./bm.js": 67,
+        "./bn": 68,
+        "./bn-bd": 69,
+        "./bn-bd.js": 69,
+        "./bn.js": 68,
+        "./bo": 70,
+        "./bo.js": 70,
+        "./br": 71,
+        "./br.js": 71,
+        "./bs": 72,
+        "./bs.js": 72,
+        "./ca": 73,
+        "./ca.js": 73,
+        "./cs": 74,
+        "./cs.js": 74,
+        "./cv": 75,
+        "./cv.js": 75,
+        "./cy": 76,
+        "./cy.js": 76,
+        "./da": 77,
+        "./da.js": 77,
+        "./de": 78,
+        "./de-at": 79,
+        "./de-at.js": 79,
+        "./de-ch": 80,
+        "./de-ch.js": 80,
+        "./de.js": 78,
+        "./dv": 81,
+        "./dv.js": 81,
+        "./el": 82,
+        "./el.js": 82,
+        "./en-au": 83,
+        "./en-au.js": 83,
+        "./en-ca": 84,
+        "./en-ca.js": 84,
+        "./en-gb": 85,
+        "./en-gb.js": 85,
+        "./en-ie": 86,
+        "./en-ie.js": 86,
+        "./en-il": 87,
+        "./en-il.js": 87,
+        "./en-in": 88,
+        "./en-in.js": 88,
+        "./en-nz": 89,
+        "./en-nz.js": 89,
+        "./en-sg": 90,
+        "./en-sg.js": 90,
+        "./eo": 91,
+        "./eo.js": 91,
+        "./es": 92,
+        "./es-do": 93,
+        "./es-do.js": 93,
+        "./es-mx": 94,
+        "./es-mx.js": 94,
+        "./es-us": 95,
+        "./es-us.js": 95,
+        "./es.js": 92,
+        "./et": 96,
+        "./et.js": 96,
+        "./eu": 97,
+        "./eu.js": 97,
+        "./fa": 98,
+        "./fa.js": 98,
+        "./fi": 99,
+        "./fi.js": 99,
+        "./fil": 100,
+        "./fil.js": 100,
+        "./fo": 101,
+        "./fo.js": 101,
+        "./fr": 102,
+        "./fr-ca": 103,
+        "./fr-ca.js": 103,
+        "./fr-ch": 104,
+        "./fr-ch.js": 104,
+        "./fr.js": 102,
+        "./fy": 105,
+        "./fy.js": 105,
+        "./ga": 106,
+        "./ga.js": 106,
+        "./gd": 107,
+        "./gd.js": 107,
+        "./gl": 108,
+        "./gl.js": 108,
+        "./gom-deva": 109,
+        "./gom-deva.js": 109,
+        "./gom-latn": 110,
+        "./gom-latn.js": 110,
+        "./gu": 111,
+        "./gu.js": 111,
+        "./he": 112,
+        "./he.js": 112,
+        "./hi": 113,
+        "./hi.js": 113,
+        "./hr": 114,
+        "./hr.js": 114,
+        "./hu": 115,
+        "./hu.js": 115,
+        "./hy-am": 116,
+        "./hy-am.js": 116,
+        "./id": 117,
+        "./id.js": 117,
+        "./is": 118,
+        "./is.js": 118,
+        "./it": 119,
+        "./it-ch": 120,
+        "./it-ch.js": 120,
+        "./it.js": 119,
+        "./ja": 121,
+        "./ja.js": 121,
+        "./jv": 122,
+        "./jv.js": 122,
+        "./ka": 123,
+        "./ka.js": 123,
+        "./kk": 124,
+        "./kk.js": 124,
+        "./km": 125,
+        "./km.js": 125,
+        "./kn": 126,
+        "./kn.js": 126,
+        "./ko": 127,
+        "./ko.js": 127,
+        "./ku": 128,
+        "./ku.js": 128,
+        "./ky": 129,
+        "./ky.js": 129,
+        "./lb": 130,
+        "./lb.js": 130,
+        "./lo": 131,
+        "./lo.js": 131,
+        "./lt": 132,
+        "./lt.js": 132,
+        "./lv": 133,
+        "./lv.js": 133,
+        "./me": 134,
+        "./me.js": 134,
+        "./mi": 135,
+        "./mi.js": 135,
+        "./mk": 136,
+        "./mk.js": 136,
+        "./ml": 137,
+        "./ml.js": 137,
+        "./mn": 138,
+        "./mn.js": 138,
+        "./mr": 139,
+        "./mr.js": 139,
+        "./ms": 140,
+        "./ms-my": 141,
+        "./ms-my.js": 141,
+        "./ms.js": 140,
+        "./mt": 142,
+        "./mt.js": 142,
+        "./my": 143,
+        "./my.js": 143,
+        "./nb": 144,
+        "./nb.js": 144,
+        "./ne": 145,
+        "./ne.js": 145,
+        "./nl": 146,
+        "./nl-be": 147,
+        "./nl-be.js": 147,
+        "./nl.js": 146,
+        "./nn": 148,
+        "./nn.js": 148,
+        "./oc-lnc": 149,
+        "./oc-lnc.js": 149,
+        "./pa-in": 150,
+        "./pa-in.js": 150,
+        "./pl": 151,
+        "./pl.js": 151,
+        "./pt": 152,
+        "./pt-br": 153,
+        "./pt-br.js": 153,
+        "./pt.js": 152,
+        "./ro": 154,
+        "./ro.js": 154,
+        "./ru": 155,
+        "./ru.js": 155,
+        "./sd": 156,
+        "./sd.js": 156,
+        "./se": 157,
+        "./se.js": 157,
+        "./si": 158,
+        "./si.js": 158,
+        "./sk": 159,
+        "./sk.js": 159,
+        "./sl": 160,
+        "./sl.js": 160,
+        "./sq": 161,
+        "./sq.js": 161,
+        "./sr": 162,
+        "./sr-cyrl": 163,
+        "./sr-cyrl.js": 163,
+        "./sr.js": 162,
+        "./ss": 164,
+        "./ss.js": 164,
+        "./sv": 165,
+        "./sv.js": 165,
+        "./sw": 166,
+        "./sw.js": 166,
+        "./ta": 167,
+        "./ta.js": 167,
+        "./te": 168,
+        "./te.js": 168,
+        "./tet": 169,
+        "./tet.js": 169,
+        "./tg": 170,
+        "./tg.js": 170,
+        "./th": 171,
+        "./th.js": 171,
+        "./tk": 172,
+        "./tk.js": 172,
+        "./tl-ph": 173,
+        "./tl-ph.js": 173,
+        "./tlh": 174,
+        "./tlh.js": 174,
+        "./tr": 175,
+        "./tr.js": 175,
+        "./tzl": 176,
+        "./tzl.js": 176,
+        "./tzm": 177,
+        "./tzm-latn": 178,
+        "./tzm-latn.js": 178,
+        "./tzm.js": 177,
+        "./ug-cn": 179,
+        "./ug-cn.js": 179,
+        "./uk": 180,
+        "./uk.js": 180,
+        "./ur": 181,
+        "./ur.js": 181,
+        "./uz": 182,
+        "./uz-latn": 183,
+        "./uz-latn.js": 183,
+        "./uz.js": 182,
+        "./vi": 184,
+        "./vi.js": 184,
+        "./x-pseudo": 185,
+        "./x-pseudo.js": 185,
+        "./yo": 186,
+        "./yo.js": 186,
+        "./zh-cn": 187,
+        "./zh-cn.js": 187,
+        "./zh-hk": 188,
+        "./zh-hk.js": 188,
+        "./zh-mo": 189,
+        "./zh-mo.js": 189,
+        "./zh-tw": 190,
+        "./zh-tw.js": 190
+    };
+
+    function a(e) {
+        var t = r(e);
+        return n(t)
+    }
+
+    function r(e) {
+        if (!n.o(i, e)) {
+            var t = new Error("Cannot find module '" + e + "'");
+            throw t.code = "MODULE_NOT_FOUND", t
+        }
+        return i[e]
+    }
+
+    a.keys = function () {
+        return Object.keys(i)
+    }, a.resolve = r, e.exports = a, a.id = 255
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(202);
+    i({target: "Array", proto: !0, forced: [].forEach != a}, {forEach: a})
+}, function (e, t, n) {
+    var i = n(4), a = n(258), r = n(191), l = n(10);
+    e.exports = function (e, t) {
+        for (var n = a(t), o = l.f, s = r.f, d = 0; d < n.length; d++) {
+            var u = n[d];
+            i(e, u) || o(e, u, s(t, u))
+        }
+    }
+}, function (e, t, n) {
+    var i = n(40), a = n(260), r = n(200), l = n(6);
+    e.exports = i("Reflect", "ownKeys") || function (e) {
+        var t = a.f(l(e)), n = r.f;
+        return n ? t.concat(n(e)) : t
+    }
+}, function (e, t, n) {
+    var i = n(1);
+    e.exports = i
+}, function (e, t, n) {
+    var i = n(199), a = n(41).concat("length", "prototype");
+    t.f = Object.getOwnPropertyNames || function (e) {
+        return i(e, a)
+    }
+}, function (e, t, n) {
+    var i = n(21), a = n(14), r = n(262), l = function (e) {
+        return function (t, n, l) {
+            var o, s = i(t), d = a(s.length), u = r(l, d);
+            if (e && n != n) {
+                for (; d > u;) if ((o = s[u++]) != o) return !0
+            } else for (; d > u; u++) if ((e || u in s) && s[u] === n) return e || u || 0;
+            return !e && -1
+        }
+    };
+    e.exports = {includes: l(!0), indexOf: l(!1)}
+}, function (e, t, n) {
+    var i = n(24), a = Math.max, r = Math.min;
+    e.exports = function (e, t) {
+        var n = i(e);
+        return n < 0 ? a(n + t, 0) : r(n, t)
+    }
+}, function (e, t, n) {
+    var i = n(5), a = n(264), r = n(3)("species");
+    e.exports = function (e, t) {
+        var n;
+        return a(e) && ("function" != typeof (n = e.constructor) || n !== Array && !a(n.prototype) ? i(n) && null === (n = n[r]) && (n = void 0) : n = void 0), new (void 0 === n ? Array : n)(0 === t ? 0 : t)
+    }
+}, function (e, t, n) {
+    var i = n(16);
+    e.exports = Array.isArray || function (e) {
+        return "Array" == i(e)
+    }
+}, function (e, t, n) {
+    var i = n(205);
+    e.exports = i && !Symbol.sham && "symbol" == typeof Symbol.iterator
+}, function (e, t, n) {
+    var i = n(1), a = n(207), r = n(202), l = n(7);
+    for (var o in a) {
+        var s = i[o], d = s && s.prototype;
+        if (d && d.forEach !== r) try {
+            l(d, "forEach", r)
+        } catch (e) {
+            d.forEach = r
+        }
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(42).filter, r = n(268), l = n(43), o = r("filter"), s = l("filter");
+    i({target: "Array", proto: !0, forced: !o || !s}, {
+        filter: function (e) {
+            return a(this, e, arguments.length > 1 ? arguments[1] : void 0)
+        }
+    })
+}, function (e, t, n) {
+    var i = n(2), a = n(3), r = n(208), l = a("species");
+    e.exports = function (e) {
+        return r >= 51 || !i((function () {
+            var t = [];
+            return (t.constructor = {})[l] = function () {
+                return {foo: 1}
+            }, 1 !== t[e](Boolean).foo
+        }))
+    }
+}, function (e, t, n) {
+    var i = n(40);
+    e.exports = i("navigator", "userAgent") || ""
+}, function (e, t, n) {
+    var i = n(3), a = n(210), r = n(10), l = i("unscopables"), o = Array.prototype;
+    null == o[l] && r.f(o, l, {configurable: !0, value: a(null)}), e.exports = function (e) {
+        o[l][e] = !0
+    }
+}, function (e, t, n) {
+    var i = n(9), a = n(10), r = n(6), l = n(211);
+    e.exports = i ? Object.defineProperties : function (e, t) {
+        r(e);
+        for (var n, i = l(t), o = i.length, s = 0; o > s;) a.f(e, n = i[s++], t[n]);
+        return e
+    }
+}, function (e, t, n) {
+    var i = n(40);
+    e.exports = i("document", "documentElement")
+}, function (e, t, n) {
+    "use strict";
+    var i = n(213).IteratorPrototype, a = n(210), r = n(34), l = n(44), o = n(19), s = function () {
+        return this
+    };
+    e.exports = function (e, t, n) {
+        var d = t + " Iterator";
+        return e.prototype = a(i, {next: r(1, n)}), l(e, d, !1, !0), o[d] = s, e
+    }
+}, function (e, t, n) {
+    var i = n(2);
+    e.exports = !i((function () {
+        function e() {
+        }
+
+        return e.prototype.constructor = null, Object.getPrototypeOf(new e) !== e.prototype
+    }))
+}, function (e, t, n) {
+    var i = n(5);
+    e.exports = function (e) {
+        if (!i(e) && null !== e) throw TypeError("Can't set " + String(e) + " as a prototype");
+        return e
+    }
+}, function (e, t, n) {
+    var i = n(8), a = n(277);
+    i({target: "Object", stat: !0, forced: Object.assign !== a}, {assign: a})
+}, function (e, t, n) {
+    "use strict";
+    var i = n(9), a = n(2), r = n(211), l = n(200), o = n(192), s = n(18), d = n(22), u = Object.assign,
+        c = Object.defineProperty;
+    e.exports = !u || a((function () {
+        if (i && 1 !== u({b: 1}, u(c({}, "a", {
+            enumerable: !0, get: function () {
+                c(this, "b", {value: 3, enumerable: !1})
+            }
+        }), {b: 2})).b) return !0;
+        var e = {}, t = {}, n = Symbol(), a = "abcdefghijklmnopqrst";
+        return e[n] = 7, a.split("").forEach((function (e) {
+            t[e] = e
+        })), 7 != u({}, e)[n] || r(u({}, t)).join("") != a
+    })) ? function (e, t) {
+        for (var n = s(e), a = arguments.length, u = 1, c = l.f, h = o.f; a > u;) for (var m, f = d(arguments[u++]), _ = c ? r(f).concat(c(f)) : r(f), p = _.length, g = 0; p > g;) m = _[g++], i && !h.call(f, m) || (n[m] = f[m]);
+        return n
+    } : u
+}, function (e, t, n) {
+    var i = n(45), a = n(13), r = n(279);
+    i || a(Object.prototype, "toString", r, {unsafe: !0})
+}, function (e, t, n) {
+    "use strict";
+    var i = n(45), a = n(216);
+    e.exports = i ? {}.toString : function () {
+        return "[object " + a(this) + "]"
+    }
+}, function (e, t, n) {
+    var i = n(8), a = n(281);
+    i({global: !0, forced: parseInt != a}, {parseInt: a})
+}, function (e, t, n) {
+    var i = n(1), a = n(282).trim, r = n(217), l = i.parseInt, o = /^[+-]?0[Xx]/,
+        s = 8 !== l(r + "08") || 22 !== l(r + "0x16");
+    e.exports = s ? function (e, t) {
+        var n = a(String(e));
+        return l(n, t >>> 0 || (o.test(n) ? 16 : 10))
+    } : l
+}, function (e, t, n) {
+    var i = n(12), a = "[" + n(217) + "]", r = RegExp("^" + a + a + "*"), l = RegExp(a + a + "*$"), o = function (e) {
+        return function (t) {
+            var n = String(i(t));
+            return 1 & e && (n = n.replace(r, "")), 2 & e && (n = n.replace(l, "")), n
+        }
+    };
+    e.exports = {start: o(1), end: o(2), trim: o(3)}
+}, function (e, t, n) {
+    "use strict";
+    var i = n(218).charAt, a = n(17), r = n(212), l = "String Iterator", o = a.set, s = a.getterFor(l);
+    r(String, "String", (function (e) {
+        o(this, {type: l, string: String(e), index: 0})
+    }), (function () {
+        var e, t = s(this), n = t.string, a = t.index;
+        return a >= n.length ? {value: void 0, done: !0} : (e = i(n, a), t.index += e.length, {value: e, done: !1})
+    }))
+}, function (e, t, n) {
+    "use strict";
+    var i, a = n(1), r = n(219), l = n(46), o = n(286), s = n(292), d = n(5), u = n(17).enforce, c = n(197),
+        h = !a.ActiveXObject && "ActiveXObject" in a, m = Object.isExtensible, f = function (e) {
+            return function () {
+                return e(this, arguments.length ? arguments[0] : void 0)
+            }
+        }, _ = e.exports = o("WeakMap", f, s);
+    if (c && h) {
+        i = s.getConstructor(f, "WeakMap", !0), l.REQUIRED = !0;
+        var p = _.prototype, g = p.delete, y = p.has, v = p.get, M = p.set;
+        r(p, {
+            delete: function (e) {
+                if (d(e) && !m(e)) {
+                    var t = u(this);
+                    return t.frozen || (t.frozen = new i), g.call(this, e) || t.frozen.delete(e)
+                }
+                return g.call(this, e)
+            }, has: function (e) {
+                if (d(e) && !m(e)) {
+                    var t = u(this);
+                    return t.frozen || (t.frozen = new i), y.call(this, e) || t.frozen.has(e)
+                }
+                return y.call(this, e)
+            }, get: function (e) {
+                if (d(e) && !m(e)) {
+                    var t = u(this);
+                    return t.frozen || (t.frozen = new i), y.call(this, e) ? v.call(this, e) : t.frozen.get(e)
+                }
+                return v.call(this, e)
+            }, set: function (e, t) {
+                if (d(e) && !m(e)) {
+                    var n = u(this);
+                    n.frozen || (n.frozen = new i), y.call(this, e) ? M.call(this, e, t) : n.frozen.set(e, t)
+                } else M.call(this, e, t);
+                return this
+            }
+        })
+    }
+}, function (e, t, n) {
+    var i = n(2);
+    e.exports = !i((function () {
+        return Object.isExtensible(Object.preventExtensions({}))
+    }))
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(1), r = n(201), l = n(13), o = n(46), s = n(220), d = n(221), u = n(5), c = n(2), h = n(290),
+        m = n(44), f = n(291);
+    e.exports = function (e, t, n) {
+        var _ = -1 !== e.indexOf("Map"), p = -1 !== e.indexOf("Weak"), g = _ ? "set" : "add", y = a[e],
+            v = y && y.prototype, M = y, b = {}, x = function (e) {
+                var t = v[e];
+                l(v, e, "add" == e ? function (e) {
+                    return t.call(this, 0 === e ? 0 : e), this
+                } : "delete" == e ? function (e) {
+                    return !(p && !u(e)) && t.call(this, 0 === e ? 0 : e)
+                } : "get" == e ? function (e) {
+                    return p && !u(e) ? void 0 : t.call(this, 0 === e ? 0 : e)
+                } : "has" == e ? function (e) {
+                    return !(p && !u(e)) && t.call(this, 0 === e ? 0 : e)
+                } : function (e, n) {
+                    return t.call(this, 0 === e ? 0 : e, n), this
+                })
+            };
+        if (r(e, "function" != typeof y || !(p || v.forEach && !c((function () {
+            (new y).entries().next()
+        }))))) M = n.getConstructor(t, e, _, g), o.REQUIRED = !0; else if (r(e, !0)) {
+            var L = new M, w = L[g](p ? {} : -0, 1) != L, k = c((function () {
+                L.has(1)
+            })), Y = h((function (e) {
+                new y(e)
+            })), D = !p && c((function () {
+                for (var e = new y, t = 5; t--;) e[g](t, t);
+                return !e.has(-0)
+            }));
+            Y || ((M = t((function (t, n) {
+                d(t, M, e);
+                var i = f(new y, t, M);
+                return null != n && s(n, i[g], {that: i, AS_ENTRIES: _}), i
+            }))).prototype = v, v.constructor = M), (k || D) && (x("delete"), x("has"), _ && x("get")), (D || w) && x(g), p && v.clear && delete v.clear
+        }
+        return b[e] = M, i({global: !0, forced: M != y}, b), m(M, e), p || n.setStrong(M, e, _), M
+    }
+}, function (e, t, n) {
+    var i = n(3), a = n(19), r = i("iterator"), l = Array.prototype;
+    e.exports = function (e) {
+        return void 0 !== e && (a.Array === e || l[r] === e)
+    }
+}, function (e, t, n) {
+    var i = n(216), a = n(19), r = n(3)("iterator");
+    e.exports = function (e) {
+        if (null != e) return e[r] || e["@@iterator"] || a[i(e)]
+    }
+}, function (e, t, n) {
+    var i = n(6);
+    e.exports = function (e) {
+        var t = e.return;
+        if (void 0 !== t) return i(t.call(e)).value
+    }
+}, function (e, t, n) {
+    var i = n(3)("iterator"), a = !1;
+    try {
+        var r = 0, l = {
+            next: function () {
+                return {done: !!r++}
+            }, return: function () {
+                a = !0
+            }
+        };
+        l[i] = function () {
+            return this
+        }, Array.from(l, (function () {
+            throw 2
+        }))
+    } catch (e) {
+    }
+    e.exports = function (e, t) {
+        if (!t && !a) return !1;
+        var n = !1;
+        try {
+            var r = {};
+            r[i] = function () {
+                return {
+                    next: function () {
+                        return {done: n = !0}
+                    }
+                }
+            }, e(r)
+        } catch (e) {
+        }
+        return n
+    }
+}, function (e, t, n) {
+    var i = n(5), a = n(215);
+    e.exports = function (e, t, n) {
+        var r, l;
+        return a && "function" == typeof (r = t.constructor) && r !== n && i(l = r.prototype) && l !== n.prototype && a(e, l), e
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(219), a = n(46).getWeakData, r = n(6), l = n(5), o = n(221), s = n(220), d = n(42), u = n(4), c = n(17),
+        h = c.set, m = c.getterFor, f = d.find, _ = d.findIndex, p = 0, g = function (e) {
+            return e.frozen || (e.frozen = new y)
+        }, y = function () {
+            this.entries = []
+        }, v = function (e, t) {
+            return f(e.entries, (function (e) {
+                return e[0] === t
+            }))
+        };
+    y.prototype = {
+        get: function (e) {
+            var t = v(this, e);
+            if (t) return t[1]
+        }, has: function (e) {
+            return !!v(this, e)
+        }, set: function (e, t) {
+            var n = v(this, e);
+            n ? n[1] = t : this.entries.push([e, t])
+        }, delete: function (e) {
+            var t = _(this.entries, (function (t) {
+                return t[0] === e
+            }));
+            return ~t && this.entries.splice(t, 1), !!~t
+        }
+    }, e.exports = {
+        getConstructor: function (e, t, n, d) {
+            var c = e((function (e, i) {
+                o(e, c, t), h(e, {type: t, id: p++, frozen: void 0}), null != i && s(i, e[d], {that: e, AS_ENTRIES: n})
+            })), f = m(t), _ = function (e, t, n) {
+                var i = f(e), l = a(r(t), !0);
+                return !0 === l ? g(i).set(t, n) : l[i.id] = n, e
+            };
+            return i(c.prototype, {
+                delete: function (e) {
+                    var t = f(this);
+                    if (!l(e)) return !1;
+                    var n = a(e);
+                    return !0 === n ? g(t).delete(e) : n && u(n, t.id) && delete n[t.id]
+                }, has: function (e) {
+                    var t = f(this);
+                    if (!l(e)) return !1;
+                    var n = a(e);
+                    return !0 === n ? g(t).has(e) : n && u(n, t.id)
+                }
+            }), i(c.prototype, n ? {
+                get: function (e) {
+                    var t = f(this);
+                    if (l(e)) {
+                        var n = a(e);
+                        return !0 === n ? g(t).get(e) : n ? n[t.id] : void 0
+                    }
+                }, set: function (e, t) {
+                    return _(this, e, t)
+                }
+            } : {
+                add: function (e) {
+                    return _(this, e, !0)
+                }
+            }), c
+        }
+    }
+}, function (e, t, n) {
+    var i = n(1), a = n(207), r = n(209), l = n(7), o = n(3), s = o("iterator"), d = o("toStringTag"), u = r.values;
+    for (var c in a) {
+        var h = i[c], m = h && h.prototype;
+        if (m) {
+            if (m[s] !== u) try {
+                l(m, s, u)
+            } catch (e) {
+                m[s] = u
+            }
+            if (m[d] || l(m, d, c), a[c]) for (var f in r) if (m[f] !== r[f]) try {
+                l(m, f, r[f])
+            } catch (e) {
+                m[f] = r[f]
+            }
+        }
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(8), a = n(295).left, r = n(206), l = n(43), o = n(208), s = n(296), d = r("reduce"),
+        u = l("reduce", {1: 0});
+    i({target: "Array", proto: !0, forced: !d || !u || !s && o > 79 && o < 83}, {
+        reduce: function (e) {
+            return a(this, e, arguments.length, arguments.length > 1 ? arguments[1] : void 0)
+        }
+    })
+}, function (e, t, n) {
+    var i = n(204), a = n(18), r = n(22), l = n(14), o = function (e) {
+        return function (t, n, o, s) {
+            i(n);
+            var d = a(t), u = r(d), c = l(d.length), h = e ? c - 1 : 0, m = e ? -1 : 1;
+            if (o < 2) for (; ;) {
+                if (h in u) {
+                    s = u[h], h += m;
+                    break
+                }
+                if (h += m, e ? h < 0 : c <= h) throw TypeError("Reduce of empty array with no initial value")
+            }
+            for (; e ? h >= 0 : c > h; h += m) h in u && (s = n(s, u[h], h, d));
+            return s
+        }
+    };
+    e.exports = {left: o(!1), right: o(!0)}
+}, function (e, t, n) {
+    var i = n(16), a = n(1);
+    e.exports = "process" == i(a.process)
+}, function (e, t, n) {
+    var i = n(9), a = n(10).f, r = Function.prototype, l = r.toString, o = /^\s*function ([^ (]*)/, s = "name";
+    i && !(s in r) && a(r, s, {
+        configurable: !0, get: function () {
+            try {
+                return l.call(this).match(o)[1]
+            } catch (e) {
+                return ""
+            }
+        }
+    })
+}, function (e, t, n) {
+    "use strict";
+    var i = n(6);
+    e.exports = function () {
+        var e = i(this), t = "";
+        return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.dotAll && (t += "s"), e.unicode && (t += "u"), e.sticky && (t += "y"), t
+    }
+}, function (e, t, n) {
+    "use strict";
+    var i = n(2);
+
+    function a(e, t) {
+        return RegExp(e, t)
+    }
+
+    t.UNSUPPORTED_Y = i((function () {
+        var e = a("a", "y");
+        return e.lastIndex = 2, null != e.exec("abcd")
+    })), t.BROKEN_CARET = i((function () {
+        var e = a("^r", "gy");
+        return e.lastIndex = 2, null != e.exec("str")
+    }))
+}, function (e, t, n) {
+    "use strict";
+    var i = n(223), a = n(6), r = n(14), l = n(12), o = n(224), s = n(225);
+    i("match", 1, (function (e, t, n) {
+        return [function (t) {
+            var n = l(this), i = null == t ? void 0 : t[e];
+            return void 0 !== i ? i.call(t, n) : new RegExp(t)[e](String(n))
+        }, function (e) {
+            var i = n(t, e, this);
+            if (i.done) return i.value;
+            var l = a(e), d = String(this);
+            if (!l.global) return s(l, d);
+            var u = l.unicode;
+            l.lastIndex = 0;
+            for (var c, h = [], m = 0; null !== (c = s(l, d));) {
+                var f = String(c[0]);
+                h[m] = f, "" === f && (l.lastIndex = o(d, r(l.lastIndex), u)), m++
+            }
+            return 0 === m ? null : h
+        }]
+    }))
+}, function (e, t, n) {
+    "use strict";
+    var i = n(223), a = n(6), r = n(18), l = n(14), o = n(24), s = n(12), d = n(224), u = n(225), c = Math.max,
+        h = Math.min, m = Math.floor, f = /\$([$&'`]|\d\d?|<[^>]*>)/g, _ = /\$([$&'`]|\d\d?)/g;
+    i("replace", 2, (function (e, t, n, i) {
+        var p = i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, g = i.REPLACE_KEEPS_$0, y = p ? "$" : "$0";
+        return [function (n, i) {
+            var a = s(this), r = null == n ? void 0 : n[e];
+            return void 0 !== r ? r.call(n, a, i) : t.call(String(a), n, i)
+        }, function (e, i) {
+            if (!p && g || "string" == typeof i && -1 === i.indexOf(y)) {
+                var r = n(t, e, this, i);
+                if (r.done) return r.value
+            }
+            var s = a(e), m = String(this), f = "function" == typeof i;
+            f || (i = String(i));
+            var _ = s.global;
+            if (_) {
+                var M = s.unicode;
+                s.lastIndex = 0
+            }
+            for (var b = []; ;) {
+                var x = u(s, m);
+                if (null === x) break;
+                if (b.push(x), !_) break;
+                "" === String(x[0]) && (s.lastIndex = d(m, l(s.lastIndex), M))
+            }
+            for (var L, w = "", k = 0, Y = 0; Y < b.length; Y++) {
+                x = b[Y];
+                for (var D = String(x[0]), T = c(h(o(x.index), m.length), 0), S = [], j = 1; j < x.length; j++) S.push(void 0 === (L = x[j]) ? L : String(L));
+                var E = x.groups;
+                if (f) {
+                    var H = [D].concat(S, T, m);
+                    void 0 !== E && H.push(E);
+                    var O = String(i.apply(void 0, H))
+                } else O = v(D, m, T, S, E, i);
+                T >= k && (w += m.slice(k, T) + O, k = T + D.length)
+            }
+            return w + m.slice(k)
+        }];
+
+        function v(e, n, i, a, l, o) {
+            var s = i + e.length, d = a.length, u = _;
+            return void 0 !== l && (l = r(l), u = f), t.call(o, u, (function (t, r) {
+                var o;
+                switch (r.charAt(0)) {
+                    case"$":
+                        return "$";
+                    case"&":
+                        return e;
+                    case"`":
+                        return n.slice(0, i);
+                    case"'":
+                        return n.slice(s);
+                    case"<":
+                        o = l[r.slice(1, -1)];
+                        break;
+                    default:
+                        var u = +r;
+                        if (0 === u) return t;
+                        if (u > d) {
+                            var c = m(u / 10);
+                            return 0 === c ? t : c <= d ? void 0 === a[c - 1] ? r.charAt(1) : a[c - 1] + r.charAt(1) : t
+                        }
+                        o = a[u - 1]
+                }
+                return void 0 === o ? "" : o
+            }))
+        }
+    }))
+}, function (e, t, n) {
+    e.exports = function () {
+        "use strict";
+        Element.prototype.matches || (Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (e) {
+            for (var t = (this.document || this.ownerDocument).querySelectorAll(e), n = t.length; --n >= 0 && t.item(n) !== this;) ;
+            return n > -1
+        }), Object.assign || Object.defineProperty(Object, "assign", {
+            enumerable: !1,
+            configurable: !0,
+            writable: !0,
+            value: function (e) {
+                if (null == e) throw new TypeError("Cannot convert first argument to object");
+                for (var t = Object(e), n = 1; n < arguments.length; n++) {
+                    var i = arguments[n];
+                    if (null != i) {
+                        i = Object(i);
+                        for (var a = Object.keys(Object(i)), r = 0, l = a.length; r < l; r++) {
+                            var o = a[r], s = Object.getOwnPropertyDescriptor(i, o);
+                            void 0 !== s && s.enumerable && (t[o] = i[o])
+                        }
+                    }
+                }
+                return t
+            }
+        });
+        var e = function () {
+            function e(e) {
+                return e instanceof Element ? (this.selector = e, this) : (this.selector = document.querySelector(e), this)
+            }
+
+            var t = e.prototype;
+            return t.on = function (e, t) {
+                return this.selector.addEventListener(e, t), this
+            }, t.delegate = function (e, t, n) {
+                for (var i in t = t.split(" ")) this.on(t[i], (function (t) {
+                    var i = t.target;
+                    i.matches(e) && n.call(i, t)
+                }))
+            }, t.css = function (e) {
+                for (var t in e) this.selector.style[t] = e[t];
+                return this
+            }, t.text = function (e) {
+                return e ? (this.selector.textContent = e, this) : this.selector.textContent
+            }, t.attr = function (e, t) {
+                return e && t ? (this.selector.setAttribute(e, t), this) : this.selector.getAttribute(e)
+            }, t.append = function (e) {
+                return this.selector.appendChild(e), this
+            }, t.show = function () {
+                this.css({display: "block"})
+            }, t.hide = function () {
+                this.css({display: "none"})
+            }, t.height = function () {
+                return this.selector.offsetHeight
+            }, t.width = function () {
+                return this.selector.offsetWidth
+            }, e
+        }(), t = function (e) {
+            return function (e) {
+                return !!e && "object" == typeof e
+            }(e) && !function (e) {
+                var t = Object.prototype.toString.call(e);
+                return "[object RegExp]" === t || "[object Date]" === t || function (e) {
+                    return e.$$typeof === n
+                }(e)
+            }(e)
+        }, n = "function" == typeof Symbol && Symbol.for ? Symbol.for("react.element") : 60103;
+
+        function i(e, t) {
+            return !1 !== t.clone && t.isMergeableObject(e) ? s((n = e, Array.isArray(n) ? [] : {}), e, t) : e;
+            var n
+        }
+
+        function a(e, t, n) {
+            return e.concat(t).map((function (e) {
+                return i(e, n)
+            }))
+        }
+
+        function r(e) {
+            return Object.keys(e).concat(function (e) {
+                return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e).filter((function (t) {
+                    return e.propertyIsEnumerable(t)
+                })) : []
+            }(e))
+        }
+
+        function l(e, t) {
+            try {
+                return t in e
+            } catch (e) {
+                return !1
+            }
+        }
+
+        function o(e, t, n) {
+            var a = {};
+            return n.isMergeableObject(e) && r(e).forEach((function (t) {
+                a[t] = i(e[t], n)
+            })), r(t).forEach((function (r) {
+                (function (e, t) {
+                    return l(e, t) && !(Object.hasOwnProperty.call(e, t) && Object.propertyIsEnumerable.call(e, t))
+                })(e, r) || (l(e, r) && n.isMergeableObject(t[r]) ? a[r] = function (e, t) {
+                    if (!t.customMerge) return s;
+                    var n = t.customMerge(e);
+                    return "function" == typeof n ? n : s
+                }(r, n)(e[r], t[r], n) : a[r] = i(t[r], n))
+            })), a
+        }
+
+        var s = function (e, n, r) {
+            (r = r || {}).arrayMerge = r.arrayMerge || a, r.isMergeableObject = r.isMergeableObject || t, r.cloneUnlessOtherwiseSpecified = i;
+            var l = Array.isArray(n);
+            return l === Array.isArray(e) ? l ? r.arrayMerge(e, n, r) : o(e, n, r) : i(n, r)
+        }, d = function (e) {
+            return /\.(jpg|gif|png)$/.test(e)
+        }, u = function (e, t, n, i) {
+            void 0 === i && (i = !1);
+            var a = document.createElement(e);
+            return n && (a[i ? "innerHTML" : "textContent"] = n), t && (a.className = t), a
+        }, c = function (t) {
+            return new e(t)
+        }, h = function (e) {
+            return e.replace(/[\w]([A-Z])/g, (function (e) {
+                return e[0] + "-" + e[1]
+            })).toLowerCase()
+        }, m = function (e) {
+            return "function" == typeof e
+        }, f = function (e) {
+            return "object" == typeof e
+        }, _ = function (e) {
+            return "string" == typeof e
+        }, p = function (e) {
+            return Array.isArray(e)
+        }, g = function (e, t) {
+            return s(e, t)
+        };
+
+        function y(e, t) {
+            e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e.__proto__ = t
+        }
+
+        function v(e) {
+            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+            return e
+        }
+
+        var M = function () {
+            function e(e, t) {
+                this.name = e, this.properties = {}, this.node = this.createElement(e), t && this.set(t)
+            }
+
+            var t = e.prototype;
+            return t.createElement = function (e) {
+                return document.createElementNS("http://www.w3.org/2000/svg", e)
+            }, t.addClass = function (e) {
+                this.node.setAttribute("class", e)
+            }, t.getElementCtr = function (e) {
+                return SVG + e
+            }, t.getBBox = function () {
+                return this.node.getBBox()
+            }, t.set = function (e, t) {
+                if (f(e)) for (var n in e) this.properties[n] = e[n], this.applyAttr(n, e[n]); else this.properties[e] = t, this.applyAttr(e, t)
+            }, t.get = function (e) {
+                return this.properties[e]
+            }, t.applyAttr = function (e, t) {
+                this.node.setAttribute(h(e), t)
+            }, t.remove = function () {
+                this.node.parentNode.removeChild(this.node)
+            }, e
+        }(), b = function (e) {
+            function t(t, n, i) {
+                var a;
+                return (a = e.call(this, t, n) || this).style = i || {}, a.style.current = a.style.current || {}, a.isHovered = !1, a.isSelected = !1, a.updateStyle(), a
+            }
+
+            y(t, e);
+            var n = t.prototype;
+            return n.setStyle = function (e, t) {
+                var n = {};
+                f(e) ? n = e : n[e] = t, Object.assign(this.style.current, n), this.updateStyle()
+            }, n.updateStyle = function () {
+                var e = {};
+                this.mergeStyles(e, this.style.initial), this.mergeStyles(e, this.style.current), this.isHovered && this.mergeStyles(e, this.style.hover), this.isSelected && (this.mergeStyles(e, this.style.selected), this.isHovered && this.mergeStyles(e, this.style.selectedHover)), this.set(e)
+            }, n.mergeStyles = function (e, t) {
+                for (var n in t = t || {}) null === t[n] ? delete e[n] : e[n] = t[n]
+            }, t
+        }(M), x = function (e) {
+            function t(t, n) {
+                return e.call(this, "text", t, n) || this
+            }
+
+            return y(t, e), t.prototype.applyAttr = function (t, n) {
+                "text" === t ? this.node.textContent = n : e.prototype.applyAttr.call(this, t, n)
+            }, t
+        }(b), L = function (e) {
+            function t(t, n) {
+                return e.call(this, "image", t, n) || this
+            }
+
+            y(t, e);
+            var n = t.prototype;
+            return n.applyAttr = function (t, n) {
+                var i;
+                "image" == t ? (f(n) ? (i = n.url, this.offset = n.offset) : (i = n, this.offset = [0, 0]), this.node.setAttributeNS("http://www.w3.org/1999/xlink", "href", i), this.width = 23, this.height = 23, this.applyAttr("width", this.width), this.applyAttr("height", this.height), this.applyAttr("x", this.cx - this.width / 2 + this.offset[0]), this.applyAttr("y", this.cy - this.height / 2 + this.offset[1])) : "cx" == t ? (this.cx = n, this.width && this.applyAttr("x", n - this.width / 2 + this.offset[0])) : "cy" == t ? (this.cy = n, this.height && this.applyAttr("y", n - this.height / 2 + this.offset[1])) : e.prototype.applyAttr.apply(this, arguments)
+            }, n.setStyle = function () {
+                e.prototype.setStyle.apply(this, arguments)
+            }, t
+        }(b), w = function (e) {
+            function t(t) {
+                var n;
+                return (n = e.call(this, "svg") || this).container = t, n.defsElement = new M("defs"), n.node.appendChild(n.defsElement.node), n.rootElement = new M("g"), n.node.appendChild(n.rootElement.node), n.container.append(n.node), n
+            }
+
+            y(t, e);
+            var n = t.prototype;
+            return n.setSize = function (e, t) {
+                this.node.setAttribute("width", e), this.node.setAttribute("height", t)
+            }, n.applyTransformParams = function (e, t, n) {
+                this.rootElement.node.setAttribute("transform", "scale(" + e + ") translate(" + t + ", " + n + ")")
+            }, n.createPath = function (e, t, n) {
+                var i = new b("path", e, t);
+                return i.node.setAttribute("fill-rule", "evenodd"), this.add(i, n), i
+            }, n.createCircle = function (e, t, n) {
+                var i = new b("circle", e, t);
+                return this.add(i, n), i
+            }, n.createImage = function (e, t, n) {
+                var i = new L(e, t);
+                return this.add(i, n), i
+            }, n.createText = function (e, t, n) {
+                var i = new x(e, t);
+                return this.add(i, n), i
+            }, n.createGroup = function (e) {
+                var t = new M("g");
+                return e ? e.node.appendChild(t.node) : this.node.appendChild(t.node), t.canvas = this, t
+            }, n.add = function (e, t) {
+                (t = t || this.rootElement).node.appendChild(e.node), e.canvas = this
+            }, t
+        }(M), k = function () {
+            function e() {
+            }
+
+            var t = e.prototype;
+            return t.getLabelText = function (e) {
+                var t = this.config.label;
+                if (t) return m(t.render) ? t.render(e) : e
+            }, t.getLabelOffsets = function (e) {
+                var t = this.config.label;
+                if (t) {
+                    if (m(t.offsets)) return t.offsets(e);
+                    if (f(t.offsets)) return this.config.label.offsets[e]
+                }
+                return [0, 0]
+            }, t.setStyle = function (e, t) {
+                this.shape.setStyle(e, t)
+            }, t.remove = function () {
+                this.shape.remove(), this.label && this.label.remove()
+            }, t.hoverStatus = function (e) {
+                this.shape.isHovered = e, this.shape.updateStyle(), this.isHovered = e, this.label && (this.label.isHovered = e, this.label.updateStyle())
+            }, t.select = function () {
+                this._selectStatus(!0)
+            }, t.deselect = function () {
+                this._selectStatus(!1)
+            }, t._selectStatus = function (e) {
+                this.shape.isSelected = e, this.shape.updateStyle(), this.isSelected = e, this.label && (this.label.isSelected = e, this.label.updateStyle())
+            }, e
+        }(), Y = function (e) {
+            function t(t) {
+                var n, i = t.map, a = t.code, r = t.path, l = t.style, o = t.label, s = t.labelStyle, d = t.labelsGroup;
+                (n = e.call(this) || this).config = arguments[0], n.canvas = i.canvas, n.map = i, n.shape = n.canvas.createPath({
+                    "data-code": a,
+                    d: r
+                }, l, n.canvas.rootElement), n.shape.addClass("jsvmap-region jsvmap-element");
+                var u = n.shape.getBBox(), c = n.getLabelText(a);
+                if (o && c) {
+                    var h = n.getLabelOffsets(a);
+                    n.labelX = u.x + u.width / 2 + h[0], n.labelY = u.y + u.height / 2 + h[1], n.label = n.canvas.createText({
+                        text: c,
+                        "text-anchor": "middle",
+                        "alignment-baseline": "central",
+                        "data-code": a,
+                        x: n.labelX,
+                        y: n.labelY
+                    }, s, d), n.label.addClass("jsvmap-region jsvmap-element")
+                }
+                return n
+            }
+
+            return y(t, e), t.prototype.updateLabelPosition = function () {
+                this.label && this.label.set({
+                    x: this.labelX * this.map.scale + this.map.transX * this.map.scale,
+                    y: this.labelY * this.map.scale + this.map.transY * this.map.scale
+                })
+            }, t
+        }(k), D = function (e) {
+            function t(t) {
+                var n, i, a = t.index, r = t.style, l = t.label, o = t.labelsGroup, s = t.cx, d = t.cy, u = t.map,
+                    c = t.isRecentlyCreated;
+                return (n = e.call(this) || this).map = u, n.config = arguments[0], n.isImage = !!r.initial.image, n.createShape(), i = c && l.render && c.label ? c.label : e.prototype.getLabelText.call(v(n), a), l && i && (n.offsets = c && l.render && c.offset ? c.offset : e.prototype.getLabelOffsets.call(v(n), a), n.labelX = s / u.scale - u.transX, n.labelY = d / u.scale - u.transY, n.label = u.canvas.createText({
+                    text: i,
+                    "data-index": a,
+                    dy: "0.6ex",
+                    x: n.labelX,
+                    y: n.labelY
+                }, u.params.markerLabelStyle, o), n.label.addClass("jsvmap-marker jsvmap-element"), c && n.updateLabelPosition()), n
+            }
+
+            y(t, e);
+            var n = t.prototype;
+            return n.createShape = function () {
+                this.shape && this.shape.remove(), this.shape = this.config.map.canvas[this.isImage ? "createImage" : "createCircle"]({
+                    "data-index": this.config.index,
+                    cx: this.config.cx,
+                    cy: this.config.cy
+                }, this.config.style, this.config.group), this.shape.addClass("jsvmap-marker jsvmap-element"), this.isImage && this.updateLabelPosition()
+            }, n.updateLabelPosition = function () {
+                this.label && this.label.set({
+                    x: this.labelX * this.map.scale + this.offsets[0] + this.map.transX * this.map.scale + 5 + (this.isImage ? (this.shape.width || 0) / 2 : this.shape.properties.r),
+                    y: this.labelY * this.map.scale + this.map.transY * this.map.scale + this.offsets[1]
+                })
+            }, n.setStyle = function (t, n) {
+                e.prototype.setStyle.call(this, t, n), "r" === t && this.updateLabelPosition(), !!this.shape.get("image") != this.isImage && (this.config.style = Object.assign({}, this.shape.style), this.createShape())
+            }, t
+        }(k), T = function () {
+            function e(e) {
+                this.params = e || {}, this.map = this.params.map, this.series = this.params.series, this.body = u("div", "jsvmap-legend"), this.params.cssClass && this.body.setAttribute("class", this.params.cssClass), e.vertical ? this.map.legendVertical.appendChild(this.body) : this.map.legendHorizontal.appendChild(this.body), this.render()
+            }
+
+            return e.prototype.render = function () {
+                var e, t, n, i = this.series.scale.getTicks(), a = u("div", "jsvmap-legend-inner");
+                if (this.body.innderHTML = "", this.params.title) {
+                    var r = u("div", "jsvmap-legend-title", this.params.title);
+                    this.body.appendChild(r)
+                }
+                this.body.appendChild(a);
+                for (var l = 0; l < i.length; l++) {
+                    switch (e = u("div", "jsvmap-legend-tick"), t = u("div", "jsvmap-legend-tick-sample"), this.series.legendConfig.attribute) {
+                        case"fill":
+                            d(i[l].value) ? t.style.background = "url(" + i[l].value + ")" : t.style.background = i[l].value;
+                            break;
+                        case"stroke":
+                            t.style.background = i[l].value;
+                            break;
+                        case"image":
+                            t.style.background = "url(" + (f(i[l].value) ? i[l].value.url : i[l].value) + ") no-repeat center center", t.style.backgroundSize = "cover"
+                    }
+                    e.appendChild(t), n = i[l].label, this.params.labelRender && (n = this.params.labelRender(n));
+                    var o = u("div", "jsvmap-legend-tick-text", n);
+                    e.appendChild(o), a.appendChild(e)
+                }
+            }, e
+        }(), S = function () {
+            function e(e) {
+                this.scale = e
+            }
+
+            var t = e.prototype;
+            return t.getValue = function (e) {
+                return this.scale[e]
+            }, t.getTicks = function () {
+                var e = [];
+                for (var t in this.scale) e.push({label: t, value: this.scale[t]});
+                return e
+            }, e
+        }(), j = function () {
+            function e(e, t, n) {
+                void 0 === e && (e = {}), this.map = n, this.elements = t, this.legendConfig = e, this.legendConfig.attribute = e.attribute || "fill", this.values = e.values || {}, e.attributes && this.setAttributes(e.attributes), f(e.scale) && (this.scale = new S(e.scale)), this.parseValues(this.values), this.legendConfig.legend && (this.legend = new T(Object.assign({
+                    map: this.map,
+                    series: this
+                }, this.legendConfig.legend)))
+            }
+
+            var t = e.prototype;
+            return t.parseValues = function (e) {
+                var t = {};
+                for (var n in e) e[n] && (t[n] = this.scale.getValue(e[n]));
+                this.setAttributes(t), Object.assign(this.values, e)
+            }, t.setAttributes = function (e) {
+                for (var t in e) this.elements[t] && this.elements[t].element.setStyle(this.legendConfig.attribute, e[t])
+            }, t.clear = function () {
+                var e, t = {};
+                for (e in this.values) this.elements[e] && (t[e] = this.elements[e].element.shape.style.initial[this.legendConfig.attribute]);
+                this.setAttributes(t), this.values = {}
+            }, e
+        }();
+
+        function E(e, t, n) {
+            var i = c(t), a = -1 === i.attr("class").indexOf("jsvmap-region") ? "marker" : "region",
+                r = "region" === a ? i.attr("data-code") : i.attr("data-index"), l = a + ":select";
+            return n && (l = a + ".tooltip:show"), {
+                event: l,
+                type: a,
+                code: r,
+                element: "region" === a ? e.regions[r].element : e.markers[r].element,
+                tooltipText: "region" === a ? e.mapData.paths[r].name || "" : e.markers[r].config.name || ""
+            }
+        }
+
+        var H = {
+            mill: function (e, t, n) {
+                return {
+                    x: this.radius * (t - n) * this.radDeg,
+                    y: -this.radius * Math.log(Math.tan((45 + .4 * e) * this.radDeg)) / .8
+                }
+            }, merc: function (e, t, n) {
+                return {
+                    x: this.radius * (t - n) * this.radDeg,
+                    y: -this.radius * Math.log(Math.tan(Math.PI / 4 + e * Math.PI / 360))
+                }
+            }, aea: function (e, t, n) {
+                var i = n * this.radDeg, a = 29.5 * this.radDeg, r = 45.5 * this.radDeg, l = e * this.radDeg,
+                    o = t * this.radDeg, s = (Math.sin(a) + Math.sin(r)) / 2,
+                    d = Math.cos(a) * Math.cos(a) + 2 * s * Math.sin(a), u = s * (o - i),
+                    c = Math.sqrt(d - 2 * s * Math.sin(l)) / s, h = Math.sqrt(d - 2 * s * Math.sin(0)) / s;
+                return {x: c * Math.sin(u) * this.radius, y: -(h - c * Math.cos(u)) * this.radius}
+            }, lcc: function (e, t, n) {
+                var i = n * this.radDeg, a = t * this.radDeg, r = 33 * this.radDeg, l = 45 * this.radDeg,
+                    o = e * this.radDeg,
+                    s = Math.log(Math.cos(r) * (1 / Math.cos(l))) / Math.log(Math.tan(Math.PI / 4 + l / 2) * (1 / Math.tan(Math.PI / 4 + r / 2))),
+                    d = Math.cos(r) * Math.pow(Math.tan(Math.PI / 4 + r / 2), s) / s,
+                    u = d * Math.pow(1 / Math.tan(Math.PI / 4 + o / 2), s),
+                    c = d * Math.pow(1 / Math.tan(Math.PI / 4 + 0), s);
+                return {x: u * Math.sin(s * (a - i)) * this.radius, y: -(c - u * Math.cos(s * (a - i))) * this.radius}
+            }
+        };
+        H.degRad = 180 / Math.PI, H.radDeg = Math.PI / 180, H.radius = 6381372;
+        var O = Object.freeze({
+            __proto__: null, handleContainerEvents: function () {
+                var e, t, n = this, i = !1, a = this;
+                this.params.draggable && (this.container.on("mousemove", (function (n) {
+                    return i && (a.transX -= (e - n.pageX) / a.scale, a.transY -= (t - n.pageY) / a.scale, a.applyTransform(), e = n.pageX, t = n.pageY), !1
+                })).on("mousedown", (function (n) {
+                    return i = !0, e = n.pageX, t = n.pageY, !1
+                })), c("body").on("mouseup", (function () {
+                    i = !1
+                }))), this.params.zoomOnScroll && this.container.on("wheel", (function (e) {
+                    var t = 0;
+                    e.preventDefault(), t = (e.deltaY || -e.wheelDelta || e.detail) >> 10 || 1, t *= 75;
+                    var i = n.container.selector.getBoundingClientRect(), r = e.pageX - i.left - window.pageXOffset,
+                        l = e.pageY - i.top - window.pageYOffset,
+                        o = Math.pow(1 + a.params.zoomOnScrollSpeed / 1e3, -1.5 * t);
+                    a.tooltip.hide(), a.setScale(a.scale * o, r, l), e.preventDefault()
+                }))
+            }, handleZoomButtons: function () {
+                var e = this, t = this, n = u("div", "jsvmap-zoom-btn jsvmap-zoomin", "&#43;", !0),
+                    i = u("div", "jsvmap-zoom-btn jsvmap-zoomout", "&#x2212", !0);
+                this.container.append(n).append(i), n.addEventListener("click", (function () {
+                    e.setScale(t.scale * t.params.zoomStep, t.width / 2, t.height / 2, !1, t.params.zoomAnimate)
+                })), i.addEventListener("click", (function () {
+                    e.setScale(t.scale / t.params.zoomStep, t.width / 2, t.height / 2, !1, t.params.zoomAnimate)
+                }))
+            }, createRegions: function () {
+                var e, t;
+                for (e in this.regionLabelsGroup = this.regionLabelsGroup || this.canvas.createGroup(), this.mapData.paths) t = new Y({
+                    map: this,
+                    code: e,
+                    path: this.mapData.paths[e].path,
+                    style: Object.assign({}, this.params.regionStyle),
+                    labelStyle: this.params.regionLabelStyle,
+                    labelsGroup: this.regionLabelsGroup,
+                    label: this.params.labels && this.params.labels.regions
+                }), this.regions[e] = {config: this.mapData.paths[e], element: t}
+            }, createMarkers: function (e, t) {
+                var n, i;
+                for (var a in this.markersGroup = this.markersGroup || this.canvas.createGroup(), this.markerLabelsGroup = this.markerLabelsGroup || this.canvas.createGroup(), e) !1 !== (i = this.getMarkerPosition(e[a])) && (n = new D({
+                    index: a,
+                    map: this,
+                    style: g(this.params.markerStyle, {initial: e[a].style || {}}),
+                    label: this.params.labels && this.params.labels.markers,
+                    labelsGroup: this.markerLabelsGroup,
+                    cx: i.x,
+                    cy: i.y,
+                    group: this.markersGroup,
+                    isRecentlyCreated: !!t && e[a]
+                }), this.markers[a] && this.removeMarkers([a]), this.markers[a] = {element: n, config: e[a]})
+            }, createTooltip: function () {
+                var e = this, t = this, n = u("div", "jsvmap-tooltip");
+                this.tooltip = c(document.body.appendChild(n)), this.container.on("mousemove", (function (n) {
+                    if ("block" === t.tooltip.selector.style.display) {
+                        var i = n.pageX - 10 - t.tooltip.width() + "px", a = n.pageY - 10 - t.tooltip.height() + "px";
+                        i < 5 && (i = n.pageX + 15), i < 5 && (a = n.pageY + 15), e.tooltip.css({left: i, top: a})
+                    }
+                }))
+            }, createSeries: function () {
+                var e, t;
+                for (t in this.series = {
+                    markers: [],
+                    regions: []
+                }, this.params.series) for (e = 0; e < this.params.series[t].length; e++) this.series[t][e] = new j(this.params.series[t][e], this[t], this)
+            }, handleElementEvents: function () {
+                var e = this;
+                this.container.delegate(".jsvmap-element", "mouseover mouseout", (function (t) {
+                    var n = E(e, this, !0), i = e.params.showTooltip;
+                    if ("mouseover" === t.type) {
+                        var a = t.defaultPrevented;
+                        a || n.element.hoverStatus(!0), i && !a && (e.tooltip.text(n.tooltipText), e.tooltip.show(), e.tooltipHeight = e.tooltip.height(), e.tooltipWidth = e.tooltip.width(), e.emit(n.event, [e.tooltip, n.code]))
+                    } else n.element.hoverStatus(!1), i && e.tooltip.hide()
+                })), this.container.delegate(".jsvmap-element", "mouseup", (function (t) {
+                    var n = E(e, this);
+                    if (("region" === n.type && e.params.regionsSelectable || "marker" === n.type && e.params.markersSelectable) && !t.defaultPrevented) {
+                        var i = n.element;
+                        e.params[n.type + "sSelectableOne"] && e.clearSelected(n.type + "s"), n.element.isSelected ? i.deselect() : i.select(), e.emit(n.event, [n.code, n.element.isSelected, e.getSelected(n.type + "s")])
+                    }
+                }))
+            }, setFocus: function (e) {
+                var t, n, i = this;
+                if ((e = e || {}).region && _(e.region) ? n = [e.region] : e.regions && p(e.regions) && (n = e.regions), n) return n.forEach((function (e) {
+                    if (i.regions[e]) {
+                        var n = i.regions[e].element.shape.getBBox();
+                        n && (t = void 0 === t ? n : {
+                            x: Math.min(t.x, n.x),
+                            y: Math.min(t.y, n.y),
+                            width: Math.max(t.x + t.width, n.x + n.width) - Math.min(t.x, n.x),
+                            height: Math.max(t.y + t.height, n.y + n.height) - Math.min(t.y, n.y)
+                        })
+                    }
+                })), this.setScale(Math.min(this.width / t.width, this.height / t.height), -(t.x + t.width / 2), -(t.y + t.height / 2), !0, e.animate)
+            }, bindContainerTouchEvents: function () {
+                var e, t, n, i, a, r, l, o = this, s = function (s) {
+                    var d, u, c, h, m = s.touches;
+                    if ("touchstart" == s.type && (l = 0), 1 == m.length) 1 == l && (c = o.transX, h = o.transY, o.transX -= (n - m[0].pageX) / o.scale, o.transY -= (i - m[0].pageY) / o.scale, o.tooltip.hide(), o.applyTransform(), c == o.transX && h == o.transY || s.preventDefault()), n = m[0].pageX, i = m[0].pageY; else if (2 == m.length) if (2 == l) u = Math.sqrt(Math.pow(m[0].pageX - m[1].pageX, 2) + Math.pow(m[0].pageY - m[1].pageY, 2)) / t, o.setScale(e * u, a, r), o.tooltip.hide(), s.preventDefault(); else {
+                        var f = o.container.selector.getBoundingClientRect();
+                        d = {
+                            top: f.top + window.scrollY,
+                            left: f.left + window.scrollX
+                        }, a = m[0].pageX > m[1].pageX ? m[1].pageX + (m[0].pageX - m[1].pageX) / 2 : m[0].pageX + (m[1].pageX - m[0].pageX) / 2, r = m[0].pageY > m[1].pageY ? m[1].pageY + (m[0].pageY - m[1].pageY) / 2 : m[0].pageY + (m[1].pageY - m[0].pageY) / 2, a -= d.left, r -= d.top, e = o.scale, t = Math.sqrt(Math.pow(m[0].pageX - m[1].pageX, 2) + Math.pow(m[0].pageY - m[1].pageY, 2))
+                    }
+                    l = m.length
+                };
+                this.container.on("touchstart", s).on("touchmove", s)
+            }, applyTransform: function () {
+                var e, t, n, i;
+                this.defaultWidth * this.scale <= this.width ? (e = (this.width - this.defaultWidth * this.scale) / (2 * this.scale), n = (this.width - this.defaultWidth * this.scale) / (2 * this.scale)) : (e = 0, n = (this.width - this.defaultWidth * this.scale) / this.scale), this.defaultHeight * this.scale <= this.height ? (t = (this.height - this.defaultHeight * this.scale) / (2 * this.scale), i = (this.height - this.defaultHeight * this.scale) / (2 * this.scale)) : (t = 0, i = (this.height - this.defaultHeight * this.scale) / this.scale), this.transY > t ? this.transY = t : this.transY < i && (this.transY = i), this.transX > e ? this.transX = e : this.transX < n && (this.transX = n), this.canvas.applyTransformParams(this.scale, this.transX, this.transY), this.markers && this.repositionMarkers(), this.repositionLabels()
+            }, resize: function () {
+                var e = this.baseScale;
+                this.width / this.height > this.defaultWidth / this.defaultHeight ? (this.baseScale = this.height / this.defaultHeight, this.baseTransX = Math.abs(this.width - this.defaultWidth * this.baseScale) / (2 * this.baseScale)) : (this.baseScale = this.width / this.defaultWidth, this.baseTransY = Math.abs(this.height - this.defaultHeight * this.baseScale) / (2 * this.baseScale)), this.scale *= this.baseScale / e, this.transX *= this.baseScale / e, this.transY *= this.baseScale / e
+            }, updateSize: function () {
+                this.width = this.container.width(), this.height = this.container.height(), this.resize(), this.canvas.setSize(this.width, this.height), this.applyTransform()
+            }, coordsToPoint: function (e, t) {
+                var n, i, a, r = P.maps[this.params.map].projection, l = r.centralMeridian;
+                return n = H[r.type](e, t, l), !!(i = this.getInsetForPoint(n.x, n.y)) && (a = i.bbox, n.x = (n.x - a[0].x) / (a[1].x - a[0].x) * i.width * this.scale, n.y = (n.y - a[0].y) / (a[1].y - a[0].y) * i.height * this.scale, {
+                    x: n.x + this.transX * this.scale + i.left * this.scale,
+                    y: n.y + this.transY * this.scale + i.top * this.scale
+                })
+            }, setScale: function (e, t, n, i, a) {
+                var r, l, o, s, d, u, c, h, m, f, _ = this, p = 0,
+                    g = Math.abs(Math.round(60 * (e - this.scale) / Math.max(e, this.scale)));
+                e > this.params.zoomMax * this.baseScale ? e = this.params.zoomMax * this.baseScale : e < this.params.zoomMin * this.baseScale && (e = this.params.zoomMin * this.baseScale), void 0 !== t && void 0 !== n && (r = e / this.scale, i ? (m = t + this.defaultWidth * (this.width / (this.defaultWidth * e)) / 2, f = n + this.defaultHeight * (this.height / (this.defaultHeight * e)) / 2) : (m = this.transX - (r - 1) / e * t, f = this.transY - (r - 1) / e * n)), a && g > 0 ? (o = this.scale, s = (e - o) / g, d = this.transX * this.scale, c = this.transY * this.scale, u = (m * e - d) / g, h = (f * e - c) / g, l = setInterval((function () {
+                    p += 1, _.scale = o + s * p, _.transX = (d + u * p) / _.scale, _.transY = (c + h * p) / _.scale, _.applyTransform(), p == g && (clearInterval(l), _.emit("viewport:changed", [_.scale, _.transX, _.transY]))
+                }), 10)) : (this.transX = m, this.transY = f, this.scale = e, this.applyTransform(), this.emit("viewport:changed", [this.scale, this.transX, this.transY]))
+            }, getMarkerPosition: function (e) {
+                var t = e.coords;
+                return P.maps[this.params.map].projection ? this.coordsToPoint.apply(this, t) : {
+                    x: t[0] * this.scale + this.transX * this.scale,
+                    y: t[1] * this.scale + this.transY * this.scale
+                }
+            }, repositionMarkers: function () {
+                var e;
+                for (var t in this.markers) !1 !== (e = this.getMarkerPosition(this.markers[t].config)) && this.markers[t].element.setStyle({
+                    cx: e.x,
+                    cy: e.y
+                })
+            }, repositionLabels: function () {
+                var e = this.params.labels;
+                if (e) {
+                    if (e.regions) for (var t in this.regions) this.regions[t].element.updateLabelPosition();
+                    if (e.markers) for (var n in this.markers) this.markers[n].element.updateLabelPosition()
+                }
+            }
+        }), A = {
+            onViewportChange: "viewport:changed",
+            onRegionSelected: "region:select",
+            onMarkerSelected: "marker:select",
+            onRegionTooltipShow: "region.tooltip:show",
+            onMarkerTooltipShow: "marker.tooltip:show",
+            onLoaded: "map:loaded"
+        }, P = function () {
+            function e(t) {
+                if (void 0 === t && (t = {}), this.params = g(e.defaults, t), !e.maps[this.params.map]) throw new Error("Attempt to use map which was not loaded: " + t.map);
+                this.mapData = e.maps[this.params.map], this.regionsData = {}, this.regionsColors = {}, this.markers = {}, this.defaultWidth = this.mapData.width, this.defaultHeight = this.mapData.height, this.height = 0, this.width = 0, this.scale = 1, this.baseScale = 1, this.transX = 0, this.transY = 0, this.baseTransX = 0, this.baseTransY = 0, this.regions = {}, "loading" !== window.document.readyState ? this.init(t.selector) : window.addEventListener("DOMContentLoaded", this.init.bind(this, t.selector))
+            }
+
+            var t = e.prototype;
+            return t.init = function (e) {
+                this.container = c(e).attr("class", "jsvmap-container"), this.canvas = new w(this.container, this.width, this.height), this.setBackgroundColor(this.params.backgroundColor), this.handleContainerEvents(), this.createRegions(), this.updateSize(), this.createMarkers(this.params.markers || {}), this.params.showTooltip && this.createTooltip(), this.params.zoomButtons && this.handleZoomButtons(), this.params.selectedRegions && this.setSelected("regions", this.params.selectedRegions), this.params.selectedMarkers && this.setSelected("markers", this.params.selectedMarkers), this.params.focusOn && this.setFocus(this.params.focusOn), this.params.bindTouchEvents && ("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch) && this.bindContainerTouchEvents(), this.handleElementEvents(), this.repositionLabels(), this.container.append(this.legendHorizontal = u("div", "jsvmap-series-container jsvmap-series-h")).append(this.legendVertical = u("div", "jsvmap-series-container jsvmap-series-v")), this.params.series && this.createSeries(), this.emit("map:loaded", [this])
+            }, t.emit = function (e, t) {
+                for (var n in A) A[n] === e && m(this.params[n]) && this.params[n].apply(this, t)
+            }, t.setBackgroundColor = function (e) {
+                this.container.css({backgroundColor: e})
+            }, t.getInsetForPoint = function (t, n) {
+                var i, a, r = e.maps[this.params.map].insets;
+                for (i = 0; i < r.length; i++) if (t > (a = r[i].bbox)[0].x && t < a[1].x && n > a[0].y && n < a[1].y) return r[i]
+            }, t.getSelected = function (e) {
+                var t, n = [];
+                for (t in this[e]) this[e][t].element.isSelected && n.push(t);
+                return n
+            }, t.clearSelected = function (e) {
+                var t = this;
+                this.getSelected(e).forEach((function (n) {
+                    t[e][n].element.deselect()
+                }))
+            }, t.setSelected = function (e, t) {
+                var n = this;
+                t.forEach((function (t) {
+                    n[e][t] && n[e][t].element.select()
+                }))
+            }, t.getSelectedRegions = function () {
+                return this.getSelected("regions")
+            }, t.clearSelectedRegions = function () {
+                var e = this;
+                this.getSelected("regions").forEach((function (t) {
+                    e.regions[t].element.deselect()
+                }))
+            }, t.getSelectedMarkers = function () {
+                return this.getSelected("markers")
+            }, t.clearSelectedMarkers = function () {
+                var e = this;
+                this.getSelected("markers").forEach((function (t) {
+                    e.markers[t].element.deselect()
+                }))
+            }, t.addMarker = function (e, t) {
+                var n;
+                this.createMarkers(((n = {})[e] = t, n), !0)
+            }, t.removeMarkers = function (e) {
+                var t = this;
+                e.forEach((function (e) {
+                    t.markers[e].element.remove(), delete t.markers[e]
+                }))
+            }, t.reset = function () {
+                for (var e in this.series) for (var t = 0; t < this.series[e].length; t++) this.series[e][t].clear();
+                this.scale = this.baseScale, this.transX = this.baseTransX, this.transY = this.baseTransY, this.clearSelectedMarkers(), this.clearSelectedRegions(), this.applyTransform()
+            }, e
+        }();
+        P.maps = {}, P.defaults = {
+            map: "world",
+            backgroundColor: "tranparent",
+            draggable: !0,
+            zoomButtons: !0,
+            zoomOnScroll: !0,
+            zoomOnScrollSpeed: 3,
+            zoomMax: 12,
+            zoomMin: 1,
+            zoomAnimate: !0,
+            showTooltip: !0,
+            zoomStep: 1.5,
+            bindTouchEvents: !0,
+            markersSelectable: !1,
+            markersSelectableOne: !1,
+            markerStyle: {
+                initial: {
+                    r: 7,
+                    fill: "black",
+                    fillOpacity: 1,
+                    stroke: "#FFF",
+                    strokeWidth: 5,
+                    strokeOpacity: .65
+                },
+                hover: {fill: "#3cc0ff", stroke: "#5cc0ff", cursor: "pointer", strokeWidth: 2},
+                selected: {fill: "blue"},
+                selectedHover: {}
+            },
+            markerLabelStyle: {
+                initial: {
+                    fontFamily: "Verdana",
+                    fontSize: 12,
+                    fontWeight: "bold",
+                    cursor: "default",
+                    fill: "black"
+                }, hover: {cursor: "pointer"}
+            },
+            regionsSelectable: !1,
+            regionsSelectableOne: !1,
+            regionStyle: {
+                initial: {fill: "#e3eaef", fillOpacity: 1, stroke: "none", strokeWidth: 0, strokeOpacity: 1},
+                hover: {fillOpacity: .7, cursor: "pointer"},
+                selected: {fill: "#000"},
+                selectedHover: {}
+            },
+            regionLabelStyle: {
+                initial: {
+                    fontFamily: "Verdana",
+                    fontSize: "12",
+                    fontWeight: "bold",
+                    cursor: "default",
+                    fill: "#35373e"
+                }, hover: {cursor: "pointer"}
+            }
+        }, Object.assign(P.prototype, O);
+        var C = function () {
+            function e(e) {
+                if (void 0 === e && (e = {}), !e.selector) throw new Error("Selector is not given.");
+                return new P(e)
+            }
+
+            return e.prototype.addMap = function (e, t) {
+                P.maps[e] = t
+            }, e
+        }();
+        return window.jsVectorMap = window.JsVectorMap = C
+    }()
+}, function (e, t) {
+    JsVectorMap.prototype.addMap("world", {
+        insets: [{
+            width: 900,
+            top: 0,
+            left: 0,
+            height: 440.70631074413296,
+            bbox: [{y: -12671671.123330014, x: -20004297.151525836}, {y: 6930392.025135122, x: 20026572.39474939}]
+        }], paths: {
+            BD: {
+                path: "M651.84,230.21l-0.6,-2.0l-1.36,-1.71l-2.31,-0.11l-0.41,0.48l0.2,0.94l-0.53,0.99l-0.72,-0.36l-0.68,0.35l-1.2,-0.36l-0.37,-2.0l-0.81,-1.86l0.39,-1.46l-0.22,-0.47l-1.14,-0.53l0.29,-0.5l1.48,-0.94l0.03,-0.65l-1.55,-1.22l0.55,-1.14l1.61,0.94l1.04,0.15l0.18,1.54l0.34,0.35l5.64,0.63l-0.84,1.64l-1.22,0.34l-0.77,1.51l0.07,0.47l1.37,1.37l0.67,-0.19l0.42,-1.39l1.21,3.84l-0.03,1.21l-0.33,-0.15l-0.4,0.28Z",
+                name: "Bangladesh"
+            },
+            BE: {
+                path: "M429.29,144.05l1.91,0.24l2.1,-0.63l2.63,1.99l-0.21,1.66l-0.69,0.4l-0.18,1.2l-1.66,-1.13l-1.39,0.15l-2.73,-2.7l-1.17,-0.18l-0.16,-0.52l1.54,-0.5Z",
+                name: "Belgium"
+            },
+            BF: {
+                path: "M421.42,247.64l-0.11,0.95l0.34,1.16l1.4,1.71l0.07,1.1l0.32,0.37l2.55,0.51l-0.04,1.28l-0.38,0.53l-1.07,0.21l-0.72,1.18l-0.63,0.21l-3.22,-0.25l-0.94,0.39l-5.4,-0.05l-0.39,0.38l0.16,2.73l-1.23,-0.43l-1.17,0.1l-0.89,0.57l-2.27,-1.72l-0.13,-1.11l0.61,-0.96l0.02,-0.93l1.87,-1.98l0.44,-1.81l0.43,-0.39l1.28,0.26l1.05,-0.52l0.47,-0.73l1.84,-1.09l0.55,-0.83l2.2,-1.0l1.15,-0.3l0.72,0.45l1.13,-0.01Z",
+                name: "Burkina Faso"
+            },
+            BG: {
+                path: "M491.65,168.18l-0.86,0.88l-0.91,2.17l0.48,1.34l-1.6,-0.24l-2.55,0.95l-0.28,1.51l-1.8,0.22l-2.0,-1.0l-1.92,0.79l-1.42,-0.07l-0.15,-1.63l-1.05,-0.97l0.0,-0.8l1.2,-1.57l0.01,-0.56l-1.14,-1.23l-0.05,-0.94l0.88,0.97l0.88,-0.2l1.91,0.47l3.68,0.16l1.42,-0.81l2.72,-0.66l2.55,1.24Z",
+                name: "Bulgaria"
+            },
+            BA: {
+                path: "M463.49,163.65l2.1,0.5l1.72,-0.03l1.52,0.68l-0.36,0.78l0.08,0.45l1.04,1.02l-0.25,0.98l-1.81,1.15l-0.38,1.38l-1.67,-0.87l-0.89,-1.2l-2.11,-1.83l-1.63,-2.22l0.23,-0.57l0.48,0.38l0.55,-0.06l0.43,-0.51l0.94,-0.06Z",
+                name: "Bosnia and Herz."
+            },
+            BN: {
+                path: "M707.48,273.58l0.68,-0.65l1.41,-0.91l-0.15,1.63l-0.81,-0.05l-0.61,0.58l-0.53,-0.6Z",
+                name: "Brunei"
+            },
+            BO: {
+                path: "M263.83,340.69l-3.09,-0.23l-0.38,0.23l-0.7,1.52l-1.31,-1.53l-3.28,-0.64l-2.37,2.4l-1.31,0.26l-0.88,-3.26l-1.3,-2.86l0.74,-2.37l-0.13,-0.43l-1.2,-1.01l-0.37,-1.89l-1.08,-1.55l1.45,-2.56l-0.96,-2.33l0.47,-1.06l-0.34,-0.73l0.91,-1.32l0.16,-3.84l0.5,-1.18l-1.81,-3.41l2.46,0.07l0.8,-0.85l3.4,-1.91l2.66,-0.35l-0.19,1.38l0.3,1.07l-0.05,1.97l2.72,2.27l2.88,0.49l0.89,0.86l1.79,0.58l0.98,0.7l1.71,0.05l1.17,0.61l0.6,2.7l-0.7,0.54l0.96,2.99l0.37,0.28l4.3,0.1l-0.25,1.2l0.27,1.02l1.43,0.9l0.5,1.35l-0.41,1.86l-0.65,1.08l0.12,1.35l-2.69,-1.65l-2.4,-0.03l-4.36,0.76l-1.49,2.5l-0.11,1.52l-0.75,2.37Z",
+                name: "Bolivia"
+            },
+            JP: {
+                path: "M781.12,166.87l1.81,0.68l1.62,-0.97l0.39,2.42l-3.35,0.75l-2.23,2.88l-3.63,-1.9l-0.56,0.2l-1.26,3.05l-2.16,0.03l-0.29,-2.51l1.08,-2.03l2.45,-0.16l0.37,-0.33l1.25,-5.94l2.47,2.71l2.03,1.12ZM773.56,187.34l-0.91,2.22l0.37,1.52l-1.14,1.75l-3.02,1.26l-4.58,0.27l-3.34,3.01l-1.25,-0.8l-0.09,-1.9l-0.46,-0.38l-4.35,0.62l-3.0,1.32l-2.85,0.05l-0.37,0.27l0.13,0.44l2.32,1.89l-1.54,4.34l-1.26,0.9l-0.79,-0.7l0.56,-2.27l-0.21,-0.45l-1.47,-0.75l-0.74,-1.4l2.12,-0.84l1.26,-1.7l2.45,-1.42l1.83,-1.91l4.78,-0.81l2.6,0.57l0.44,-0.21l2.39,-4.66l1.29,1.06l0.5,0.01l5.1,-4.02l1.69,-3.73l-0.38,-3.4l0.9,-1.61l2.14,-0.44l1.23,3.72l-0.07,2.18l-2.23,2.84l-0.04,3.16ZM757.78,196.26l0.19,0.56l-1.01,1.21l-1.16,-0.68l-1.28,0.65l-0.69,1.45l-1.02,-0.5l0.01,-0.93l1.14,-1.38l1.57,0.14l0.85,-0.98l1.4,0.46Z",
+                name: "Japan"
+            },
+            BI: {
+                path: "M495.45,295.49l-1.08,-2.99l1.14,-0.11l0.64,-1.19l0.76,0.09l0.65,1.83l-2.1,2.36Z",
+                name: "Burundi"
+            },
+            BJ: {
+                path: "M429.57,255.75l-0.05,0.8l0.5,1.34l-0.42,0.86l0.17,0.79l-1.81,2.12l-0.57,1.76l-0.08,5.42l-1.41,0.2l-0.48,-1.36l0.11,-5.71l-0.52,-0.7l-0.2,-1.35l-1.48,-1.48l0.21,-0.9l0.89,-0.43l0.42,-0.92l1.27,-0.36l1.22,-1.34l0.61,-0.0l1.62,1.24Z",
+                name: "Benin"
+            },
+            BT: {
+                path: "M650.32,213.86l0.84,0.71l-0.12,1.1l-3.76,-0.11l-1.57,0.4l-1.93,-0.87l1.48,-1.96l1.13,-0.57l1.63,0.57l1.33,0.08l0.99,0.65Z",
+                name: "Bhutan"
+            },
+            JM: {
+                path: "M228.38,239.28l-0.8,0.4l-2.26,-1.06l0.84,-0.23l2.14,0.3l1.17,0.56l-1.08,0.03Z",
+                name: "Jamaica"
+            },
+            BW: {
+                path: "M483.92,330.07l2.27,4.01l2.83,2.86l0.96,0.31l0.78,2.43l2.13,0.61l1.02,0.76l-3.0,1.64l-2.32,2.02l-1.54,2.69l-1.52,0.45l-0.64,1.94l-1.34,0.52l-1.85,-0.12l-1.21,-0.74l-1.35,-0.3l-1.22,0.62l-0.75,1.37l-2.31,1.9l-1.4,0.21l-0.35,-0.59l0.16,-1.75l-1.48,-2.54l-0.62,-0.43l-0.0,-7.1l2.08,-0.08l0.39,-0.4l0.07,-8.9l5.19,-0.93l0.8,0.89l0.51,0.07l1.5,-0.95l2.21,-0.49Z",
+                name: "Botswana"
+            },
+            BR: {
+                path: "M259.98,275.05l3.24,0.7l0.65,-0.53l4.55,-1.32l1.08,-1.06l-0.02,-0.63l0.55,-0.05l0.28,0.28l-0.26,0.87l0.22,0.48l0.73,0.32l0.4,0.81l-0.62,0.86l-0.4,2.13l0.82,2.56l1.69,1.43l1.43,0.2l3.17,-1.68l3.18,0.3l0.65,-0.75l-0.27,-0.92l1.9,-0.09l2.39,0.99l1.06,-0.61l0.84,0.78l1.2,-0.18l1.18,-1.06l0.84,-1.94l1.36,-2.11l0.37,-0.05l1.89,5.45l1.33,0.59l0.05,1.28l-1.77,1.94l0.02,0.56l1.02,0.87l4.07,0.36l0.08,2.16l0.66,0.29l1.74,-1.5l6.97,2.32l1.02,1.22l-0.35,1.18l0.49,0.5l2.81,-0.74l4.77,1.3l3.75,-0.08l3.57,2.0l3.29,2.86l1.93,0.72l2.12,0.12l0.71,0.62l1.21,4.51l-0.95,3.98l-4.72,5.06l-1.64,2.92l-1.72,2.05l-0.8,0.3l-0.72,2.03l0.18,4.75l-0.94,5.53l-0.81,1.13l-0.43,3.36l-2.55,3.5l-0.4,2.51l-1.86,1.04l-0.67,1.53l-2.54,0.01l-3.94,1.01l-1.83,1.2l-2.87,0.82l-3.03,2.19l-2.2,2.83l-0.36,2.0l0.4,1.58l-0.44,2.6l-0.51,1.2l-1.77,1.54l-2.75,4.78l-3.83,3.42l-1.24,2.74l-1.18,1.15l-0.36,-0.83l0.95,-1.14l0.01,-0.5l-1.52,-1.97l-4.56,-3.32l-1.03,-0.0l-2.38,-2.02l-0.81,-0.0l5.34,-5.45l3.77,-2.58l0.22,-2.46l-1.35,-1.81l-0.91,0.07l0.58,-2.33l0.01,-1.54l-1.11,-0.83l-1.75,0.3l-0.44,-3.11l-0.52,-0.95l-1.88,-0.88l-1.24,0.47l-2.17,-0.41l0.15,-3.21l-0.62,-1.34l0.66,-0.73l-0.22,-1.34l0.66,-1.13l0.44,-2.04l-0.61,-1.83l-1.4,-0.86l-0.2,-0.75l0.34,-1.39l-0.38,-0.5l-4.52,-0.1l-0.72,-2.22l0.59,-0.42l-0.03,-1.1l-0.5,-0.87l-0.32,-1.7l-1.45,-0.76l-1.63,-0.02l-1.05,-0.72l-1.6,-0.48l-1.13,-0.99l-2.69,-0.4l-2.47,-2.06l0.13,-4.35l-0.45,-0.45l-3.46,0.5l-3.44,1.94l-0.6,0.74l-2.9,-0.17l-1.47,0.42l-0.72,-0.18l0.15,-3.52l-0.63,-0.34l-1.94,1.41l-1.87,-0.06l-0.83,-1.18l-1.37,-0.26l0.21,-1.01l-1.35,-1.49l-0.88,-1.91l0.56,-0.6l-0.0,-0.81l1.29,-0.62l0.22,-0.43l-0.22,-1.19l0.61,-0.91l0.15,-0.99l2.65,-1.58l1.99,-0.47l0.42,-0.36l2.06,0.11l0.42,-0.33l1.19,-8.0l-0.41,-1.56l-1.1,-1.0l0.01,-1.33l1.91,-0.42l0.08,-0.96l-0.33,-0.43l-1.14,-0.2l-0.02,-0.83l4.47,0.05l0.82,-0.67l0.82,1.81l0.8,0.07l1.15,1.1l2.26,-0.05l0.71,-0.83l2.78,-0.96l0.48,-1.13l1.6,-0.64l0.24,-0.47l-0.48,-0.82l-1.83,-0.19l-0.36,-3.22Z",
+                name: "Brazil"
+            },
+            BS: {
+                path: "M226.4,223.87l-0.48,-1.15l-0.84,-0.75l0.36,-1.11l0.95,1.95l0.01,1.06ZM225.56,216.43l-1.87,0.29l-0.04,-0.22l0.74,-0.14l1.17,0.06Z",
+                name: "Bahamas"
+            },
+            BY: {
+                path: "M493.84,128.32l0.29,0.7l0.49,0.23l1.19,-0.38l2.09,0.72l0.19,1.26l-0.45,1.24l1.57,2.26l0.89,0.59l0.17,0.81l1.58,0.56l0.4,0.5l-0.53,0.41l-1.87,-0.11l-0.73,0.38l-0.13,0.52l1.04,2.74l-1.91,0.26l-0.89,0.99l-0.11,1.18l-2.73,-0.04l-0.53,-0.62l-0.52,-0.08l-0.75,0.46l-0.91,-0.42l-1.92,-0.07l-2.75,-0.79l-2.6,-0.28l-2.0,0.07l-1.5,0.92l-0.67,0.07l-0.08,-1.22l-0.59,-1.19l1.36,-0.88l0.01,-1.35l-0.7,-1.41l-0.07,-1.0l2.16,-0.02l2.72,-1.3l0.75,-2.04l1.91,-1.04l0.2,-0.41l-0.19,-1.25l3.8,-1.78l2.3,0.77Z",
+                name: "Belarus"
+            },
+            BZ: {
+                path: "M198.03,244.38l0.1,-4.49l0.69,-0.06l0.74,-1.3l0.34,0.28l-0.4,1.3l0.17,0.58l-0.34,2.25l-1.3,1.42Z",
+                name: "Belize"
+            },
+            RU: {
+                path: "M491.55,115.25l2.55,-1.85l-0.01,-0.65l-2.2,-1.5l7.32,-6.76l1.03,-2.11l-0.13,-0.49l-3.46,-2.52l0.86,-2.7l-2.11,-2.81l1.56,-3.67l-2.77,-4.52l2.15,-2.99l-0.08,-0.55l-3.65,-2.73l0.3,-2.54l1.81,-0.37l4.26,-1.77l2.42,-1.45l4.06,2.61l6.79,1.04l9.34,4.85l1.78,1.88l0.14,2.46l-2.55,2.02l-3.9,1.06l-11.07,-3.14l-2.06,0.53l-0.13,0.7l3.94,2.94l0.31,5.86l0.26,0.36l5.14,2.24l0.58,-0.29l0.32,-1.94l-1.35,-1.78l1.13,-1.09l6.13,2.42l2.11,-0.98l0.18,-0.56l-1.51,-2.67l5.41,-3.76l2.07,0.22l2.26,1.41l0.57,-0.16l1.46,-2.87l-0.05,-0.44l-1.92,-2.32l1.12,-2.32l-1.32,-2.27l5.87,1.16l1.04,1.75l-2.59,0.43l-0.33,0.4l0.02,2.36l2.46,1.83l3.87,-0.91l0.86,-2.8l13.69,-5.65l0.99,0.11l-1.92,2.06l0.23,0.67l3.11,0.45l2.0,-1.48l4.56,-0.12l3.64,-1.73l2.65,2.44l0.56,-0.01l2.85,-2.88l-0.01,-0.57l-2.35,-2.29l0.9,-1.01l7.14,1.3l3.41,1.36l9.05,4.97l0.51,-0.11l1.67,-2.27l-0.05,-0.53l-2.43,-2.21l-0.06,-0.78l-0.34,-0.36l-2.52,-0.36l0.64,-1.93l-1.32,-3.46l-0.06,-1.21l4.48,-4.06l1.69,-4.29l1.6,-0.81l6.23,1.18l0.44,2.21l-2.29,3.64l0.06,0.5l1.47,1.39l0.76,3.0l-0.56,6.03l2.69,2.82l-0.96,2.57l-4.86,5.95l0.23,0.64l2.86,0.61l0.42,-0.17l0.93,-1.4l2.64,-1.03l0.87,-2.24l2.09,-1.96l0.07,-0.5l-1.36,-2.28l1.09,-2.69l-0.32,-0.55l-2.47,-0.33l-0.5,-2.06l1.94,-4.38l-0.06,-0.42l-2.96,-3.4l4.12,-2.88l0.16,-0.4l-0.51,-2.93l0.54,-0.05l1.13,2.25l-0.96,4.35l0.27,0.47l2.68,0.84l0.5,-0.51l-1.02,-2.99l3.79,-1.66l5.01,-0.24l4.53,2.61l0.48,-0.06l0.07,-0.48l-2.18,-3.82l-0.23,-4.67l3.98,-0.9l5.97,0.21l5.49,-0.64l0.27,-0.65l-1.83,-2.31l2.56,-2.9l2.87,-0.17l4.8,-2.47l6.54,-0.67l1.03,-1.42l6.25,-0.45l2.32,1.11l5.53,-2.7l4.5,0.08l0.39,-0.28l0.66,-2.15l2.26,-2.12l5.69,-2.11l3.21,1.29l-2.46,0.94l-0.25,0.42l0.34,0.35l5.41,0.77l0.61,2.33l0.58,0.25l2.2,-1.22l7.13,0.07l5.51,2.47l1.79,1.72l-0.53,2.24l-9.16,4.15l-1.97,1.52l0.16,0.71l6.77,1.91l2.16,-0.78l1.13,2.74l0.67,0.11l1.01,-1.15l3.81,-0.73l7.7,0.77l0.54,1.99l0.36,0.29l10.47,0.71l0.43,-0.38l0.13,-3.23l4.87,0.78l3.95,-0.02l3.83,2.4l1.03,2.71l-1.35,1.79l0.02,0.5l3.15,3.64l4.07,1.96l0.53,-0.18l2.23,-4.47l3.95,1.93l4.16,-1.21l4.73,1.39l2.05,-1.26l3.94,0.62l0.43,-0.55l-1.68,-4.02l2.89,-1.8l22.31,3.03l2.16,2.75l6.55,3.51l10.29,-0.81l4.82,0.73l1.85,1.66l-0.29,3.08l0.25,0.41l3.08,1.26l3.56,-0.88l4.35,-0.11l4.8,0.87l4.57,-0.47l4.23,3.79l0.43,0.07l3.1,-1.4l0.16,-0.6l-1.88,-2.62l0.85,-1.52l7.71,1.21l5.22,-0.26l7.09,2.09l9.59,5.22l6.35,4.11l-0.2,2.38l1.88,1.41l0.6,-0.42l-0.48,-2.53l6.15,0.57l4.4,3.51l-1.97,1.43l-4.0,0.41l-0.36,0.39l-0.06,3.79l-0.74,0.62l-2.07,-0.11l-1.91,-1.39l-3.14,-1.11l-0.78,-1.85l-2.72,-0.68l-2.63,0.49l-1.04,-1.1l0.46,-1.31l-0.5,-0.51l-3.0,0.98l-0.22,0.58l0.99,1.7l-1.21,1.48l-3.04,1.68l-3.12,-0.28l-0.4,0.23l0.09,0.46l2.2,2.09l1.46,3.2l1.15,1.1l0.24,1.33l-0.42,0.67l-4.63,-0.77l-6.96,2.9l-2.19,0.44l-7.6,5.06l-0.84,1.45l-3.61,-2.37l-6.24,2.82l-0.94,-1.15l-0.53,-0.08l-2.28,1.52l-3.2,-0.49l-0.44,0.27l-0.78,2.37l-3.05,3.78l0.09,1.47l0.29,0.36l2.54,0.72l-0.29,4.53l-1.97,0.11l-0.35,0.26l-1.07,2.94l0.8,1.45l-3.91,1.58l-1.05,3.95l-3.48,0.77l-0.3,0.3l-0.72,3.29l-3.09,2.65l-0.7,-1.74l-2.44,-12.44l1.16,-4.71l2.04,-2.06l0.22,-1.64l3.8,-0.86l4.46,-4.61l4.28,-3.81l4.48,-3.01l2.17,-5.63l-0.42,-0.54l-3.04,0.33l-1.77,3.31l-5.86,3.86l-1.86,-4.25l-0.45,-0.23l-6.46,1.3l-6.47,6.44l-0.01,0.55l1.58,1.74l-8.24,1.17l0.15,-2.2l-0.34,-0.42l-3.89,-0.56l-3.25,1.81l-7.62,-0.62l-8.45,1.19l-17.71,15.41l0.22,0.7l3.74,0.41l1.36,2.17l2.43,0.76l1.88,-1.68l2.4,0.2l3.4,3.54l0.08,2.6l-1.95,3.42l-0.21,3.9l-1.1,5.06l-3.71,4.54l-0.87,2.21l-8.29,8.89l-3.19,1.7l-1.32,0.03l-1.45,-1.36l-0.49,-0.04l-2.27,1.5l0.41,-3.65l-0.59,-2.47l1.75,-0.89l2.91,0.53l0.42,-0.2l1.68,-3.03l0.87,-3.46l0.97,-1.18l1.32,-2.88l-0.45,-0.56l-4.14,0.95l-2.19,1.25l-3.41,-0.0l-1.06,-2.93l-2.97,-2.3l-4.28,-1.06l-1.75,-5.07l-2.66,-5.01l-2.29,-1.29l-3.75,-1.01l-3.44,0.08l-3.18,0.62l-2.24,1.77l0.05,0.66l1.18,0.69l0.02,1.43l-1.33,1.05l-2.26,3.51l-0.04,1.43l-3.16,1.84l-2.82,-1.16l-3.01,0.23l-1.35,-1.07l-1.5,-0.35l-3.9,2.31l-3.22,0.52l-2.27,0.79l-3.05,-0.51l-2.21,0.03l-1.48,-1.6l-2.6,-1.63l-2.63,-0.43l-5.46,1.01l-3.23,-1.25l-0.72,-2.57l-5.2,-1.24l-2.75,-1.36l-0.5,0.12l-2.59,3.45l0.84,2.1l-2.06,1.93l-3.41,-0.77l-2.42,-0.12l-1.83,-1.54l-2.53,-0.05l-2.42,-0.98l-3.86,1.57l-4.72,2.78l-3.3,0.75l-1.55,-1.92l-3.0,0.41l-1.11,-1.33l-1.62,-0.59l-1.31,-1.94l-1.38,-0.6l-3.7,0.79l-3.31,-1.83l-0.51,0.11l-0.99,1.29l-5.29,-8.05l-2.96,-2.48l0.65,-0.77l0.01,-0.51l-0.5,-0.11l-6.2,3.21l-1.84,0.15l0.15,-1.39l-0.26,-0.42l-3.22,-1.17l-2.46,0.7l-0.69,-3.16l-0.32,-0.31l-4.5,-0.75l-2.47,1.47l-6.19,1.27l-1.29,0.86l-9.51,1.3l-1.15,1.17l-0.03,0.53l1.47,1.9l-1.89,0.69l-0.22,0.56l0.31,0.6l-2.11,1.44l0.03,0.68l3.75,2.12l-0.39,0.98l-3.23,-0.13l-0.86,0.86l-3.09,-1.59l-3.97,0.07l-2.66,1.35l-8.32,-3.56l-4.07,0.06l-5.39,3.68l-0.39,2.0l-2.03,-1.5l-0.59,0.13l-2.0,3.59l0.57,0.93l-1.28,2.16l0.06,0.48l2.13,2.17l1.95,0.04l1.37,1.82l-0.23,1.46l0.25,0.43l0.83,0.33l-0.8,1.31l-2.49,0.62l-2.49,3.2l0.0,0.49l2.17,2.78l-0.15,2.18l2.5,3.24l-1.58,1.59l-0.7,-0.13l-1.63,-1.72l-2.29,-0.84l-0.94,-1.31l-2.34,-0.63l-1.48,0.4l-0.43,-0.47l-3.51,-1.48l-5.76,-1.01l-0.45,0.19l-2.89,-2.34l-2.9,-1.2l-1.53,-1.29l1.29,-0.43l2.08,-2.61l-0.05,-0.55l-0.89,-0.79l3.05,-1.06l0.27,-0.42l-0.07,-0.69l-0.49,-0.35l-1.73,0.39l0.04,-0.68l1.04,-0.72l2.66,-0.48l0.4,-1.32l-0.5,-1.6l0.92,-1.54l0.03,-1.17l-0.29,-0.37l-3.69,-1.06l-1.41,0.02l-1.42,-1.41l-2.19,0.38l-2.77,-1.01l-0.03,-0.59l-0.89,-1.43l-2.0,-0.32l-0.11,-0.54l0.49,-0.53l0.01,-0.53l-1.6,-1.9l-3.58,0.02l-0.88,0.73l-0.46,-0.07l-1.0,-2.79l2.22,-0.02l0.97,-0.74l0.07,-0.57l-0.9,-1.04l-1.35,-0.48l-0.11,-0.7l-0.95,-0.58l-1.38,-1.99l0.46,-0.98l-0.51,-1.96l-2.45,-0.84l-1.21,0.3l-0.46,-0.76l-2.46,-0.83l-0.72,-1.87l-0.21,-1.69l-0.99,-0.85l0.85,-1.17l-0.7,-3.21l1.66,-1.97l-0.16,-0.79ZM749.2,170.72l-0.6,0.4l-0.13,0.16l-0.01,-0.51l0.74,-0.05ZM874.85,67.94l-5.63,0.48l-0.26,-0.84l3.15,-1.89l1.94,0.01l3.19,1.16l-2.39,1.09ZM797.39,48.49l-2.0,1.36l-3.8,-0.42l-4.25,-1.8l0.35,-0.97l9.69,1.83ZM783.67,46.12l-1.63,3.09l-8.98,-0.13l-4.09,1.14l-4.54,-2.97l1.16,-3.01l3.05,-0.89l6.5,0.22l8.54,2.56ZM778.2,134.98l-0.56,-0.9l0.27,-0.12l0.29,1.01ZM778.34,135.48l0.94,3.53l-0.05,3.38l1.05,3.39l2.18,5.0l-2.89,-0.83l-0.49,0.26l-1.54,4.65l2.42,3.5l-0.04,1.13l-1.24,-1.24l-0.61,0.06l-1.09,1.61l-0.28,-1.61l0.27,-3.1l-0.28,-3.4l0.58,-2.47l0.11,-4.39l-1.46,-3.36l0.21,-4.32l2.15,-1.46l0.07,-0.34ZM771.95,56.61l1.76,-1.42l2.89,-0.42l3.28,1.71l0.14,0.6l-3.27,0.03l-4.81,-0.5ZM683.76,31.09l-13.01,1.93l4.03,-6.35l1.82,-0.56l1.73,0.34l5.99,2.98l-0.56,1.66ZM670.85,27.93l-5.08,0.64l-6.86,-1.57l-3.99,-2.05l-2.1,-4.16l-2.6,-0.87l5.72,-3.5l5.2,-1.28l4.69,2.85l5.59,5.4l-0.56,4.53ZM564.15,68.94l-0.64,0.17l-7.85,-0.57l-0.86,-2.04l-4.28,-1.17l-0.28,-1.94l2.27,-0.89l0.25,-0.39l-0.08,-2.38l4.81,-3.97l-0.15,-0.7l-1.47,-0.38l5.3,-3.81l0.15,-0.44l-0.58,-1.94l5.28,-2.51l8.21,-3.27l8.28,-0.96l4.35,-1.94l4.6,-0.64l1.36,1.61l-1.34,1.28l-16.43,4.94l-7.97,4.88l-7.74,9.63l0.66,4.14l4.16,3.27ZM548.81,18.48l-5.5,1.18l-0.58,1.02l-2.59,0.84l-2.13,-1.07l1.12,-1.42l-0.3,-0.65l-2.33,-0.07l1.68,-0.36l3.47,-0.06l0.42,1.29l0.66,0.16l1.38,-1.34l2.15,-0.88l2.94,1.01l-0.39,0.36ZM477.37,133.15l-4.08,0.05l-2.56,-0.32l0.33,-0.87l3.17,-1.03l3.24,0.96l-0.09,1.23Z",
+                name: "Russia"
+            },
+            RW: {
+                path: "M497.0,288.25l0.71,1.01l-0.11,1.09l-1.63,0.03l-1.04,1.39l-0.83,-0.11l0.51,-1.2l0.08,-1.34l0.42,-0.41l0.7,0.14l1.19,-0.61Z",
+                name: "Rwanda"
+            },
+            RS: {
+                path: "M469.4,163.99l0.42,-0.5l-0.01,-0.52l-1.15,-1.63l1.43,-0.62l1.33,0.12l1.17,1.06l0.46,1.13l1.34,0.64l0.35,1.35l1.46,0.9l0.76,-0.29l0.2,0.69l-0.48,0.78l0.22,1.12l1.05,1.22l-0.77,0.8l-0.37,1.52l-1.21,0.08l0.24,-0.64l-0.39,-0.54l-2.08,-1.64l-0.9,0.05l-0.48,0.94l-2.12,-1.37l0.53,-1.6l-1.11,-1.37l0.51,-1.1l-0.41,-0.57Z",
+                name: "Serbia"
+            },
+            LT: {
+                path: "M486.93,129.3l0.17,1.12l-1.81,0.98l-0.72,2.02l-2.47,1.18l-2.1,-0.02l-0.73,-1.05l-1.06,-0.3l-0.09,-1.87l-3.56,-1.13l-0.43,-2.36l2.48,-0.94l4.12,0.22l2.25,-0.31l0.52,0.69l1.24,0.21l2.19,1.56Z",
+                name: "Lithuania"
+            },
+            LU: {path: "M436.08,149.45l-0.48,-0.07l0.3,-1.28l0.27,0.4l-0.09,0.96Z", name: "Luxembourg"},
+            LR: {
+                path: "M399.36,265.97l0.18,1.54l-0.48,0.99l0.08,0.47l2.47,1.8l-0.33,2.8l-2.65,-1.13l-5.78,-4.61l0.58,-1.32l2.1,-2.33l0.86,-0.22l0.77,1.14l-0.14,0.85l0.59,0.87l1.0,0.14l0.76,-0.99Z",
+                name: "Liberia"
+            },
+            RO: {
+                path: "M487.53,154.23l0.6,0.24l2.87,3.98l-0.17,2.69l0.45,1.42l1.32,0.81l1.35,-0.42l0.76,0.36l0.02,0.31l-0.83,0.45l-0.59,-0.22l-0.54,0.3l-0.62,3.3l-1.0,-0.22l-2.07,-1.13l-2.95,0.71l-1.25,0.76l-3.51,-0.15l-1.89,-0.47l-0.87,0.16l-0.82,-1.3l0.29,-0.26l-0.06,-0.64l-1.09,-0.34l-0.56,0.5l-1.05,-0.64l-0.39,-1.39l-1.36,-0.65l-0.35,-1.0l-0.83,-0.75l1.54,-0.54l2.66,-4.21l2.4,-1.24l2.96,0.34l1.48,0.73l0.79,-0.45l1.78,-0.3l0.75,-0.74l0.79,0.0Z",
+                name: "Romania"
+            },
+            GW: {
+                path: "M386.23,253.6l-0.29,0.84l0.15,0.6l-2.21,0.59l-0.86,0.96l-1.04,-0.83l-1.09,-0.23l-0.54,-1.06l-0.66,-0.49l2.41,-0.48l4.13,0.1Z",
+                name: "Guinea-Bissau"
+            },
+            GT: {
+                path: "M195.08,249.77l-2.48,-0.37l-1.03,-0.45l-1.14,-0.89l0.3,-0.99l-0.24,-0.68l0.96,-1.66l2.98,-0.01l0.4,-0.37l-0.19,-1.28l-1.67,-1.4l0.51,-0.4l0.0,-1.05l3.85,0.02l-0.21,4.53l0.4,0.43l1.46,0.38l-1.48,0.98l-0.35,0.7l0.12,0.57l-2.2,1.96Z",
+                name: "Guatemala"
+            },
+            GR: {
+                path: "M487.07,174.59l-0.59,1.43l-0.37,0.21l-2.84,-0.35l-3.03,0.77l-0.18,0.68l1.28,1.23l-0.61,0.23l-1.14,0.0l-1.2,-1.39l-0.63,0.03l-0.53,1.01l0.56,1.76l1.03,1.19l-0.56,0.38l-0.05,0.62l2.52,2.12l0.02,0.87l-1.78,-0.59l-0.48,0.56l0.5,1.0l-1.07,0.2l-0.3,0.53l0.75,2.01l-0.98,0.02l-1.84,-1.12l-1.37,-4.2l-2.21,-2.95l-0.11,-0.56l1.04,-1.28l0.2,-0.95l0.85,-0.66l0.03,-0.46l1.32,-0.21l1.01,-0.64l1.22,0.05l0.65,-0.56l2.26,-0.0l1.82,-0.75l1.85,1.0l2.28,-0.28l0.35,-0.39l0.01,-0.77l0.34,0.22ZM480.49,192.16l0.58,0.4l-0.68,-0.12l0.11,-0.28ZM482.52,192.82l2.51,0.06l0.24,0.32l-1.99,0.13l-0.77,-0.51Z",
+                name: "Greece"
+            },
+            GQ: {path: "M448.79,279.62l0.02,2.22l-4.09,0.0l0.69,-2.27l3.38,0.05Z", name: "Eq. Guinea"},
+            GY: {
+                path: "M277.42,270.07l-0.32,1.83l-1.32,0.57l-0.23,0.46l-0.28,2.0l1.11,1.82l0.83,0.19l0.32,1.25l1.13,1.62l-1.21,-0.19l-1.08,0.71l-1.77,0.5l-0.44,0.46l-0.86,-0.09l-1.32,-1.01l-0.77,-2.27l0.36,-1.9l0.68,-1.23l-0.57,-1.17l-0.74,-0.43l0.12,-1.16l-0.9,-0.69l-1.1,0.09l-1.31,-1.48l0.53,-0.72l-0.04,-0.84l1.99,-0.86l0.05,-0.59l-0.71,-0.78l0.14,-0.57l1.66,-1.24l1.36,0.77l1.41,1.49l0.06,1.15l0.37,0.38l0.8,0.05l2.06,1.86Z",
+                name: "Guyana"
+            },
+            GE: {
+                path: "M521.71,168.93l5.29,0.89l4.07,2.01l1.41,-0.44l2.07,0.56l0.68,1.1l1.07,0.55l-0.12,0.59l0.98,1.29l-1.01,-0.13l-1.81,-0.83l-0.94,0.47l-3.23,0.43l-2.29,-1.39l-2.33,0.05l0.21,-0.97l-0.76,-2.26l-1.45,-1.12l-1.43,-0.39l-0.41,-0.42Z",
+                name: "Georgia"
+            },
+            GB: {
+                path: "M412.61,118.72l-2.19,3.22l-0.0,0.45l5.13,-0.3l-0.53,2.37l-2.2,3.12l0.29,0.63l2.37,0.21l2.33,4.3l1.76,0.69l2.2,5.12l2.94,0.77l-0.23,1.62l-1.15,0.88l-0.1,0.52l0.82,1.42l-1.86,1.43l-3.3,-0.02l-4.12,0.87l-1.04,-0.58l-0.47,0.06l-1.51,1.41l-2.12,-0.34l-1.86,1.18l-0.6,-0.29l3.19,-3.0l2.16,-0.69l0.28,-0.41l-0.34,-0.36l-3.73,-0.53l-0.4,-0.76l2.2,-0.87l0.17,-0.61l-1.26,-1.67l0.36,-1.7l3.38,0.28l0.43,-0.33l0.37,-1.99l-1.79,-2.49l-3.11,-0.72l-0.38,-0.59l0.79,-1.35l-0.04,-0.46l-0.82,-0.97l-0.61,0.01l-0.68,0.84l-0.1,-2.34l-1.23,-1.88l0.85,-3.47l1.77,-2.68l1.85,0.26l2.17,-0.22ZM406.26,132.86l-1.01,1.77l-1.57,-0.59l-1.16,0.01l0.37,-1.54l-0.39,-1.39l1.45,-0.1l2.3,1.84Z",
+                name: "United Kingdom"
+            },
+            GA: {
+                path: "M453.24,279.52l-0.08,0.98l0.7,1.29l2.36,0.24l-0.98,2.63l1.18,1.79l0.25,1.78l-0.29,1.52l-0.6,0.93l-1.84,-0.09l-1.23,-1.11l-0.66,0.23l-0.15,0.84l-1.42,0.26l-1.02,0.7l-0.11,0.52l0.77,1.35l-1.34,0.97l-3.94,-4.3l-1.44,-2.45l0.06,-0.6l0.54,-0.81l1.05,-3.46l4.17,-0.07l0.4,-0.4l-0.02,-2.66l2.39,0.21l1.25,-0.27Z",
+                name: "Gabon"
+            },
+            GN: {
+                path: "M391.8,254.11l0.47,0.8l1.11,-0.32l0.98,0.7l1.07,0.2l2.26,-1.22l0.64,0.44l1.13,1.56l-0.48,1.4l0.8,0.3l-0.08,0.48l0.46,0.68l-0.35,1.36l1.05,2.61l-1.0,0.69l0.03,1.41l-0.72,-0.06l-1.08,1.0l-0.24,-0.27l0.07,-1.11l-1.05,-1.54l-1.79,0.21l-0.35,-2.01l-1.6,-2.18l-2.0,-0.0l-1.31,0.54l-1.95,2.18l-1.86,-2.19l-1.2,-0.78l-0.3,-1.11l-0.8,-0.85l0.65,-0.72l0.81,-0.03l1.64,-0.8l0.23,-1.87l2.67,0.64l0.89,-0.3l1.21,0.15Z",
+                name: "Guinea"
+            },
+            GM: {
+                path: "M379.31,251.39l0.1,-0.35l2.43,-0.07l0.74,-0.61l0.51,-0.03l0.77,0.49l-1.03,-0.3l-1.87,0.9l-1.65,-0.04ZM384.03,250.91l0.91,0.05l0.75,-0.24l-0.59,0.31l-1.08,-0.13Z",
+                name: "Gambia"
+            },
+            GL: {
+                path: "M353.02,1.2l14.69,4.67l-3.68,1.89l-22.97,0.86l-0.36,0.27l0.12,0.43l1.55,1.18l8.79,-0.66l7.48,2.07l4.86,-1.77l1.66,1.73l-2.53,3.19l-0.01,0.48l0.46,0.15l6.35,-2.2l12.06,-2.31l7.24,1.13l1.09,1.99l-9.79,4.01l-1.44,1.32l-7.87,0.98l-0.35,0.41l0.38,0.38l5.07,0.24l-2.53,3.58l-2.07,3.81l0.08,6.05l2.57,3.11l-3.22,0.2l-4.12,1.66l-0.05,0.72l4.45,2.65l0.51,3.75l-2.3,0.4l-0.25,0.64l2.79,3.69l-4.82,0.31l-0.36,0.29l0.16,0.44l2.62,1.8l-0.59,1.22l-3.3,0.7l-3.45,0.01l-0.29,0.68l3.03,3.12l0.02,1.34l-4.4,-1.73l-1.72,1.35l0.15,0.66l3.31,1.15l3.13,2.71l0.81,3.16l-3.85,0.75l-4.89,-4.26l-0.47,-0.03l-0.17,0.44l0.79,2.86l-2.71,2.21l-0.13,0.44l0.37,0.27l8.73,0.34l-12.32,6.64l-7.24,1.48l-2.94,0.08l-2.69,1.75l-3.43,4.41l-5.24,2.84l-1.73,0.18l-7.12,2.1l-2.15,2.52l-0.13,2.99l-1.19,2.45l-4.01,3.09l-0.14,0.44l0.97,2.9l-2.28,6.48l-3.1,0.2l-3.83,-3.07l-4.86,-0.02l-2.25,-1.93l-1.7,-3.79l-4.3,-4.84l-1.21,-2.49l-0.44,-3.8l-3.32,-3.63l0.84,-2.86l-1.56,-1.7l2.28,-4.6l3.83,-1.74l1.03,-1.96l0.52,-3.47l-0.59,-0.41l-4.17,2.21l-2.07,0.58l-2.72,-1.28l-0.15,-2.71l0.85,-2.09l2.01,-0.06l5.06,1.2l0.46,-0.23l-0.14,-0.49l-6.54,-4.47l-2.67,0.55l-1.58,-0.86l2.56,-4.01l-0.03,-0.48l-1.5,-1.74l-4.98,-8.5l-3.13,-1.96l0.03,-1.88l-0.24,-0.37l-6.85,-3.02l-5.36,-0.38l-12.7,0.58l-2.78,-1.57l-3.66,-2.77l5.73,-1.45l5.0,-0.28l0.38,-0.38l-0.35,-0.41l-10.67,-1.38l-5.3,-2.06l0.25,-1.54l18.41,-5.26l1.22,-2.27l-0.25,-0.55l-6.14,-1.86l1.68,-1.77l8.55,-4.03l3.59,-0.63l0.3,-0.54l-0.88,-2.27l5.47,-1.47l7.65,-0.95l7.55,-0.05l3.04,1.85l6.48,-3.27l5.81,2.22l3.56,0.5l5.16,1.94l0.5,-0.21l-0.17,-0.52l-5.71,-3.13l0.28,-2.13l8.12,-3.6l8.7,0.28l3.35,-2.34l8.71,-0.6l19.93,0.8Z",
+                name: "Greenland"
+            },
+            KW: {
+                path: "M540.81,207.91l0.37,0.86l-0.17,0.76l0.6,1.53l-0.95,0.04l-0.82,-1.28l-1.57,-0.18l1.31,-1.88l1.22,0.17Z",
+                name: "Kuwait"
+            },
+            GH: {
+                path: "M420.53,257.51l-0.01,0.72l0.96,1.2l0.24,3.73l0.59,0.95l-0.51,2.1l0.19,1.41l1.02,2.21l-6.97,2.84l-1.8,-0.57l0.04,-0.89l-1.02,-2.04l0.61,-2.65l1.07,-2.32l-0.96,-6.47l5.01,0.07l0.94,-0.39l0.61,0.11Z",
+                name: "Ghana"
+            },
+            OM: {
+                path: "M568.09,230.93l-0.91,1.67l-1.22,0.04l-0.6,0.76l-0.41,1.51l0.27,1.58l-1.16,0.05l-1.56,0.97l-0.76,1.74l-1.62,0.05l-0.98,0.65l-0.17,1.15l-0.89,0.52l-1.49,-0.18l-2.4,0.94l-2.47,-5.4l7.35,-2.71l1.67,-5.23l-1.12,-2.09l0.05,-0.83l0.67,-1.0l0.07,-1.05l0.9,-0.42l-0.05,-2.07l0.7,-0.01l1.0,1.62l1.51,1.08l3.3,0.84l1.73,2.29l0.81,0.37l-1.23,2.35l-0.99,0.79Z",
+                name: "Oman"
+            },
+            _2: {
+                path: "M531.15,258.94l1.51,0.12l5.13,-0.95l5.3,-1.48l-0.01,4.4l-2.67,3.39l-1.85,0.01l-8.04,-2.94l-2.55,-3.17l1.12,-1.71l2.04,2.34Z",
+                name: "Somaliland"
+            },
+            _1: {
+                path: "M472.77,172.64l-1.08,-1.29l0.96,-0.77l0.29,-0.83l1.98,1.64l-0.36,0.67l-1.79,0.58Z",
+                name: "Kosovo"
+            },
+            _0: {path: "M504.91,192.87l0.34,0.01l0.27,-0.07l-0.29,0.26l-0.31,-0.2Z", name: "N. Cyprus"},
+            JO: {
+                path: "M518.64,201.38l-5.14,1.56l-0.19,0.65l2.16,2.39l-0.89,1.14l-1.71,0.34l-1.71,1.8l-2.34,-0.37l1.21,-4.32l0.56,-4.07l2.8,0.94l4.46,-2.71l0.79,2.66Z",
+                name: "Jordan"
+            },
+            HR: {
+                path: "M455.59,162.84l1.09,0.07l-0.82,0.94l-0.27,-1.01ZM456.96,162.92l0.62,-0.41l1.73,0.45l0.42,-0.4l-0.01,-0.59l0.86,-0.52l0.2,-1.05l1.63,-0.68l2.57,1.68l2.07,0.6l0.87,-0.31l1.05,1.57l-0.52,0.63l-1.05,-0.56l-1.68,0.04l-2.1,-0.5l-1.29,0.06l-0.57,0.49l-0.59,-0.47l-0.62,0.16l-0.46,1.7l1.79,2.42l2.79,2.75l-1.18,-0.87l-2.21,-0.87l-1.67,-1.78l0.13,-0.63l-1.05,-1.19l-0.32,-1.27l-1.42,-0.43Z",
+                name: "Croatia"
+            },
+            HT: {
+                path: "M237.05,238.38l-1.16,0.43l-0.91,-0.55l0.05,-0.2l2.02,0.31ZM237.53,238.43l1.06,0.12l-0.05,0.01l-1.01,-0.12ZM239.25,238.45l0.79,-0.51l0.06,-0.62l-1.02,-1.0l0.02,-0.82l-0.3,-0.4l-0.93,-0.32l3.16,0.45l0.02,1.84l-0.48,0.34l-0.08,0.58l0.54,0.72l-1.78,-0.26Z",
+                name: "Haiti"
+            },
+            HU: {
+                path: "M462.08,157.89l0.65,-1.59l-0.09,-0.44l0.64,-0.0l0.39,-0.34l0.1,-0.69l1.75,0.87l2.32,-0.37l0.43,-0.66l3.49,-0.78l0.69,-0.78l0.57,-0.14l2.57,0.93l0.67,-0.23l1.03,0.65l0.08,0.37l-1.42,0.71l-2.59,4.14l-1.8,0.53l-1.68,-0.1l-2.74,1.23l-1.85,-0.54l-2.54,-1.66l-0.66,-1.1Z",
+                name: "Hungary"
+            },
+            HN: {
+                path: "M199.6,249.52l-1.7,-1.21l0.06,-0.94l3.04,-2.14l2.37,0.28l1.27,-0.09l1.1,-0.52l1.3,0.28l1.14,-0.25l1.38,0.37l2.23,1.37l-2.36,0.93l-1.23,-0.39l-0.88,1.3l-1.28,0.99l-0.98,-0.22l-0.42,0.52l-0.96,0.05l-0.36,0.41l0.04,0.88l-0.52,0.6l-0.3,0.04l-0.3,-0.55l-0.66,-0.31l0.11,-0.67l-0.48,-0.65l-0.87,-0.26l-0.73,0.2Z",
+                name: "Honduras"
+            },
+            PR: {path: "M256.17,238.73l-0.26,0.27l-2.83,0.05l-0.07,-0.55l1.95,-0.1l1.22,0.33Z", name: "Puerto Rico"},
+            PS: {
+                path: "M509.21,203.07l0.1,-0.06l-0.02,0.03l-0.09,0.03ZM509.36,202.91l-0.02,-0.63l-0.33,-0.16l0.31,-1.09l0.24,0.1l-0.2,1.78Z",
+                name: "Palestine"
+            },
+            PT: {
+                path: "M401.84,187.38l-0.64,0.47l-1.13,-0.35l-0.91,0.17l0.28,-1.78l-0.24,-1.78l-1.25,-0.56l-0.45,-0.84l0.17,-1.66l1.01,-1.18l0.69,-2.92l-0.04,-1.39l-0.59,-1.9l1.3,-0.85l0.84,1.35l3.1,-0.3l0.46,0.99l-1.05,0.94l-0.03,2.16l-0.41,0.57l-0.08,1.1l-0.79,0.18l-0.26,0.59l0.91,1.6l-0.63,1.75l0.76,1.09l-1.1,1.52l0.07,1.05Z",
+                name: "Portugal"
+            },
+            PY: {
+                path: "M274.9,336.12l0.74,1.52l-0.16,3.45l0.32,0.41l2.64,0.5l1.11,-0.47l1.4,0.59l0.36,0.6l0.53,3.42l1.27,0.4l0.98,-0.38l0.51,0.27l-0.0,1.18l-1.21,5.32l-2.09,1.9l-1.8,0.4l-4.71,-0.98l2.2,-3.63l-0.32,-1.5l-2.78,-1.28l-3.03,-1.94l-2.07,-0.44l-4.34,-4.06l0.91,-2.9l0.08,-1.42l1.07,-2.04l4.13,-0.72l2.18,0.03l2.05,1.17l0.03,0.59Z",
+                name: "Paraguay"
+            },
+            PA: {
+                path: "M213.8,263.68l0.26,-1.52l-0.36,-0.26l-0.01,-0.49l0.44,-0.1l0.93,1.4l1.26,0.03l0.77,0.49l1.38,-0.23l2.51,-1.11l0.86,-0.72l3.45,0.85l1.4,1.18l0.41,1.74l-0.21,0.34l-0.53,-0.12l-0.47,0.29l-0.16,0.6l-0.68,-1.28l0.45,-0.49l-0.19,-0.66l-0.47,-0.13l-0.54,-0.84l-1.5,-0.75l-1.1,0.16l-0.75,0.99l-1.62,0.84l-0.18,0.96l0.85,0.97l-0.58,0.45l-0.69,0.08l-0.34,-1.18l-1.27,0.03l-0.71,-1.05l-2.59,-0.46Z",
+                name: "Panama"
+            },
+            PG: {
+                path: "M808.58,298.86l2.54,2.56l-0.13,0.26l-0.33,0.12l-0.87,-0.78l-1.22,-2.16ZM801.41,293.04l0.5,0.29l0.26,0.27l-0.49,-0.35l-0.27,-0.21ZM803.17,294.58l0.59,0.5l0.08,1.06l-0.29,-0.91l-0.38,-0.65ZM796.68,298.41l0.52,0.75l1.43,-0.19l2.27,-1.81l-0.01,-1.43l1.12,0.16l-0.04,1.1l-0.7,1.28l-1.12,0.18l-0.62,0.79l-2.46,1.11l-1.17,-0.0l-3.08,-1.25l3.41,0.0l0.45,-0.68ZM789.15,303.55l2.31,1.8l1.59,2.61l1.34,0.13l-0.06,0.66l0.31,0.43l1.06,0.24l0.06,0.65l2.25,1.05l-1.22,0.13l-0.72,-0.63l-4.56,-0.65l-3.22,-2.87l-1.49,-2.34l-3.27,-1.1l-2.38,0.72l-1.59,0.86l-0.2,0.42l0.27,1.55l-1.55,0.68l-1.36,-0.4l-2.21,-0.09l-0.08,-15.41l8.39,2.93l2.95,2.4l0.6,1.64l4.02,1.49l0.31,0.68l-1.76,0.21l-0.33,0.52l0.55,1.68Z",
+                name: "Papua New Guinea"
+            },
+            PE: {
+                path: "M244.96,295.21l-1.26,-0.07l-0.57,0.42l-1.93,0.45l-2.98,1.75l-0.36,1.36l-0.58,0.8l0.12,1.37l-1.24,0.59l-0.22,1.22l-0.62,0.84l1.04,2.27l1.28,1.44l-0.41,0.84l0.32,0.57l1.48,0.13l1.16,1.37l2.21,0.07l1.63,-1.08l-0.13,3.02l0.3,0.4l1.14,0.29l1.31,-0.34l1.9,3.59l-0.48,0.85l-0.17,3.85l-0.94,1.59l0.35,0.75l-0.47,1.07l0.98,1.97l-2.1,3.82l-0.98,0.5l-2.17,-1.28l-0.39,-1.16l-4.95,-2.58l-4.46,-2.79l-1.84,-1.51l-0.91,-1.84l0.3,-0.96l-2.11,-3.33l-4.82,-9.68l-1.04,-1.2l-0.87,-1.94l-3.4,-2.48l0.58,-1.18l-1.13,-2.23l0.66,-1.49l1.45,-1.15l-0.6,0.98l0.07,0.92l0.47,0.36l1.74,0.03l0.97,1.17l0.54,0.07l1.42,-1.03l0.6,-1.84l1.42,-2.02l3.04,-1.04l2.73,-2.62l0.86,-1.74l-0.1,-1.87l1.44,1.02l0.9,1.25l1.06,0.59l1.7,2.73l1.86,0.31l1.45,-0.61l0.96,0.39l1.36,-0.19l1.45,0.89l-1.4,2.21l0.31,0.61l0.59,0.05l0.47,0.5Z",
+                name: "Peru"
+            },
+            PK: {
+                path: "M615.09,192.34l-1.83,1.81l-2.6,0.39l-3.73,-0.68l-1.58,1.33l-0.09,0.42l1.77,4.39l1.7,1.23l-1.69,1.27l-0.12,2.14l-2.33,2.64l-1.6,2.8l-2.46,2.67l-3.03,-0.07l-2.76,2.83l0.05,0.6l1.5,1.11l0.26,1.9l1.44,1.5l0.37,1.68l-5.01,-0.01l-1.78,1.7l-1.42,-0.52l-0.76,-1.87l-2.27,-2.15l-11.61,0.86l0.71,-2.34l3.43,-1.32l0.25,-0.44l-0.21,-1.24l-1.2,-0.65l-0.28,-2.46l-2.29,-1.14l-1.28,-1.94l2.82,0.94l2.62,-0.38l1.42,0.33l0.76,-0.56l1.71,0.19l3.25,-1.14l0.27,-0.36l0.08,-2.19l1.18,-1.32l1.68,0.0l0.58,-0.82l1.6,-0.3l1.19,0.16l0.98,-0.78l0.02,-1.88l0.93,-1.47l1.48,-0.66l0.19,-0.55l-0.66,-1.25l2.04,-0.11l0.69,-1.01l-0.02,-1.16l1.11,-1.06l-0.17,-1.78l-0.49,-1.03l1.15,-0.98l5.42,-0.91l2.6,-0.82l1.6,1.16l0.97,2.34l3.45,0.97Z",
+                name: "Pakistan"
+            },
+            PH: {
+                path: "M737.01,263.84l0.39,2.97l-0.44,1.18l-0.55,-1.53l-0.67,-0.14l-1.17,1.28l0.65,2.09l-0.42,0.69l-2.48,-1.23l-0.57,-1.49l0.65,-1.03l-0.1,-0.54l-1.59,-1.19l-0.56,0.08l-0.65,0.87l-1.23,0.0l-1.58,0.97l0.83,-1.8l2.56,-1.42l0.65,0.84l0.45,0.13l1.9,-0.69l0.56,-1.11l1.5,-0.06l0.38,-0.43l-0.09,-1.19l1.21,0.71l0.36,2.02ZM733.59,256.58l0.05,0.75l0.08,0.26l-0.8,-0.42l-0.18,-0.71l0.85,0.12ZM734.08,256.1l-0.12,-1.12l-1.0,-1.27l1.36,0.03l0.53,0.73l0.51,2.04l-1.27,-0.4ZM733.76,257.68l0.38,0.98l-0.32,0.15l-0.07,-1.13ZM724.65,238.43l1.46,0.7l0.72,-0.31l-0.32,1.17l0.79,1.71l-0.57,1.84l-1.53,1.04l-0.39,2.25l0.56,2.04l1.63,0.57l1.16,-0.27l2.71,1.23l-0.19,1.08l0.76,0.84l-0.08,0.36l-1.4,-0.9l-0.88,-1.27l-0.66,0.0l-0.38,0.55l-1.6,-1.31l-2.15,0.36l-0.87,-0.39l0.07,-0.61l0.66,-0.55l-0.01,-0.62l-0.75,-0.59l-0.72,0.44l-0.74,-0.87l-0.39,-2.49l0.32,0.27l0.66,-0.28l0.26,-3.97l0.7,-2.02l1.14,0.0ZM731.03,258.87l-0.88,0.85l-1.19,1.94l-1.05,-1.19l0.93,-1.1l0.32,-1.47l0.52,-0.06l-0.27,1.15l0.22,0.45l0.49,-0.12l1.0,-1.32l-0.08,0.85ZM726.83,255.78l0.83,0.38l1.17,-0.0l-0.02,0.48l-2.0,1.4l0.03,-2.26ZM724.81,252.09l-0.38,1.27l-1.42,-1.95l1.2,0.05l0.6,0.63ZM716.55,261.82l1.1,-0.95l0.03,-0.03l-0.28,0.36l-0.85,0.61ZM719.22,259.06l0.04,-0.06l0.8,-1.53l0.16,0.75l-1.0,0.84Z",
+                name: "Philippines"
+            },
+            PL: {
+                path: "M468.44,149.42l-1.11,-1.54l-1.86,-0.33l-0.48,-1.05l-1.72,-0.37l-0.65,0.69l-0.72,-0.36l0.11,-0.61l-0.33,-0.46l-1.75,-0.27l-1.04,-0.93l-0.94,-1.94l0.16,-1.22l-0.62,-1.8l-0.78,-1.07l0.57,-1.04l-0.48,-1.43l1.41,-0.83l6.91,-2.71l2.14,0.5l0.52,0.91l5.51,0.44l4.55,-0.05l1.07,0.31l0.48,0.84l0.15,1.58l0.65,1.2l-0.01,0.99l-1.27,0.58l-0.19,0.54l0.73,1.48l0.08,1.55l1.2,2.76l-0.17,0.58l-1.23,0.44l-2.27,2.72l0.18,0.95l-1.97,-1.03l-1.98,0.4l-1.36,-0.28l-1.24,0.58l-1.07,-0.97l-1.16,0.24Z",
+                name: "Poland"
+            },
+            ZM: {
+                path: "M481.47,313.3l0.39,0.31l2.52,0.14l0.99,1.17l2.01,0.35l1.4,-0.64l0.69,1.17l1.78,0.33l1.84,2.35l2.23,0.18l0.4,-0.43l-0.21,-2.74l-0.62,-0.3l-0.48,0.32l-1.98,-1.17l0.72,-5.29l-0.51,-1.18l0.57,-1.3l3.68,-0.62l0.26,0.63l1.21,0.63l0.9,-0.22l2.16,0.67l1.33,0.71l1.07,1.02l0.56,1.87l-0.88,2.7l0.43,2.09l-0.73,0.87l-0.76,2.37l0.59,0.68l-6.6,1.83l-0.29,0.44l0.19,1.45l-1.68,0.35l-1.43,1.02l-0.38,0.87l-0.87,0.26l-3.48,3.69l-4.16,-0.53l-1.52,-1.0l-1.77,-0.13l-1.83,0.52l-3.04,-3.4l0.11,-7.59l4.82,0.03l0.39,-0.49l-0.18,-0.76l0.33,-0.83l-0.4,-1.36l0.24,-1.05Z",
+                name: "Zambia"
+            },
+            EH: {
+                path: "M384.42,230.28l0.25,-0.79l1.06,-1.29l0.8,-3.51l3.38,-2.78l0.7,-1.81l0.06,4.84l-1.98,0.2l-0.94,1.59l0.39,3.56l-3.7,-0.01ZM392.01,218.1l0.7,-1.8l1.77,-0.24l2.09,0.34l0.95,-0.62l1.28,-0.07l-0.0,2.51l-6.79,-0.12Z",
+                name: "W. Sahara"
+            },
+            EE: {
+                path: "M485.71,115.04l2.64,0.6l2.56,0.11l-1.6,1.91l0.61,3.54l-0.81,0.87l-1.78,-0.01l-3.22,-1.76l-1.8,0.45l0.21,-1.53l-0.58,-0.41l-0.69,0.34l-1.26,-1.03l-0.17,-1.63l2.83,-0.92l3.05,-0.52Z",
+                name: "Estonia"
+            },
+            EG: {
+                path: "M492.06,205.03l1.46,0.42l2.95,-1.64l2.04,-0.21l1.53,0.3l0.59,1.19l0.69,0.04l0.41,-0.64l1.81,0.58l1.95,0.16l1.04,-0.51l1.42,4.08l-2.03,4.54l-1.66,-1.77l-1.76,-3.85l-0.64,-0.12l-0.36,0.67l1.04,2.88l3.44,6.95l1.78,3.04l2.03,2.65l-0.36,0.53l0.23,2.01l2.7,2.19l-28.41,0.0l0.0,-18.96l-0.73,-2.2l0.59,-1.56l-0.32,-1.26l0.68,-0.99l3.06,-0.04l4.82,1.52Z",
+                name: "Egypt"
+            },
+            ZA: {
+                path: "M467.14,373.21l-0.13,-1.96l-0.68,-1.56l0.7,-0.68l-0.13,-2.33l-4.56,-8.19l0.77,-0.86l0.6,0.45l0.69,1.31l2.83,0.72l1.5,-0.26l2.24,-1.39l0.19,-9.55l1.35,2.3l-0.21,1.5l0.61,1.2l0.4,0.19l1.79,-0.27l2.6,-2.07l0.69,-1.32l0.96,-0.48l2.19,1.04l2.04,0.13l1.77,-0.65l0.85,-2.12l1.38,-0.33l1.59,-2.76l2.15,-1.89l3.41,-1.87l2.0,0.45l1.02,-0.28l0.99,0.2l1.75,5.29l-0.38,3.25l-0.81,-0.23l-1.0,0.46l-0.87,1.68l-0.05,1.16l1.97,1.84l1.47,-0.29l0.69,-1.18l1.09,0.01l-0.76,3.69l-0.58,1.09l-2.2,1.79l-3.17,4.76l-2.8,2.83l-3.57,2.88l-2.53,1.05l-1.22,0.14l-0.51,0.7l-1.18,-0.32l-1.39,0.5l-2.59,-0.52l-1.61,0.33l-1.18,-0.11l-2.55,1.1l-2.1,0.44l-1.6,1.07l-0.85,0.05l-0.93,-0.89l-0.93,-0.15l-0.97,-1.13l-0.25,0.05ZM491.45,364.19l0.62,-0.93l1.48,-0.59l1.18,-2.19l-0.07,-0.49l-1.99,-1.69l-1.66,0.56l-1.43,1.14l-1.34,1.73l0.02,0.51l1.88,2.11l1.31,-0.16Z",
+                name: "South Africa"
+            },
+            EC: {
+                path: "M231.86,285.53l0.29,1.59l-0.69,1.45l-2.61,2.51l-3.13,1.11l-1.53,2.18l-0.49,1.68l-1.0,0.73l-1.02,-1.11l-1.78,-0.16l0.67,-1.15l-0.24,-0.86l1.25,-2.13l-0.54,-1.09l-0.67,-0.08l-0.72,0.87l-0.87,-0.64l0.35,-0.69l-0.36,-1.96l0.81,-0.51l0.45,-1.51l0.92,-1.57l-0.07,-0.97l2.65,-1.33l2.75,1.35l0.77,1.05l2.12,0.35l0.76,-0.32l1.96,1.21Z",
+                name: "Ecuador"
+            },
+            AL: {
+                path: "M470.32,171.8l0.74,0.03l0.92,0.89l-0.17,1.95l0.36,1.28l1.01,0.82l-1.82,2.83l-0.19,-0.61l-1.25,-0.89l-0.18,-1.2l0.53,-2.82l-0.54,-1.47l0.6,-0.83Z",
+                name: "Albania"
+            },
+            AO: {
+                path: "M461.55,300.03l1.26,3.15l1.94,2.36l2.47,-0.53l1.25,0.32l0.44,-0.18l0.93,-1.92l1.31,-0.08l0.41,-0.44l0.47,-0.0l-0.1,0.41l0.39,0.49l2.65,-0.02l0.03,1.19l0.48,1.01l-0.34,1.52l0.18,1.55l0.83,1.04l-0.13,2.85l0.54,0.39l3.96,-0.41l-0.1,1.79l0.39,1.05l-0.24,1.43l-4.7,-0.03l-0.4,0.39l-0.12,8.13l2.92,3.49l-3.83,0.88l-5.89,-0.36l-1.88,-1.24l-10.47,0.22l-1.3,-1.01l-1.85,-0.16l-2.4,0.77l-0.15,-1.06l0.33,-2.16l1.0,-3.45l1.35,-3.2l2.24,-2.8l0.33,-2.06l-0.13,-1.53l-0.8,-1.08l-1.21,-2.87l0.87,-1.62l-1.27,-4.12l-1.17,-1.53l2.47,-0.63l7.03,0.03ZM451.71,298.87l-0.47,-1.25l1.25,-1.11l0.32,0.3l-0.99,1.03l-0.12,1.03Z",
+                name: "Angola"
+            },
+            KZ: {
+                path: "M552.8,172.89l0.46,-1.27l-0.48,-1.05l-2.96,-1.19l-1.06,-2.58l-1.37,-0.87l-0.03,-0.3l1.95,0.23l0.45,-0.38l0.08,-1.96l1.75,-0.41l2.1,0.45l0.48,-0.33l0.45,-3.04l-0.45,-2.09l-0.41,-0.31l-2.42,0.15l-2.36,-0.73l-2.87,1.37l-2.17,0.61l-0.85,-0.34l0.13,-1.61l-1.6,-2.12l-2.02,-0.08l-1.78,-1.82l1.29,-2.18l-0.57,-0.95l1.62,-2.91l2.21,1.63l0.63,-0.27l0.29,-2.22l4.92,-3.43l3.71,-0.08l8.4,3.6l2.92,-1.36l3.77,-0.06l3.11,1.66l0.51,-0.11l0.6,-0.81l3.31,0.13l0.39,-0.25l0.63,-1.57l-0.17,-0.5l-3.5,-1.98l1.87,-1.27l-0.13,-1.03l1.98,-0.72l0.18,-0.62l-1.59,-2.06l0.81,-0.82l9.23,-1.18l1.33,-0.88l6.18,-1.26l2.26,-1.42l4.08,0.68l0.73,3.33l0.51,0.3l2.48,-0.8l2.79,1.02l-0.17,1.56l0.43,0.44l2.55,-0.24l4.89,-2.53l0.03,0.32l3.15,2.61l5.56,8.47l0.65,0.02l1.12,-1.46l3.15,1.74l3.76,-0.78l1.15,0.49l1.14,1.8l1.84,0.76l0.99,1.29l3.35,-0.25l1.02,1.52l-1.6,1.81l-1.93,0.28l-0.34,0.38l-0.11,3.05l-1.13,1.16l-4.75,-1.0l-0.46,0.27l-1.76,5.47l-1.1,0.59l-4.91,1.23l-0.27,0.54l2.1,4.97l-1.37,0.63l-0.23,0.41l0.13,1.13l-0.88,-0.25l-1.42,-1.13l-7.89,-0.4l-0.92,0.31l-3.73,-1.22l-1.42,0.63l-0.53,1.66l-3.72,-0.94l-1.85,0.43l-0.76,1.4l-4.65,2.62l-1.13,2.08l-0.44,0.01l-0.92,-1.4l-2.87,-0.09l-0.45,-2.14l-0.38,-0.32l-0.8,-0.01l0.0,-2.96l-3.0,-2.22l-7.31,0.58l-2.35,-2.68l-6.71,-3.69l-6.45,1.83l-0.29,0.39l0.1,10.85l-0.7,0.08l-1.62,-2.17l-1.83,-0.96l-3.11,0.59l-0.64,0.51Z",
+                name: "Kazakhstan"
+            },
+            ET: {
+                path: "M516.04,247.79l1.1,0.84l1.63,-0.45l0.68,0.47l1.63,0.03l2.01,0.94l1.73,1.66l1.64,2.07l-1.52,2.04l0.16,1.72l0.39,0.38l2.05,0.0l-0.36,1.03l2.86,3.58l8.32,3.08l1.31,0.02l-6.32,6.75l-3.1,0.11l-2.36,1.77l-1.47,0.04l-0.86,0.79l-1.38,-0.0l-1.32,-0.81l-2.29,1.05l-0.76,0.98l-3.29,-0.41l-3.07,-2.07l-1.8,-0.07l-0.62,-0.6l0.0,-1.24l-0.28,-0.38l-1.15,-0.37l-1.4,-2.59l-1.19,-0.68l-0.47,-1.0l-1.27,-1.23l-1.16,-0.22l0.43,-0.72l1.45,-0.28l0.41,-0.95l-0.03,-2.21l0.68,-2.44l1.05,-0.63l1.43,-3.06l1.57,-1.37l1.02,-2.51l0.35,-1.88l2.52,0.46l0.44,-0.24l0.58,-1.43Z",
+                name: "Ethiopia"
+            },
+            ZW: {
+                path: "M498.91,341.09l-1.11,-0.22l-0.92,0.28l-2.09,-0.44l-1.5,-1.11l-1.89,-0.43l-0.62,-1.4l-0.01,-0.84l-0.3,-0.38l-0.97,-0.25l-2.71,-2.74l-1.92,-3.32l3.83,0.45l3.73,-3.82l1.08,-0.44l0.26,-0.77l1.25,-0.9l1.41,-0.26l0.5,0.89l1.99,-0.05l1.72,1.17l1.11,0.17l1.05,0.66l0.01,2.99l-0.59,3.76l0.38,0.86l-0.23,1.23l-0.39,0.35l-0.63,1.81l-2.43,2.75Z",
+                name: "Zimbabwe"
+            },
+            ES: {
+                path: "M416.0,169.21l1.07,1.17l4.61,1.38l1.06,-0.57l2.6,1.26l2.71,-0.3l0.09,1.12l-2.14,1.8l-3.11,0.61l-0.31,0.31l-0.2,0.89l-1.54,1.69l-0.97,2.4l0.84,1.74l-1.32,1.27l-0.48,1.68l-1.88,0.65l-1.66,2.07l-5.36,-0.01l-1.79,1.08l-0.89,0.98l-0.88,-0.17l-0.79,-0.82l-0.68,-1.59l-2.37,-0.63l-0.11,-0.5l1.21,-1.82l-0.77,-1.13l0.61,-1.68l-0.76,-1.62l0.87,-0.49l0.09,-1.25l0.42,-0.6l0.03,-2.11l0.99,-0.69l0.13,-0.5l-1.03,-1.73l-1.46,-0.11l-0.61,0.38l-1.06,0.0l-0.52,-1.23l-0.53,-0.21l-1.32,0.67l-0.01,-1.49l-0.75,-0.96l3.03,-1.88l2.99,0.53l3.32,-0.02l2.63,0.51l6.01,-0.06Z",
+                name: "Spain"
+            },
+            ER: {
+                path: "M520.38,246.23l3.42,2.43l3.5,3.77l0.84,0.54l-0.95,-0.01l-3.51,-3.89l-2.33,-1.15l-1.73,-0.07l-0.91,-0.51l-1.26,0.51l-1.34,-1.02l-0.61,0.17l-0.66,1.61l-2.35,-0.43l-0.17,-0.67l1.29,-5.29l0.61,-0.61l1.95,-0.53l0.87,-1.01l1.17,2.41l0.68,2.33l1.49,1.43Z",
+                name: "Eritrea"
+            },
+            ME: {
+                path: "M468.91,172.53l-1.22,-1.02l0.47,-1.81l0.89,-0.72l2.26,1.51l-0.5,0.57l-0.75,-0.27l-1.14,1.73Z",
+                name: "Montenegro"
+            },
+            MD: {
+                path: "M488.41,153.73l1.4,-0.27l1.72,0.93l1.07,0.15l0.85,0.65l-0.14,0.84l0.96,0.85l1.12,2.47l-1.15,-0.07l-0.66,-0.41l-0.52,0.25l-0.09,0.86l-1.08,1.89l-0.27,-0.86l0.25,-1.34l-0.16,-1.6l-3.29,-4.34Z",
+                name: "Moldova"
+            },
+            MG: {
+                path: "M545.91,319.14l0.4,3.03l0.62,1.21l-0.21,1.02l-0.57,-0.8l-0.69,-0.01l-0.47,0.76l0.41,2.12l-0.18,0.87l-0.73,0.78l-0.15,2.14l-4.71,15.2l-1.06,2.88l-3.92,1.64l-3.12,-1.49l-0.6,-1.21l-0.19,-2.4l-0.86,-2.05l-0.21,-1.77l0.38,-1.62l1.21,-0.75l0.01,-0.76l1.19,-2.04l0.23,-1.66l-1.06,-2.99l-0.19,-2.21l0.81,-1.33l0.32,-1.46l4.63,-1.22l3.44,-3.0l0.85,-1.4l-0.08,-0.7l0.78,-0.04l1.38,-1.77l0.13,-1.64l0.45,-0.61l1.16,1.69l0.59,1.6Z",
+                name: "Madagascar"
+            },
+            MA: {
+                path: "M378.78,230.02l0.06,-0.59l0.92,-0.73l0.82,-1.37l-0.09,-1.04l0.79,-1.7l1.31,-1.58l0.96,-0.59l0.66,-1.55l0.09,-1.47l0.81,-1.48l1.72,-1.07l1.55,-2.69l1.16,-0.96l2.44,-0.39l1.94,-1.82l1.31,-0.78l2.09,-2.28l-0.51,-3.65l1.24,-3.7l1.5,-1.75l4.46,-2.57l2.37,-4.47l1.44,0.01l1.68,1.21l2.32,-0.19l3.47,0.65l0.8,1.54l0.16,1.71l0.86,2.96l0.56,0.59l-0.26,0.61l-3.05,0.44l-1.26,1.05l-1.33,0.22l-0.33,0.37l-0.09,1.78l-2.68,1.0l-1.07,1.42l-4.47,1.13l-4.04,2.01l-0.54,4.64l-1.15,0.06l-0.92,0.61l-1.96,-0.35l-2.42,0.54l-0.74,1.9l-0.86,0.4l-1.14,3.26l-3.53,3.01l-0.8,3.55l-0.96,1.1l-0.29,0.82l-4.95,0.18Z",
+                name: "Morocco"
+            },
+            UZ: {
+                path: "M598.64,172.75l-1.63,1.52l0.06,0.64l1.85,1.12l1.97,-0.64l2.21,1.17l-2.52,1.68l-2.59,-0.22l-0.18,-0.41l0.46,-1.23l-0.45,-0.53l-3.35,0.69l-2.1,3.51l-1.87,-0.12l-1.03,1.51l0.22,0.55l1.64,0.62l0.46,1.83l-1.19,2.49l-2.66,-0.53l0.05,-1.36l-0.26,-0.39l-3.3,-1.23l-2.56,-1.4l-4.4,-3.34l-1.34,-3.14l-1.08,-0.6l-2.58,0.13l-0.69,-0.44l-0.47,-2.52l-3.37,-1.6l-0.43,0.05l-2.07,1.72l-2.1,1.01l-0.21,0.47l0.28,1.01l-1.91,0.03l-0.09,-10.5l5.99,-1.7l6.19,3.54l2.71,2.84l7.05,-0.67l2.71,2.01l-0.17,2.81l0.39,0.42l0.9,0.02l0.44,2.14l0.38,0.32l2.94,0.09l0.95,1.42l1.28,-0.24l1.05,-2.04l4.43,-2.5Z",
+                name: "Uzbekistan"
+            },
+            MM: {
+                path: "M673.9,230.21l-1.97,1.57l-0.57,0.96l-1.4,0.6l-1.36,1.05l-1.99,0.36l-1.08,2.66l-0.91,0.4l-0.19,0.55l1.21,2.27l2.52,3.43l-0.79,1.91l-0.74,0.41l-0.17,0.52l0.65,1.37l1.61,1.95l0.25,2.58l0.9,2.13l-1.92,3.57l0.68,-2.25l-0.81,-1.74l0.19,-2.65l-1.05,-1.53l-1.24,-6.17l-1.12,-2.26l-0.6,-0.13l-4.34,3.02l-2.39,-0.65l0.77,-2.84l-0.52,-2.61l-1.91,-2.96l0.25,-0.75l-0.29,-0.51l-1.33,-0.3l-1.61,-1.93l-0.1,-1.3l0.82,-0.24l0.04,-1.64l1.02,-0.52l0.21,-0.45l-0.23,-0.95l0.54,-0.96l0.08,-2.22l1.46,0.45l0.47,-0.2l1.12,-2.19l0.16,-1.35l1.33,-2.16l-0.0,-1.52l2.89,-1.66l1.63,0.44l0.5,-0.44l-0.17,-1.4l0.64,-0.36l0.08,-1.04l0.77,-0.11l0.71,1.35l1.06,0.69l-0.03,3.86l-2.38,2.37l-0.3,3.15l0.46,0.43l2.28,-0.38l0.51,2.08l1.47,0.67l-0.6,1.8l0.19,0.48l2.97,1.48l1.64,-0.55l0.02,0.32Z",
+                name: "Myanmar"
+            },
+            ML: {
+                path: "M392.61,254.08l-0.19,-2.37l-0.99,-0.87l-0.44,-1.3l-0.09,-1.28l0.81,-0.58l0.35,-1.24l2.37,0.65l1.31,-0.47l0.86,0.15l0.66,-0.56l9.83,-0.04l0.38,-0.28l0.56,-1.8l-0.44,-0.65l-2.35,-21.95l3.27,-0.04l16.7,11.38l0.74,1.31l2.5,1.09l0.02,1.38l0.44,0.39l2.34,-0.21l0.01,5.38l-1.28,1.61l-0.26,1.49l-5.31,0.57l-1.07,0.92l-2.9,0.1l-0.86,-0.48l-1.38,0.36l-2.4,1.08l-0.6,0.87l-1.85,1.09l-0.43,0.7l-0.79,0.39l-1.44,-0.21l-0.81,0.84l-0.34,1.64l-1.91,2.02l-0.06,1.03l-0.67,1.22l0.13,1.16l-0.97,0.39l-0.23,-0.64l-0.52,-0.24l-1.35,0.4l-0.34,0.55l-2.69,-0.28l-0.37,-0.35l-0.02,-0.9l-0.65,-0.35l0.45,-0.64l-0.03,-0.53l-2.12,-2.44l-0.76,-0.01l-2.0,1.16l-0.78,-0.15l-0.8,-0.67l-1.21,0.23Z",
+                name: "Mali"
+            },
+            MN: {
+                path: "M676.61,146.48l3.81,1.68l5.67,-1.0l2.37,0.41l2.34,1.5l1.79,1.75l2.29,-0.03l3.12,0.52l2.47,-0.81l3.41,-0.59l3.53,-2.21l1.25,0.29l1.53,1.13l2.27,-0.21l-2.66,5.01l0.64,1.68l0.47,0.21l1.32,-0.38l2.38,0.48l2.02,-1.11l1.76,0.89l2.06,2.02l-0.13,0.53l-1.72,-0.29l-3.77,0.46l-1.88,0.99l-1.76,1.99l-3.71,1.17l-2.45,1.6l-3.83,-0.87l-0.41,0.17l-1.31,1.99l1.04,2.24l-1.52,0.9l-1.74,1.57l-2.79,1.02l-3.78,0.13l-4.05,1.05l-2.77,1.52l-1.16,-0.85l-2.94,0.0l-3.62,-1.79l-2.58,-0.49l-3.4,0.41l-5.12,-0.67l-2.63,0.06l-1.31,-1.6l-1.4,-3.0l-1.48,-0.33l-3.13,-1.94l-6.16,-0.93l-0.71,-1.06l0.86,-3.82l-1.93,-2.71l-3.5,-1.18l-1.95,-1.58l-0.5,-1.72l2.34,-0.52l4.75,-2.8l3.62,-1.47l2.18,0.97l2.46,0.05l1.81,1.53l2.46,0.12l3.95,0.71l2.43,-2.28l0.08,-0.48l-0.9,-1.72l2.24,-2.98l2.62,1.27l4.94,1.17l0.43,2.24Z",
+                name: "Mongolia"
+            },
+            MK: {
+                path: "M472.8,173.98l0.49,-0.71l3.57,-0.71l1.0,0.77l0.13,1.45l-0.65,0.53l-1.15,-0.05l-1.12,0.67l-1.39,0.22l-0.79,-0.55l-0.29,-1.03l0.19,-0.6Z",
+                name: "Macedonia"
+            },
+            MW: {
+                path: "M505.5,309.31l0.85,1.95l0.15,2.86l-0.69,1.65l0.71,1.8l0.06,1.28l0.49,0.64l0.07,1.06l0.4,0.55l0.8,-0.23l0.55,0.61l0.69,-0.21l0.34,0.6l0.19,2.94l-1.04,0.62l-0.54,1.25l-1.11,-1.08l-0.16,-1.56l0.51,-1.31l-0.32,-1.3l-0.99,-0.65l-0.82,0.12l-2.36,-1.64l0.63,-1.96l0.82,-1.18l-0.46,-2.01l0.9,-2.86l-0.94,-2.51l0.96,0.18l0.29,0.4Z",
+                name: "Malawi"
+            },
+            MR: {
+                path: "M407.36,220.66l-2.58,0.03l-0.39,0.44l2.42,22.56l0.36,0.43l-0.39,1.24l-9.75,0.04l-0.56,0.53l-0.91,-0.11l-1.27,0.45l-1.61,-0.66l-0.97,0.03l-0.36,0.29l-0.38,1.35l-0.42,0.23l-2.93,-3.4l-2.96,-1.52l-1.62,-0.03l-1.27,0.54l-1.12,-0.2l-0.65,0.4l-0.08,-0.49l0.68,-1.29l0.31,-2.43l-0.57,-3.91l0.23,-1.21l-0.69,-1.5l-1.15,-1.02l0.25,-0.39l9.58,0.02l0.4,-0.45l-0.46,-3.68l0.47,-1.04l2.12,-0.21l0.36,-0.4l-0.08,-6.4l7.81,0.13l0.41,-0.4l0.01,-3.31l7.76,5.35Z",
+                name: "Mauritania"
+            },
+            UG: {
+                path: "M498.55,276.32l0.7,-0.46l1.65,0.5l1.96,-0.57l1.7,0.01l1.45,-0.98l0.91,1.33l1.33,3.95l-2.57,4.03l-1.46,-0.4l-2.54,0.91l-1.37,1.61l-0.01,0.81l-2.42,-0.01l-2.26,1.01l-0.17,-1.59l0.58,-1.04l0.14,-1.94l1.37,-2.28l1.78,-1.58l-0.17,-0.65l-0.72,-0.24l0.13,-2.43Z",
+                name: "Uganda"
+            },
+            MY: {
+                path: "M717.47,273.46l-1.39,0.65l-2.12,-0.41l-2.88,-0.0l-0.38,0.28l-0.84,2.75l-0.99,0.96l-1.21,3.29l-1.73,0.45l-2.45,-0.68l-1.39,0.31l-1.33,1.15l-1.59,-0.14l-1.41,0.44l-1.44,-1.19l-0.18,-0.73l1.34,0.53l1.93,-0.47l0.75,-2.22l4.02,-1.03l2.75,-3.21l0.82,0.94l0.64,-0.05l0.4,-0.65l0.96,0.06l0.42,-0.36l0.24,-2.68l1.81,-1.64l1.21,-1.86l0.63,-0.01l1.07,1.05l0.34,1.28l3.44,1.35l-0.06,0.35l-1.37,0.1l-0.35,0.54l0.32,0.88ZM673.68,269.59l0.17,1.09l0.47,0.33l1.65,-0.3l0.87,-0.94l1.61,1.52l0.98,1.56l-0.12,2.81l0.41,2.29l0.95,0.9l0.88,2.44l-1.27,0.12l-5.1,-3.67l-0.34,-1.29l-1.37,-1.59l-0.33,-1.97l-0.88,-1.4l0.25,-1.68l-0.46,-1.05l1.63,0.84Z",
+                name: "Malaysia"
+            },
+            MX: {
+                path: "M133.12,200.41l0.2,0.47l9.63,3.33l6.96,-0.02l0.4,-0.4l0.0,-0.74l3.77,0.0l3.55,2.93l1.39,2.83l1.52,1.04l2.08,0.82l0.47,-0.14l1.46,-2.0l1.73,-0.04l1.59,0.98l2.05,3.35l1.47,1.56l1.26,3.14l2.18,1.02l2.26,0.58l-1.18,3.72l-0.42,5.04l1.79,4.89l1.62,1.89l0.61,1.52l1.2,1.42l2.55,0.66l1.37,1.1l7.54,-1.89l1.86,-1.3l1.14,-4.3l4.1,-1.21l3.57,-0.11l0.32,0.3l-0.06,0.94l-1.26,1.45l-0.67,1.71l0.38,0.7l-0.72,2.27l-0.49,-0.3l-1.0,0.08l-1.0,1.39l-0.47,-0.11l-0.53,0.47l-4.26,-0.02l-0.4,0.4l-0.0,1.06l-1.1,0.26l0.1,0.44l1.82,1.44l0.56,0.91l-3.19,0.21l-1.21,2.09l0.24,0.72l-0.2,0.44l-2.24,-2.18l-1.45,-0.93l-2.22,-0.69l-1.52,0.22l-3.07,1.16l-10.55,-3.85l-2.86,-1.96l-3.78,-0.92l-1.08,-1.19l-2.62,-1.43l-1.18,-1.54l-0.38,-0.81l0.66,-0.63l-0.18,-0.53l0.52,-0.76l0.01,-0.91l-2.0,-3.82l-2.21,-2.63l-2.53,-2.09l-1.19,-1.62l-2.2,-1.17l-0.3,-0.43l0.34,-1.48l-0.21,-0.45l-1.23,-0.6l-1.36,-1.2l-0.59,-1.78l-1.54,-0.47l-2.44,-2.55l-0.16,-0.9l-1.33,-2.03l-0.84,-1.99l-0.16,-1.33l-1.81,-1.1l-0.97,0.05l-1.31,-0.7l-0.57,0.22l-0.4,1.12l0.72,3.77l3.51,3.89l0.28,0.78l0.53,0.26l0.41,1.43l1.33,1.73l1.58,1.41l0.8,2.39l1.43,2.41l0.13,1.32l0.37,0.36l1.04,0.08l1.67,2.28l-0.85,0.76l-0.66,-1.51l-1.68,-1.54l-2.91,-1.87l0.06,-1.82l-0.54,-1.68l-2.91,-2.03l-0.55,0.09l-1.95,-1.1l-0.88,-0.94l0.68,-0.08l0.93,-1.01l0.08,-1.78l-1.93,-1.94l-1.46,-0.77l-3.75,-7.56l4.88,-0.42Z",
+                name: "Mexico"
+            },
+            VU: {path: "M839.04,322.8l0.22,1.14l-0.44,0.03l-0.2,-1.45l0.42,0.27Z", name: "Vanuatu"},
+            FR: {
+                path: "M444.48,172.62l-0.64,1.78l-0.58,-0.31l-0.49,-1.72l0.4,-0.89l1.0,-0.72l0.3,1.85ZM429.64,147.1l1.78,1.58l1.46,-0.13l2.1,1.42l1.35,0.27l1.23,0.83l3.04,0.5l-1.03,1.85l-0.3,2.12l-0.41,0.32l-0.95,-0.24l-0.5,0.43l0.06,0.61l-1.81,1.92l-0.04,1.42l0.55,0.38l0.88,-0.36l0.61,0.97l-0.03,1.0l0.57,0.91l-0.75,1.09l0.65,2.39l1.27,0.57l-0.18,0.82l-2.01,1.53l-4.77,-0.8l-3.82,1.0l-0.53,1.85l-2.49,0.34l-2.71,-1.31l-1.16,0.57l-4.31,-1.29l-0.72,-0.86l1.19,-1.78l0.39,-6.45l-2.58,-3.3l-1.9,-1.66l-3.72,-1.23l-0.19,-1.72l2.81,-0.61l4.12,0.81l0.47,-0.48l-0.6,-2.77l1.94,0.95l5.83,-2.54l0.92,-2.74l1.6,-0.49l0.24,0.78l1.36,0.33l1.05,1.19ZM289.01,278.39l-0.81,0.8l-0.78,0.12l-0.5,-0.66l-0.56,-0.1l-0.91,0.6l-0.46,-0.22l1.09,-2.96l-0.96,-1.77l-0.17,-1.49l1.07,-1.77l2.32,0.75l2.51,2.01l0.3,0.74l-2.14,3.96Z",
+                name: "France"
+            },
+            FI: {
+                path: "M492.17,76.39l-0.23,3.5l3.52,2.63l-2.08,2.88l-0.02,0.44l2.8,4.56l-1.59,3.31l2.16,3.24l-0.94,2.39l0.14,0.47l3.44,2.51l-0.77,1.62l-7.52,6.95l-4.5,0.31l-4.38,1.37l-3.8,0.74l-1.44,-1.96l-2.17,-1.11l0.5,-3.66l-1.16,-3.33l1.09,-2.08l2.21,-2.42l5.67,-4.32l1.64,-0.83l0.21,-0.42l-0.46,-2.02l-3.38,-1.89l-0.75,-1.43l-0.22,-6.74l-6.79,-4.8l0.8,-0.62l2.54,2.12l3.46,-0.12l3.0,0.96l2.51,-2.11l1.17,-3.08l3.55,-1.38l2.76,1.53l-0.95,2.79Z",
+                name: "Finland"
+            },
+            FJ: {
+                path: "M871.53,326.34l-2.8,1.05l-0.08,-0.23l2.97,-1.21l-0.1,0.39ZM867.58,329.25l0.43,0.37l-0.27,0.88l-1.24,0.28l-1.04,-0.24l-0.14,-0.66l0.63,-0.58l0.92,0.26l0.7,-0.31Z",
+                name: "Fiji"
+            },
+            FK: {
+                path: "M274.36,425.85l1.44,1.08l-0.47,0.73l-3.0,0.89l-0.96,-1.0l-0.52,-0.05l-1.83,1.29l-0.73,-0.88l2.46,-1.64l1.93,0.76l1.67,-1.19Z",
+                name: "Falkland Is."
+            },
+            NI: {
+                path: "M202.33,252.67l0.81,-0.18l1.03,-1.02l-0.04,-0.88l0.68,-0.0l0.63,-0.54l0.97,0.22l1.53,-1.26l0.58,-0.99l1.17,0.34l2.41,-0.94l0.13,1.32l-0.81,1.94l0.1,2.74l-0.36,0.37l-0.11,1.75l-0.47,0.81l0.18,1.14l-1.73,-0.85l-0.71,0.27l-1.47,-0.6l-0.52,0.16l-4.01,-3.81Z",
+                name: "Nicaragua"
+            },
+            NL: {
+                path: "M430.31,143.39l0.6,-0.5l2.13,-4.8l3.2,-1.33l1.74,0.08l0.33,0.8l-0.59,2.92l-0.5,0.99l-1.26,0.0l-0.4,0.45l0.33,2.7l-2.2,-1.78l-2.62,0.58l-0.75,-0.11Z",
+                name: "Netherlands"
+            },
+            NO: {
+                path: "M491.44,67.41l6.8,2.89l-2.29,0.86l-0.15,0.65l2.33,2.38l-4.98,1.79l0.84,-2.45l-0.18,-0.48l-3.55,-1.8l-3.89,1.52l-1.42,3.38l-2.12,1.72l-2.64,-1.0l-3.11,0.21l-2.66,-2.22l-0.5,-0.01l-1.41,1.1l-1.44,0.17l-0.35,0.35l-0.32,2.47l-4.32,-0.64l-0.44,0.29l-0.58,2.11l-2.45,0.2l-4.15,7.68l-3.88,5.76l0.78,1.62l-0.64,1.16l-2.24,-0.06l-0.38,0.24l-1.66,3.89l0.15,5.17l1.57,2.04l-0.78,4.16l-2.02,2.48l-0.85,1.63l-1.3,-1.75l-0.58,-0.07l-4.87,4.19l-3.1,0.79l-3.16,-1.7l-0.85,-3.77l-0.77,-8.55l2.14,-2.31l6.55,-3.27l5.02,-4.17l10.63,-13.84l10.98,-8.7l5.35,-1.91l4.34,0.12l3.69,-3.64l4.49,0.19l4.37,-0.89ZM484.55,20.04l4.26,1.75l-3.1,2.55l-7.1,0.65l-7.08,-0.9l-0.37,-1.31l-0.37,-0.29l-3.44,-0.1l-2.08,-2.0l6.87,-1.44l3.9,1.31l2.39,-1.64l6.13,1.4ZM481.69,33.93l-4.45,1.74l-3.54,-0.99l1.12,-0.9l0.05,-0.58l-1.06,-1.22l4.22,-0.89l1.09,1.97l2.57,0.87ZM466.44,24.04l7.43,3.77l-5.41,1.86l-1.58,4.08l-2.26,1.2l-1.12,4.11l-2.61,0.18l-4.79,-2.86l1.84,-1.54l-0.1,-0.68l-3.69,-1.53l-4.77,-4.51l-1.73,-3.89l6.11,-1.82l1.54,1.92l3.57,-0.08l1.2,-1.96l3.32,-0.18l3.05,1.92Z",
+                name: "Norway"
+            },
+            NA: {
+                path: "M474.26,330.66l-0.97,0.04l-0.38,0.4l-0.07,8.9l-2.09,0.08l-0.39,0.4l-0.0,17.42l-1.98,1.23l-1.17,0.17l-2.44,-0.66l-0.48,-1.13l-0.99,-0.74l-0.54,0.05l-0.9,1.01l-1.53,-1.68l-0.93,-1.88l-1.99,-8.56l-0.06,-3.12l-0.33,-1.52l-2.3,-3.34l-1.91,-4.83l-1.96,-2.43l-0.12,-1.57l2.33,-0.79l1.43,0.07l1.81,1.13l10.23,-0.25l1.84,1.23l5.87,0.35ZM474.66,330.64l6.51,-1.6l1.9,0.39l-1.69,0.4l-1.31,0.83l-1.12,-0.94l-4.29,0.92Z",
+                name: "Namibia"
+            },
+            NC: {path: "M838.78,341.24l-0.33,0.22l-2.9,-1.75l-3.26,-3.37l1.65,0.83l4.85,4.07Z", name: "New Caledonia"},
+            NE: {
+                path: "M454.75,226.53l1.33,1.37l0.48,0.07l1.27,-0.7l0.53,3.52l0.94,0.83l0.17,0.92l0.81,0.69l-0.44,0.95l-0.96,5.26l-0.13,3.22l-3.04,2.31l-1.22,3.57l1.02,1.24l-0.0,1.46l0.39,0.4l1.13,0.04l-0.9,1.25l-1.47,-2.42l-0.86,-0.29l-2.09,1.37l-1.74,-0.67l-1.45,-0.17l-0.85,0.35l-1.36,-0.07l-1.64,1.09l-1.06,0.05l-2.94,-1.28l-1.44,0.59l-1.01,-0.03l-0.97,-0.94l-2.7,-0.98l-2.69,0.3l-0.87,0.64l-0.47,1.6l-0.75,1.16l-0.12,1.53l-1.57,-1.1l-1.31,0.24l0.03,-0.81l-0.32,-0.41l-2.59,-0.52l-0.15,-1.16l-1.35,-1.6l-0.29,-1.0l0.13,-0.84l1.29,-0.08l1.08,-0.92l3.31,-0.22l2.22,-0.41l0.32,-0.34l0.2,-1.47l1.39,-1.88l-0.01,-5.66l3.36,-1.12l7.24,-5.12l8.42,-4.92l3.69,1.06Z",
+                name: "Niger"
+            },
+            NG: {
+                path: "M456.32,253.89l0.64,0.65l-0.28,1.04l-2.11,2.01l-2.03,5.18l-1.37,1.16l-1.15,3.18l-1.33,0.66l-1.46,-0.97l-1.21,0.16l-1.38,1.36l-0.91,0.24l-1.79,4.06l-2.33,0.81l-1.11,-0.07l-0.86,0.5l-1.71,-0.05l-1.19,-1.39l-0.89,-1.89l-1.77,-1.66l-3.95,-0.08l0.07,-5.21l0.42,-1.43l1.95,-2.3l-0.14,-0.91l0.43,-1.18l-0.53,-1.41l0.25,-2.92l0.72,-1.07l0.32,-1.34l0.46,-0.39l2.47,-0.28l2.34,0.89l1.15,1.02l1.28,0.04l1.22,-0.58l3.03,1.27l1.49,-0.14l1.36,-1.0l1.33,0.07l0.82,-0.35l3.45,0.8l1.82,-1.32l1.84,2.67l0.66,0.16Z",
+                name: "Nigeria"
+            },
+            NZ: {
+                path: "M857.8,379.65l1.86,3.12l0.44,0.18l0.3,-0.38l0.03,-1.23l0.38,0.27l0.57,2.31l2.02,0.94l1.81,0.27l1.57,-1.06l0.7,0.18l-1.15,3.59l-1.98,0.11l-0.74,1.2l0.2,1.11l-2.42,3.98l-1.49,0.92l-1.04,-0.85l1.21,-2.05l-0.81,-2.01l-2.63,-1.25l0.04,-0.57l1.82,-1.19l0.43,-2.34l-0.16,-2.03l-0.95,-1.82l-0.06,-0.72l-3.11,-3.64l-0.79,-1.52l1.56,1.45l1.76,0.66l0.65,2.34ZM853.83,393.59l0.57,1.24l0.59,0.16l1.42,-0.97l0.46,0.79l0.0,1.03l-2.47,3.48l-1.26,1.2l-0.06,0.5l0.55,0.87l-1.41,0.07l-2.33,1.38l-2.03,5.02l-3.02,2.16l-2.06,-0.06l-1.71,-1.04l-2.47,-0.2l-0.27,-0.73l1.22,-2.1l3.05,-2.94l1.62,-0.59l4.02,-2.82l1.57,-1.67l1.07,-2.16l0.88,-0.7l0.48,-1.75l1.24,-0.97l0.35,0.79Z",
+                name: "New Zealand"
+            },
+            NP: {
+                path: "M641.14,213.62l0.01,3.19l-1.74,0.04l-4.8,-0.86l-1.58,-1.39l-3.37,-0.34l-7.65,-3.7l0.8,-2.09l2.33,-1.7l1.77,0.75l2.49,1.76l1.38,0.41l0.99,1.35l1.9,0.52l1.99,1.17l5.49,0.9Z",
+                name: "Nepal"
+            },
+            CI: {
+                path: "M407.4,259.27l0.86,0.42l0.56,0.9l1.13,0.53l1.19,-0.61l0.97,-0.08l1.42,0.54l0.6,3.24l-1.03,2.08l-0.65,2.84l1.06,2.33l-0.06,0.53l-2.54,-0.47l-1.66,0.03l-3.06,0.46l-4.11,1.6l0.32,-3.06l-1.18,-1.31l-1.32,-0.66l0.42,-0.85l-0.2,-1.4l0.5,-0.67l0.01,-1.59l0.84,-0.32l0.26,-0.5l-1.15,-3.01l0.12,-0.5l0.51,-0.25l0.66,0.31l1.93,0.02l0.67,-0.71l0.71,-0.14l0.25,0.69l0.57,0.22l1.4,-0.61Z",
+                name: "Côte d'Ivoire"
+            },
+            CH: {
+                path: "M444.62,156.35l-0.29,0.87l0.18,0.53l1.13,0.58l1.0,0.1l-0.1,0.65l-0.79,0.38l-1.72,-0.37l-0.45,0.23l-0.45,1.04l-0.75,0.06l-0.84,-0.4l-1.32,1.0l-0.96,0.12l-0.88,-0.55l-0.81,-1.3l-0.49,-0.16l-0.63,0.26l0.02,-0.65l1.71,-1.66l0.1,-0.56l0.93,0.08l0.58,-0.46l1.99,0.02l0.66,-0.61l2.19,0.79Z",
+                name: "Switzerland"
+            },
+            CO: {
+                path: "M242.07,254.93l-1.7,0.59l-0.59,1.18l-1.7,1.69l-0.38,1.93l-0.67,1.43l0.31,0.57l1.03,0.13l0.25,0.9l0.57,0.64l-0.04,2.34l1.64,1.42l3.16,-0.24l1.26,0.28l1.67,2.06l0.41,0.13l4.09,-0.39l0.45,0.22l-0.92,1.95l-0.2,1.8l0.52,1.83l0.75,1.05l-1.12,1.1l0.07,0.63l0.84,0.51l0.74,1.29l-0.39,-0.45l-0.59,-0.01l-0.71,0.74l-4.71,-0.05l-0.4,0.41l0.03,1.57l0.33,0.39l1.11,0.2l-1.68,0.4l-0.29,0.38l-0.01,1.82l1.16,1.14l0.34,1.25l-1.05,7.05l-1.04,-0.87l1.26,-1.99l-0.13,-0.56l-2.18,-1.23l-1.38,0.2l-1.14,-0.38l-1.27,0.61l-1.55,-0.26l-1.38,-2.46l-1.23,-0.75l-0.85,-1.2l-1.67,-1.19l-0.86,0.13l-2.11,-1.32l-1.01,0.31l-1.8,-0.29l-0.52,-0.91l-3.09,-1.68l0.77,-0.52l-0.1,-1.12l0.41,-0.64l1.34,-0.32l2.0,-2.88l-0.11,-0.57l-0.66,-0.43l0.39,-1.38l-0.52,-2.1l0.49,-0.83l-0.4,-2.13l-0.97,-1.35l0.17,-0.66l0.86,-0.08l0.47,-0.75l-0.46,-1.63l1.41,-0.07l1.8,-1.69l0.93,-0.24l0.3,-0.38l0.45,-2.76l1.22,-1.0l1.44,-0.04l0.45,-0.5l1.91,0.12l2.93,-1.84l1.15,-1.14l0.91,0.46l-0.25,0.45Z",
+                name: "Colombia"
+            },
+            CN: {
+                path: "M740.23,148.97l4.57,1.3l2.8,2.17l0.98,2.9l0.38,0.27l3.8,0.0l2.32,-1.28l3.29,-0.75l-0.96,2.09l-1.02,1.28l-0.85,3.4l-1.52,2.73l-2.76,-0.5l-2.4,1.13l-0.21,0.45l0.64,2.57l-0.32,3.2l-0.94,0.06l-0.37,0.89l-0.91,-1.01l-0.64,0.07l-0.92,1.57l-3.73,1.25l-0.26,0.48l0.26,1.06l-1.5,-0.08l-1.09,-0.86l-0.56,0.06l-1.67,2.06l-2.7,1.56l-2.03,1.88l-3.4,0.83l-1.93,1.4l-1.15,0.34l0.33,-0.7l-0.41,-0.89l1.79,-1.79l0.02,-0.54l-1.32,-1.56l-0.48,-0.1l-2.24,1.09l-2.83,2.06l-1.51,1.83l-2.28,0.13l-1.55,1.49l-0.04,0.5l1.32,1.97l2.0,0.58l0.31,1.35l1.98,0.84l3.0,-1.96l2.0,1.02l1.49,0.11l0.22,0.83l-3.37,0.86l-1.12,1.48l-2.5,1.52l-1.29,1.99l0.14,0.56l2.57,1.48l0.97,2.7l3.17,4.63l-0.03,1.66l-1.35,0.65l-0.2,0.51l0.6,1.47l1.4,0.91l-0.89,3.82l-1.43,0.38l-3.85,6.44l-2.27,3.11l-6.78,4.57l-2.73,0.29l-1.45,1.04l-0.62,-0.61l-0.55,-0.01l-1.36,1.25l-3.39,1.27l-2.61,0.4l-1.1,2.79l-0.81,0.09l-0.49,-1.42l0.5,-0.85l-0.25,-0.59l-3.36,-0.84l-1.3,0.4l-2.31,-0.62l-0.94,-0.84l0.33,-1.28l-0.3,-0.49l-2.19,-0.46l-1.13,-0.93l-0.47,-0.02l-2.06,1.36l-4.29,0.28l-2.76,1.05l-0.28,0.43l0.32,2.53l-0.59,-0.03l-0.19,-1.34l-0.55,-0.34l-1.68,0.7l-2.46,-1.23l0.62,-1.87l-0.26,-0.51l-1.37,-0.44l-0.54,-2.22l-0.45,-0.3l-2.13,0.35l0.24,-2.48l2.39,-2.4l0.03,-4.31l-1.19,-0.92l-0.78,-1.49l-0.41,-0.21l-1.41,0.19l-1.98,-0.3l0.46,-1.07l-1.17,-1.7l-0.55,-0.11l-1.63,1.05l-2.25,-0.57l-2.89,1.73l-2.25,1.98l-1.75,0.29l-1.17,-0.71l-3.31,-0.65l-1.48,0.79l-1.04,1.27l-0.12,-1.17l-0.54,-0.34l-1.44,0.54l-5.55,-0.86l-1.98,-1.16l-1.89,-0.54l-0.99,-1.35l-1.34,-0.37l-2.55,-1.79l-2.01,-0.84l-1.21,0.56l-5.57,-3.45l-0.53,-2.31l1.19,0.25l0.48,-0.37l0.08,-1.42l-0.98,-1.56l0.15,-2.44l-2.69,-3.32l-4.12,-1.23l-0.67,-2.0l-1.92,-1.48l-0.38,-0.7l-0.51,-3.01l-1.52,-0.66l-0.7,0.13l-0.48,-2.05l0.55,-0.51l-0.09,-0.82l2.03,-1.19l1.6,-0.54l2.56,0.38l0.42,-0.22l0.85,-1.7l3.0,-0.33l1.1,-1.26l4.05,-1.77l0.39,-0.91l-0.17,-1.44l1.45,-0.67l0.2,-0.52l-2.07,-4.9l4.51,-1.12l1.37,-0.73l1.89,-5.51l4.98,0.86l1.51,-1.7l0.11,-2.87l1.99,-0.38l1.83,-2.06l0.49,-0.13l0.68,2.08l2.23,1.77l3.44,1.16l1.55,2.29l-0.92,3.49l0.96,1.67l6.54,1.13l2.95,1.87l1.47,0.35l1.06,2.62l1.53,1.91l3.05,0.08l5.14,0.67l3.37,-0.41l2.36,0.43l3.65,1.8l3.06,0.04l1.45,0.88l2.87,-1.59l3.95,-1.02l3.83,-0.14l3.06,-1.14l1.77,-1.6l1.72,-1.01l0.17,-0.49l-1.1,-2.05l1.02,-1.54l4.02,0.8l2.45,-1.61l3.76,-1.19l1.96,-2.13l1.63,-0.83l3.51,-0.4l1.92,0.34l0.46,-0.3l0.17,-1.5l-2.27,-2.22l-2.11,-1.09l-2.18,1.11l-2.32,-0.47l-1.29,0.32l-0.4,-0.82l2.73,-5.16l3.02,1.06l3.53,-2.06l0.18,-1.68l2.16,-3.35l1.49,-1.35l-0.03,-1.85l-1.07,-0.85l1.54,-1.26l2.98,-0.59l3.23,-0.09l3.64,0.99l2.04,1.16l3.29,6.71l0.92,3.19ZM696.92,237.31l-1.87,1.08l-1.63,-0.64l-0.06,-1.79l1.03,-0.98l2.58,-0.69l1.16,0.05l0.3,0.54l-0.98,1.06l-0.53,1.37Z",
+                name: "China"
+            },
+            CM: {
+                path: "M457.92,257.49l1.05,1.91l-1.4,0.16l-1.05,-0.23l-0.45,0.22l-0.54,1.19l0.08,0.45l1.48,1.47l1.05,0.45l1.01,2.46l-1.52,2.99l-0.68,0.68l-0.13,3.69l2.38,3.84l1.09,0.8l0.24,2.48l-3.67,-1.14l-11.27,-0.13l0.23,-1.79l-0.98,-1.66l-1.19,-0.54l-0.44,-0.97l-0.6,-0.42l1.71,-4.27l0.75,-0.13l1.38,-1.36l0.65,-0.03l1.71,0.99l1.93,-1.12l1.14,-3.18l1.38,-1.17l2.0,-5.14l2.17,-2.13l0.3,-1.64l-0.86,-0.88l0.03,-0.33l0.94,1.28l0.07,3.22Z",
+                name: "Cameroon"
+            },
+            CL: {
+                path: "M246.5,429.18l-3.14,1.83l-0.57,3.16l-0.64,0.05l-2.68,-1.06l-2.82,-2.33l-3.04,-1.89l-0.69,-1.85l0.63,-2.14l-1.21,-2.11l-0.31,-5.37l1.01,-2.91l2.57,-2.38l-0.18,-0.68l-3.16,-0.77l2.05,-2.47l0.77,-4.65l2.32,0.9l0.54,-0.29l1.31,-6.31l-0.22,-0.44l-1.68,-0.8l-0.56,0.28l-0.7,3.36l-0.81,-0.22l1.56,-9.41l1.15,-2.24l-0.71,-2.82l-0.18,-2.84l1.01,-0.33l3.26,-9.14l1.07,-4.22l-0.56,-4.21l0.74,-2.34l-0.29,-3.27l1.46,-3.34l2.04,-16.59l-0.66,-7.76l1.03,-0.53l0.54,-0.9l0.79,1.14l0.32,1.78l1.25,1.16l-0.69,2.55l1.33,2.9l0.97,3.59l0.46,0.29l1.5,-0.3l0.11,0.23l-0.76,2.44l-2.57,1.23l-0.23,0.37l0.08,4.33l-0.46,0.77l0.56,1.21l-1.58,1.51l-1.68,2.62l-0.89,2.47l0.2,2.7l-1.48,2.73l1.12,5.09l0.64,0.61l-0.01,2.29l-1.38,2.68l0.01,2.4l-1.89,2.04l0.02,2.75l0.69,2.57l-1.43,1.13l-1.26,5.68l0.39,3.51l-0.97,0.89l0.58,3.5l1.02,1.14l-0.65,1.02l0.15,0.57l1.0,0.53l0.16,0.69l-1.03,0.85l0.26,1.75l-0.89,4.03l-1.31,2.66l0.24,1.75l-0.71,1.83l-1.99,1.7l0.3,3.67l0.88,1.19l1.58,0.01l0.01,2.21l1.04,1.95l5.98,0.63ZM248.69,430.79l0.0,7.33l0.4,0.4l3.52,0.05l-0.44,0.75l-1.94,0.98l-2.49,-0.37l-1.88,-1.06l-2.55,-0.49l-5.59,-3.71l-2.38,-2.63l4.1,2.48l3.32,1.23l0.45,-0.12l1.29,-1.57l0.83,-2.32l2.05,-1.24l1.31,0.29Z",
+                name: "Chile"
+            },
+            CA: {
+                path: "M280.06,145.6l-1.67,2.88l0.07,0.49l0.5,0.04l1.46,-0.98l1.0,0.42l-0.56,0.72l0.17,0.62l2.22,0.89l1.35,-0.71l1.95,0.78l-0.66,2.01l0.5,0.51l1.32,-0.42l0.98,3.17l-0.91,2.41l-0.8,0.08l-1.23,-0.45l0.47,-2.25l-0.89,-0.83l-0.48,0.06l-2.78,2.63l-0.34,-0.02l1.02,-0.85l-0.14,-0.69l-2.4,-0.77l-7.4,0.08l-0.17,-0.41l1.3,-0.94l0.02,-0.64l-0.73,-0.58l1.85,-1.74l2.57,-5.16l1.47,-1.79l1.99,-1.05l0.46,0.06l-1.53,2.45ZM68.32,74.16l4.13,0.95l4.02,2.14l2.61,0.4l2.47,-1.89l2.88,-1.31l3.85,0.48l3.71,-1.94l3.82,-1.04l1.56,1.68l0.49,0.08l1.87,-1.04l0.65,-1.98l1.24,0.35l4.16,3.94l0.54,0.01l2.75,-2.49l0.26,2.59l0.49,0.35l3.08,-0.73l1.04,-1.27l2.73,0.23l3.83,1.86l5.86,1.61l3.47,0.75l2.44,-0.26l2.73,1.78l-2.98,1.81l-0.19,0.41l0.31,0.32l4.53,0.92l6.87,-0.5l2.0,-0.69l2.49,2.39l0.53,0.02l2.72,-2.16l-0.02,-0.64l-2.16,-1.54l1.15,-1.06l4.83,-0.61l1.84,0.95l2.48,2.31l3.01,-0.23l4.55,1.92l3.85,-0.67l3.61,0.1l0.41,-0.44l-0.25,-2.36l1.79,-0.61l3.49,1.32l-0.01,3.77l0.31,0.39l0.45,-0.22l1.48,-3.16l1.74,0.1l0.41,-0.3l1.13,-4.37l-2.78,-3.11l-2.8,-1.74l0.19,-4.64l2.71,-3.07l2.98,0.67l2.41,1.95l3.19,4.8l-1.99,1.97l0.21,0.68l4.33,0.84l-0.01,4.15l0.25,0.37l0.44,-0.09l3.07,-3.15l2.54,2.39l-0.61,3.33l2.42,2.88l0.61,0.0l2.61,-3.08l1.88,-3.82l0.17,-4.58l6.72,0.94l3.13,2.04l0.13,1.82l-1.76,2.19l-0.01,0.49l1.66,2.16l-0.26,1.71l-4.68,2.8l-3.28,0.61l-2.47,-1.2l-0.55,0.23l-0.73,2.04l-2.38,3.43l-0.74,1.77l-2.74,2.57l-3.44,0.25l-2.21,1.78l-0.28,2.53l-2.82,0.55l-3.12,3.22l-2.72,4.31l-1.03,3.17l-0.14,4.31l0.33,0.41l3.44,0.57l2.24,5.95l0.45,0.23l3.4,-0.69l4.52,1.51l2.43,1.31l1.91,1.73l3.1,0.96l2.62,1.46l6.6,0.54l-0.35,2.74l0.81,3.53l1.81,3.78l3.83,3.3l0.45,0.04l2.1,-1.28l1.37,-3.69l-1.31,-5.38l-1.45,-1.58l3.57,-1.47l2.84,-2.46l1.52,-2.8l-0.25,-2.55l-1.7,-3.07l-2.85,-2.61l2.8,-3.95l-1.08,-3.37l-0.79,-5.67l1.36,-0.7l6.76,1.41l2.12,-0.96l5.12,3.36l1.05,1.61l4.08,0.26l-0.06,2.87l0.83,4.7l0.3,0.32l2.16,0.54l1.73,2.06l0.5,0.09l3.63,-2.03l2.52,-4.19l1.26,-1.32l7.6,11.72l-0.92,2.04l0.16,0.51l3.3,1.97l2.22,1.98l4.1,0.98l1.43,0.99l0.95,2.79l2.1,0.68l0.84,1.08l0.17,3.45l-3.37,2.26l-4.22,1.24l-3.06,2.63l-4.06,0.51l-5.35,-0.69l-6.39,0.2l-2.3,2.41l-3.26,1.51l-6.47,7.15l-0.06,0.48l0.44,0.19l2.13,-0.52l4.17,-4.24l5.12,-2.62l3.52,-0.3l1.69,1.21l-2.12,2.21l0.81,3.47l1.02,2.61l3.47,1.6l4.14,-0.45l2.15,-2.8l0.26,1.48l1.14,0.8l-2.56,1.69l-5.5,1.82l-2.54,1.27l-2.74,2.15l-1.4,-0.16l-0.07,-2.01l4.14,-2.44l0.18,-0.45l-0.39,-0.29l-6.63,0.45l-1.39,-1.49l-0.14,-4.43l-1.11,-0.91l-1.82,0.39l-0.66,-0.66l-0.6,0.03l-1.91,2.39l-0.82,2.52l-0.8,1.27l-1.67,0.56l-0.46,0.76l-8.31,0.07l-1.21,0.62l-2.35,1.97l-0.71,-0.14l-1.37,0.96l-1.12,-0.48l-4.74,1.26l-0.9,1.17l0.21,0.62l1.73,0.3l-1.81,0.31l-1.85,0.81l-2.11,-0.13l-2.95,1.78l-0.69,-0.09l1.39,-2.1l1.73,-1.21l0.1,-2.29l1.16,-1.99l0.49,0.53l2.03,0.42l1.2,-1.16l0.02,-0.47l-2.66,-3.51l-2.28,-0.61l-5.64,-0.71l-0.4,-0.57l-0.79,0.13l0.2,-0.41l-0.22,-0.55l-0.68,-0.26l0.19,-1.26l-0.78,-0.73l0.31,-0.64l-0.29,-0.57l-2.6,-0.44l-0.75,-1.63l-0.94,-0.66l-4.31,-0.65l-1.13,1.19l-1.48,0.59l-0.85,1.06l-2.83,-0.76l-2.09,0.39l-2.39,-0.97l-4.24,-0.7l-0.57,-0.4l-0.41,-1.63l-0.4,-0.3l-0.85,0.02l-0.39,0.4l-0.01,0.85l-69.13,-0.01l-6.51,-4.52l-4.5,-1.38l-1.26,-2.66l0.33,-1.93l-0.23,-0.43l-3.01,-1.35l-0.55,-2.77l-2.89,-2.38l-0.04,-1.45l1.39,-1.83l-0.28,-2.55l-4.16,-2.2l-4.07,-6.6l-4.02,-3.22l-1.3,-1.88l-0.5,-0.13l-2.51,1.21l-2.23,1.87l-3.85,-3.88l-2.44,-1.04l-2.22,-0.13l0.03,-37.49ZM260.37,148.65l3.04,0.76l2.26,1.2l-3.78,-0.95l-1.53,-1.01ZM249.4,3.81l6.68,0.49l5.32,0.79l4.26,1.57l-0.07,1.1l-5.85,2.53l-6.02,1.21l-2.39,1.39l-0.18,0.45l0.39,0.29l4.01,-0.02l-4.65,2.82l-4.2,1.74l-4.19,4.59l-5.03,0.92l-1.67,1.15l-7.47,0.59l-0.37,0.37l0.32,0.42l2.41,0.49l-0.81,0.47l-0.12,0.59l1.83,2.41l-2.02,1.59l-3.81,1.51l-1.32,2.16l-3.38,1.53l-0.22,0.48l0.35,1.19l0.4,0.29l3.88,-0.18l0.03,0.61l-6.33,2.95l-6.41,-1.4l-7.43,0.79l-3.72,-0.62l-4.4,-0.25l-0.23,-1.83l4.29,-1.11l0.28,-0.51l-1.1,-3.45l1.0,-0.25l6.58,2.28l0.47,-0.16l-0.05,-0.49l-3.41,-3.45l-3.58,-0.98l1.48,-1.55l4.34,-1.29l0.97,-2.19l-0.16,-0.48l-3.42,-2.13l-0.81,-2.26l6.2,0.22l2.24,0.58l3.91,-2.1l0.2,-0.43l-0.35,-0.32l-5.64,-0.67l-8.73,0.36l-4.26,-1.9l-2.12,-2.4l-2.78,-1.66l-0.41,-1.52l3.31,-1.03l2.93,-0.2l4.91,-0.99l3.7,-2.27l2.87,0.3l2.62,1.67l0.56,-0.14l1.82,-3.2l3.13,-0.94l4.44,-0.69l7.53,-0.26l1.48,0.67l7.19,-1.06l10.8,0.79ZM203.85,57.54l0.01,0.42l1.97,2.97l0.68,-0.02l2.24,-3.72l5.95,-1.86l4.01,4.64l-0.35,2.91l0.5,0.43l4.95,-1.36l2.32,-1.8l5.31,2.28l3.27,2.11l0.3,1.84l0.48,0.33l4.42,-0.99l2.64,2.87l5.97,1.77l2.06,1.72l2.11,3.71l-4.19,1.86l-0.01,0.73l5.9,2.83l3.94,0.94l3.78,3.95l3.46,0.25l-0.63,2.37l-4.11,4.47l-2.76,-1.56l-3.9,-3.94l-3.59,0.41l-0.33,0.34l-0.19,2.72l2.63,2.38l3.42,1.89l0.94,0.97l1.55,3.75l-0.7,2.29l-2.74,-0.92l-6.25,-3.15l-0.51,0.13l0.05,0.52l6.07,5.69l0.18,0.59l-6.09,-1.39l-5.31,-2.24l-2.63,-1.66l0.6,-0.77l-0.12,-0.6l-7.39,-4.01l-0.59,0.37l0.03,0.79l-6.73,0.6l-1.69,-1.1l1.36,-2.46l4.51,-0.07l5.15,-0.52l0.31,-0.6l-0.74,-1.3l0.78,-1.84l3.21,-4.05l-0.67,-2.35l-1.11,-1.6l-3.84,-2.1l-4.35,-1.28l0.91,-0.63l0.06,-0.61l-2.65,-2.75l-2.34,-0.36l-1.89,-1.46l-0.53,0.03l-1.24,1.23l-4.36,0.55l-9.04,-0.99l-9.26,-1.98l-1.6,-1.22l2.22,-1.77l0.13,-0.44l-0.38,-0.27l-3.22,-0.02l-0.72,-4.25l1.83,-4.04l2.42,-1.85l5.5,-1.1l-1.39,2.35ZM261.19,159.33l2.07,0.61l1.44,-0.04l-1.15,0.63l-2.94,-1.23l-0.4,-0.68l0.36,-0.37l0.61,1.07ZM230.83,84.39l-2.37,0.18l-0.49,-1.63l0.93,-2.09l1.94,-0.51l1.62,0.99l0.02,1.52l-1.66,1.54ZM229.43,58.25l0.11,0.65l-4.87,-0.21l-2.72,0.62l-3.1,-2.57l0.08,-1.26l0.86,-0.23l5.57,0.51l4.08,2.5ZM222.0,105.02l-0.72,1.49l-0.63,-0.19l-0.48,-0.84l0.81,-0.99l0.65,0.05l0.37,0.46ZM183.74,38.32l2.9,1.7l4.79,-0.01l1.84,1.46l-0.49,1.68l0.23,0.48l2.82,1.14l1.76,1.26l7.01,0.65l4.1,-1.1l5.03,-0.43l3.93,0.35l2.48,1.77l0.46,1.7l-1.3,1.1l-3.56,1.01l-3.23,-0.59l-7.17,0.76l-5.09,0.09l-3.99,-0.6l-6.42,-1.54l-0.79,-2.51l-0.3,-2.49l-2.64,-2.5l-5.32,-0.72l-2.52,-1.4l0.68,-1.57l4.78,0.31ZM207.38,91.35l0.4,1.56l0.56,0.26l1.06,-0.52l1.32,0.96l5.42,2.57l0.2,1.68l0.46,0.35l1.68,-0.28l1.15,0.85l-1.55,0.87l-3.61,-0.88l-1.32,-1.69l-0.57,-0.06l-2.45,2.1l-3.12,1.79l-0.7,-1.87l-0.42,-0.26l-2.16,0.24l1.39,-1.39l0.32,-3.14l0.76,-3.35l1.18,0.22ZM215.49,102.6l-2.67,1.95l-1.4,-0.07l-0.3,-0.58l1.53,-1.48l2.84,0.18ZM202.7,24.12l2.53,1.59l-2.87,1.4l-4.53,4.05l-4.25,0.38l-5.03,-0.68l-2.45,-2.04l0.03,-1.62l1.82,-1.37l0.14,-0.45l-0.38,-0.27l-4.45,0.04l-2.59,-1.76l-1.41,-2.29l1.57,-2.32l1.62,-1.66l2.44,-0.39l0.25,-0.65l-0.6,-0.74l4.86,-0.25l3.24,3.11l8.16,2.3l1.9,3.61ZM187.47,59.2l-2.76,3.49l-2.38,-0.15l-1.44,-3.84l0.04,-2.2l1.19,-1.88l2.3,-1.23l5.07,0.17l4.11,1.02l-3.24,3.72l-2.88,0.89ZM186.07,48.79l-1.08,1.53l-3.34,-0.34l-2.56,-1.1l1.03,-1.75l3.25,-1.23l1.95,1.58l0.75,1.3ZM185.71,35.32l-5.3,-0.2l-0.32,-0.71l4.31,0.07l1.3,0.84ZM180.68,32.48l-3.34,1.0l-1.79,-1.1l-0.98,-1.87l-0.15,-1.73l4.1,0.53l2.67,1.7l-0.51,1.47ZM180.9,76.31l-1.1,1.08l-3.13,-1.23l-2.12,0.43l-2.71,-1.57l1.72,-1.09l1.55,-1.72l3.81,1.9l1.98,2.2ZM169.74,54.87l2.96,0.97l4.17,-0.57l0.41,0.88l-2.14,2.11l0.09,0.64l3.55,1.92l-0.4,3.72l-3.79,1.65l-2.17,-0.35l-1.72,-1.74l-6.02,-3.5l0.03,-0.85l4.68,0.54l0.4,-0.21l-0.05,-0.45l-2.48,-2.81l2.46,-1.95ZM174.45,40.74l1.37,1.73l0.07,2.44l-1.05,3.45l-3.79,0.47l-2.32,-0.69l0.05,-2.64l-0.44,-0.41l-3.68,0.35l-0.12,-3.1l2.45,0.1l3.67,-1.73l3.41,0.29l0.37,-0.26ZM170.05,31.55l0.67,1.56l-3.33,-0.49l-4.22,-1.77l-4.35,-0.16l1.4,-0.94l-0.06,-0.7l-2.81,-1.23l-0.12,-1.39l4.39,0.68l6.62,1.98l1.81,2.47ZM134.5,58.13l-1.02,1.82l0.45,0.58l5.4,-1.39l3.33,2.29l0.49,-0.03l2.6,-2.23l1.94,1.32l2.0,4.5l0.7,0.06l1.3,-2.29l-1.63,-4.46l1.69,-0.54l2.31,0.71l2.65,1.81l2.49,7.92l8.48,4.27l-0.19,1.35l-3.79,0.33l-0.26,0.67l1.4,1.49l-0.58,1.1l-4.23,-0.64l-4.43,-1.19l-3.0,0.28l-4.66,1.47l-10.52,1.04l-1.43,-2.02l-3.42,-1.2l-2.21,0.43l-2.51,-2.86l4.84,-1.05l3.6,0.19l3.27,-0.78l0.31,-0.39l-0.31,-0.39l-4.84,-1.06l-8.79,0.27l-0.85,-1.07l5.26,-1.66l0.27,-0.45l-0.4,-0.34l-3.8,0.06l-3.81,-1.06l1.81,-3.01l1.66,-1.79l6.48,-2.81l1.97,0.71ZM158.7,56.61l-1.7,2.44l-3.2,-2.75l0.37,-0.3l3.11,-0.18l1.42,0.79ZM149.61,42.73l1.01,1.89l0.5,0.18l2.14,-0.82l2.23,0.19l0.36,2.04l-1.33,2.09l-8.28,0.76l-6.35,2.15l-3.41,0.1l-0.19,-0.96l4.9,-2.08l0.23,-0.46l-0.41,-0.31l-11.25,0.59l-2.89,-0.74l3.04,-4.44l2.14,-1.32l6.81,1.69l4.58,3.06l4.37,0.39l0.36,-0.63l-3.36,-4.6l1.85,-1.53l2.18,0.51l0.77,2.26ZM144.76,34.41l-4.36,1.44l-3.0,-1.4l1.46,-1.24l3.47,-0.52l2.96,0.71l-0.52,1.01ZM145.13,29.83l-1.9,0.66l-3.67,-0.0l2.27,-1.61l3.3,0.95ZM118.92,65.79l-6.03,2.02l-1.33,-1.9l-5.38,-2.28l2.59,-5.05l2.16,-3.14l-0.02,-0.48l-1.97,-2.41l7.64,-0.7l3.6,1.02l6.3,0.27l4.42,2.95l-2.53,0.98l-6.24,3.43l-3.1,3.28l-0.11,2.01ZM129.54,35.53l-0.28,3.37l-1.72,1.62l-2.33,0.28l-4.61,2.19l-3.86,0.76l-2.64,-0.87l3.72,-3.4l5.01,-3.34l3.72,0.07l3.0,-0.67ZM111.09,152.69l-0.67,0.24l-3.85,-1.37l-0.83,-1.17l-2.12,-1.07l-0.66,-1.02l-2.4,-0.55l-0.74,-1.71l6.02,1.45l2.0,2.55l2.52,1.39l0.73,1.27ZM87.8,134.64l0.89,0.29l1.86,-0.21l-0.65,3.34l1.69,2.33l-1.31,-1.33l-0.99,-1.62l-1.17,-0.98l-0.33,-1.82Z",
+                name: "Canada"
+            },
+            CG: {
+                path: "M466.72,276.48l-0.1,1.03l-1.25,2.97l-0.19,3.62l-0.46,1.78l-0.23,0.63l-1.61,1.19l-1.21,1.39l-1.09,2.43l0.04,2.09l-3.25,3.24l-0.5,-0.24l-0.5,-0.83l-1.36,-0.02l-0.98,0.89l-1.68,-0.99l-1.54,1.24l-1.52,-1.96l1.57,-1.14l0.11,-0.52l-0.77,-1.35l2.1,-0.66l0.39,-0.73l1.05,0.82l2.21,0.11l1.12,-1.37l0.37,-1.81l-0.27,-2.09l-1.13,-1.5l1.0,-2.69l-0.13,-0.45l-0.92,-0.58l-1.6,0.17l-0.51,-0.94l0.1,-0.61l2.75,0.09l3.97,1.24l0.51,-0.33l0.17,-1.28l1.24,-2.21l1.28,-1.14l2.76,0.49Z",
+                name: "Congo"
+            },
+            CF: {
+                path: "M461.16,278.2l-0.26,-1.19l-1.09,-0.77l-0.84,-1.17l-0.29,-1.0l-1.04,-1.15l0.08,-3.43l0.58,-0.49l1.16,-2.35l1.85,-0.17l0.61,-0.62l0.97,0.58l3.15,-0.96l2.48,-1.92l0.02,-0.96l2.81,0.02l2.36,-1.17l1.93,-2.85l1.16,-0.93l1.11,-0.3l0.27,0.86l1.34,1.47l-0.39,2.01l0.3,1.01l4.01,2.75l0.17,0.93l2.63,2.31l0.6,1.44l2.08,1.4l-3.84,-0.21l-1.94,0.88l-1.23,-0.49l-2.67,1.2l-1.29,-0.18l-0.51,0.36l-0.6,1.22l-3.35,-0.65l-1.57,-0.91l-2.42,-0.83l-1.45,0.91l-0.97,1.27l-0.26,1.56l-3.22,-0.43l-1.49,1.33l-0.94,1.62Z",
+                name: "Central African Rep."
+            },
+            CD: {
+                path: "M487.01,272.38l2.34,-0.14l1.35,1.84l1.34,0.45l0.86,-0.39l1.21,0.12l1.07,-0.41l0.54,0.89l2.04,1.54l-0.14,2.72l0.7,0.54l-1.38,1.13l-1.53,2.54l-0.17,2.05l-0.59,1.08l-0.02,1.72l-0.72,0.84l-0.66,3.01l0.63,1.32l-0.44,4.26l0.64,1.47l-0.37,1.22l0.86,1.8l1.53,1.41l0.3,1.26l0.44,0.5l-4.08,0.75l-0.92,1.81l0.51,1.34l-0.74,5.43l0.17,0.38l2.45,1.46l0.54,-0.1l0.12,1.62l-1.28,-0.01l-1.85,-2.35l-1.94,-0.45l-0.48,-1.13l-0.55,-0.2l-1.41,0.74l-1.71,-0.3l-1.01,-1.18l-2.49,-0.19l-0.44,-0.77l-1.98,-0.21l-2.88,0.36l0.11,-2.41l-0.85,-1.13l-0.16,-1.36l0.32,-1.73l-0.46,-0.89l-0.04,-1.49l-0.4,-0.39l-2.53,0.02l0.1,-0.41l-0.39,-0.49l-1.28,0.01l-0.43,0.45l-1.62,0.32l-0.83,1.79l-1.09,-0.28l-2.4,0.52l-1.37,-1.91l-1.3,-3.3l-0.38,-0.27l-7.39,-0.03l-2.46,0.42l0.5,-0.45l0.37,-1.47l0.66,-0.38l0.92,0.08l0.73,-0.82l0.87,0.02l0.31,0.68l1.4,0.36l3.59,-3.63l0.01,-2.23l1.02,-2.29l2.69,-2.39l0.43,-0.99l0.49,-1.96l0.17,-3.51l1.25,-2.95l0.36,-3.14l0.86,-1.13l1.1,-0.66l3.57,1.73l3.65,0.73l0.46,-0.21l0.8,-1.46l1.24,0.19l2.61,-1.17l0.81,0.44l1.04,-0.03l0.59,-0.66l0.7,-0.16l1.81,0.25Z",
+                name: "Dem. Rep. Congo"
+            },
+            CZ: {
+                path: "M458.46,144.88l1.22,1.01l1.47,0.23l0.13,0.93l1.36,0.68l0.54,-0.2l0.24,-0.55l1.15,0.25l0.53,1.09l1.68,0.18l0.6,0.84l-1.04,0.73l-0.96,1.28l-1.6,0.17l-0.55,0.56l-1.04,-0.46l-1.05,0.15l-2.12,-0.96l-1.05,0.34l-1.2,1.12l-1.56,-0.87l-2.57,-2.1l-0.53,-1.88l4.7,-2.52l0.71,0.26l0.9,-0.28Z",
+                name: "Czech Rep."
+            },
+            CY: {path: "M504.36,193.47l0.43,0.28l-1.28,0.57l-0.92,-0.28l-0.24,-0.46l2.01,-0.13Z", name: "Cyprus"},
+            CR: {
+                path: "M211.34,258.05l0.48,0.99l1.6,1.6l-0.54,0.45l0.29,1.42l-0.25,1.19l-1.09,-0.59l-0.05,-1.25l-2.46,-1.42l-0.28,-0.77l-0.66,-0.45l-0.45,-0.0l-0.11,1.04l-1.32,-0.95l0.31,-1.3l-0.36,-0.6l0.31,-0.27l1.42,0.58l1.29,-0.14l0.56,0.56l0.74,0.17l0.55,-0.27Z",
+                name: "Costa Rica"
+            },
+            CU: {
+                path: "M221.21,227.25l1.27,1.02l2.19,-0.28l4.43,3.33l2.08,0.43l-0.1,0.38l0.36,0.5l1.75,0.1l1.48,0.84l-3.11,0.51l-4.15,-0.03l0.77,-0.67l-0.04,-0.64l-1.2,-0.74l-1.49,-0.16l-0.7,-0.61l-0.56,-1.4l-0.4,-0.25l-1.34,0.1l-2.2,-0.66l-0.88,-0.58l-3.18,-0.4l-0.27,-0.16l0.58,-0.74l-0.36,-0.29l-2.72,-0.05l-1.7,1.29l-0.91,0.03l-0.61,0.69l-1.01,0.22l1.11,-1.29l1.01,-0.52l3.69,-1.01l3.98,0.21l2.21,0.84Z",
+                name: "Cuba"
+            },
+            SZ: {
+                path: "M500.35,351.36l0.5,2.04l-0.38,0.89l-1.05,0.21l-1.23,-1.2l-0.02,-0.64l0.83,-1.57l1.34,0.27Z",
+                name: "Swaziland"
+            },
+            SY: {
+                path: "M511.0,199.79l0.05,-1.33l0.54,-1.36l1.28,-0.99l0.13,-0.45l-0.41,-1.11l-1.14,-0.36l-0.19,-1.74l0.52,-1.0l1.29,-1.21l0.2,-1.18l0.59,0.23l2.62,-0.76l1.36,0.52l2.06,-0.01l2.95,-1.08l3.25,-0.26l-0.67,0.94l-1.28,0.66l-0.21,0.4l0.23,2.01l-0.88,3.19l-10.15,5.73l-2.15,-0.85Z",
+                name: "Syria"
+            },
+            KG: {
+                path: "M621.35,172.32l-3.87,1.69l-0.96,1.18l-3.04,0.34l-1.13,1.86l-2.36,-0.35l-1.99,0.63l-2.39,1.4l0.06,0.95l-0.4,0.37l-4.52,0.43l-3.02,-0.93l-2.37,0.17l0.11,-0.79l2.32,0.42l1.13,-0.88l1.99,0.2l3.21,-2.14l-0.03,-0.69l-2.97,-1.57l-1.94,0.65l-1.22,-0.74l1.71,-1.58l-0.12,-0.67l-0.36,-0.15l0.32,-0.77l1.36,-0.35l4.02,1.02l0.49,-0.3l0.35,-1.59l1.09,-0.48l3.42,1.22l1.11,-0.31l7.64,0.39l1.16,1.0l1.23,0.39Z",
+                name: "Kyrgyzstan"
+            },
+            KE: {
+                path: "M506.26,284.69l1.87,-2.56l0.93,-2.15l-1.38,-4.08l-1.06,-1.6l2.82,-2.75l0.79,0.26l0.12,1.41l0.86,0.83l1.9,0.11l3.28,2.13l3.57,0.44l1.05,-1.12l1.96,-0.9l0.82,0.68l1.16,0.09l-1.78,2.45l0.03,9.12l1.3,1.94l-1.37,0.78l-0.67,1.03l-1.08,0.46l-0.34,1.67l-0.81,1.07l-0.45,1.55l-0.68,0.56l-3.2,-2.23l-0.35,-1.58l-8.86,-4.98l0.14,-1.6l-0.57,-1.04Z",
+                name: "Kenya"
+            },
+            SS: {
+                path: "M481.71,263.34l1.07,-0.72l1.2,-3.18l1.36,-0.26l1.61,1.99l0.87,0.34l1.1,-0.41l1.5,0.07l0.57,0.53l2.49,0.0l0.44,-0.63l1.07,-0.4l0.45,-0.84l0.59,-0.33l1.9,1.33l1.6,-0.2l2.83,-3.33l-0.32,-2.21l1.59,-0.52l-0.24,1.6l0.3,1.83l1.35,1.18l0.2,1.87l0.35,0.41l0.02,1.53l-0.23,0.47l-1.42,0.25l-0.85,1.44l0.3,0.6l1.4,0.16l1.11,1.08l0.59,1.13l1.03,0.53l1.28,2.36l-4.41,3.98l-1.74,0.01l-1.89,0.55l-1.47,-0.52l-1.15,0.57l-2.96,-2.62l-1.3,0.49l-1.06,-0.15l-0.79,0.39l-0.82,-0.22l-1.8,-2.7l-1.91,-1.1l-0.66,-1.5l-2.62,-2.32l-0.18,-0.94l-2.37,-1.6Z",
+                name: "S. Sudan"
+            },
+            SR: {
+                path: "M283.12,270.19l2.1,0.53l-1.08,1.95l0.2,1.72l0.93,1.49l-0.59,2.03l-0.43,0.71l-1.12,-0.42l-1.32,0.22l-0.93,-0.2l-0.46,0.26l-0.25,0.73l0.33,0.7l-0.89,-0.13l-1.39,-1.97l-0.31,-1.34l-0.97,-0.31l-0.89,-1.47l0.35,-1.61l1.45,-0.82l0.33,-1.87l2.61,0.44l0.57,-0.47l1.75,-0.16Z",
+                name: "Suriname"
+            },
+            KH: {
+                path: "M689.52,249.39l0.49,1.45l-0.28,2.74l-4.0,1.86l-0.16,0.6l0.68,0.95l-2.06,0.17l-2.05,0.97l-1.82,-0.32l-2.12,-3.7l-0.55,-2.85l1.4,-1.85l3.02,-0.45l2.23,0.35l2.01,0.98l0.51,-0.14l0.95,-1.48l1.74,0.74Z",
+                name: "Cambodia"
+            },
+            SV: {
+                path: "M195.8,250.13l1.4,-1.19l2.24,1.45l0.98,-0.27l0.44,0.2l-0.27,1.05l-1.14,-0.03l-3.64,-1.21Z",
+                name: "El Salvador"
+            },
+            SK: {
+                path: "M476.82,151.17l-1.14,1.9l-2.73,-0.92l-0.82,0.2l-0.74,0.8l-3.46,0.73l-0.47,0.69l-1.76,0.33l-1.88,-1.0l-0.18,-0.81l0.38,-0.75l1.87,-0.32l1.74,-1.89l0.83,0.16l0.79,-0.34l1.51,1.04l1.34,-0.63l1.25,0.3l1.65,-0.42l1.81,0.95Z",
+                name: "Slovakia"
+            },
+            KR: {
+                path: "M737.51,185.84l0.98,-0.1l0.87,-1.17l2.69,-0.32l0.33,-0.29l1.76,2.79l0.58,1.76l0.02,3.12l-0.8,1.32l-2.21,0.55l-1.93,1.13l-1.8,0.19l-0.2,-1.1l0.43,-2.28l-0.95,-2.56l1.43,-0.37l0.23,-0.62l-1.43,-2.06Z",
+                name: "Korea"
+            },
+            SI: {
+                path: "M456.18,162.07l-0.51,-1.32l0.18,-1.05l1.69,0.2l1.42,-0.71l2.09,-0.07l0.62,-0.51l0.21,0.47l-1.61,0.67l-0.44,1.34l-0.66,0.24l-0.26,0.82l-1.22,-0.49l-0.84,0.46l-0.69,-0.04Z",
+                name: "Slovenia"
+            },
+            KP: {
+                path: "M736.77,185.16l-0.92,-0.42l-0.88,0.62l-1.21,-0.88l0.96,-1.15l0.59,-2.59l-0.46,-0.74l-2.09,-0.77l1.64,-1.52l2.72,-1.58l1.58,-1.91l1.11,0.78l2.17,0.11l0.41,-0.5l-0.3,-1.22l3.52,-1.18l0.94,-1.4l0.98,1.08l-2.19,2.18l0.01,2.14l-1.06,0.54l-1.41,1.4l-1.7,0.52l-1.25,1.09l-0.14,1.98l0.94,0.45l1.15,1.04l-0.13,0.26l-2.6,0.29l-1.13,1.29l-1.22,0.08Z",
+                name: "Dem. Rep. Korea"
+            },
+            SO: {
+                path: "M525.13,288.48l-1.13,-1.57l-0.03,-8.86l2.66,-3.38l1.67,-0.13l2.13,-1.69l3.41,-0.23l7.08,-7.55l2.91,-3.69l0.08,-4.82l2.98,-0.67l1.24,-0.86l0.45,-0.0l-0.2,3.0l-1.21,3.62l-2.73,5.97l-2.13,3.65l-5.03,6.16l-8.56,6.4l-2.78,3.08l-0.8,1.56Z",
+                name: "Somalia"
+            },
+            SN: {
+                path: "M390.09,248.21l0.12,1.55l0.49,1.46l0.96,0.82l0.05,1.28l-1.26,-0.19l-0.75,0.33l-1.84,-0.61l-5.84,-0.13l-2.54,0.51l-0.22,-1.03l1.77,0.04l2.01,-0.91l1.03,0.48l1.09,0.04l1.29,-0.62l0.14,-0.58l-0.51,-0.74l-1.81,0.25l-1.13,-0.63l-0.79,0.04l-0.72,0.61l-2.31,0.06l-0.92,-1.77l-0.81,-0.64l0.64,-0.35l2.46,-3.74l1.04,0.19l1.38,-0.56l1.19,-0.02l2.72,1.37l3.03,3.48Z",
+                name: "Senegal"
+            },
+            SL: {
+                path: "M394.46,264.11l-1.73,1.98l-0.58,1.33l-2.07,-1.06l-1.22,-1.26l-0.65,-2.39l1.16,-0.96l0.67,-1.17l1.21,-0.52l1.66,0.0l1.03,1.64l0.52,2.41Z",
+                name: "Sierra Leone"
+            },
+            SB: {
+                path: "M826.69,311.6l-0.61,0.09l-0.2,-0.33l0.37,0.15l0.44,0.09ZM824.18,307.38l-0.26,-0.3l-0.31,-0.91l0.03,0.0l0.54,1.21ZM823.04,309.33l-1.66,-0.22l-0.2,-0.52l1.16,0.28l0.69,0.46ZM819.28,304.68l1.14,0.65l0.02,0.03l-0.81,-0.44l-0.35,-0.23Z",
+                name: "Solomon Is."
+            },
+            SA: {
+                path: "M537.53,210.34l2.0,0.24l0.9,1.32l1.49,-0.06l0.87,2.08l1.29,0.76l0.51,0.99l1.56,1.03l-0.1,1.9l0.32,0.9l1.58,2.47l0.76,0.53l0.7,-0.04l1.68,4.23l7.53,1.33l0.51,-0.29l0.77,1.25l-1.55,4.87l-7.29,2.52l-7.3,1.03l-2.34,1.17l-1.88,2.74l-0.76,0.28l-0.82,-0.78l-0.91,0.12l-2.88,-0.51l-3.51,0.25l-0.86,-0.56l-0.57,0.15l-0.66,1.27l0.16,1.11l-0.43,0.32l-0.93,-1.4l-0.33,-1.16l-1.23,-0.88l-1.27,-2.06l-0.78,-2.22l-1.73,-1.79l-1.14,-0.48l-1.54,-2.31l-0.21,-3.41l-1.44,-2.93l-1.27,-1.16l-1.33,-0.57l-1.31,-3.37l-0.77,-0.67l-0.97,-1.97l-2.8,-4.03l-1.06,-0.17l0.37,-1.96l0.2,-0.72l2.74,0.3l1.08,-0.84l0.6,-0.94l1.74,-0.35l0.65,-1.03l0.71,-0.4l0.1,-0.62l-2.06,-2.28l4.39,-1.22l0.48,-0.37l2.77,0.69l3.66,1.9l7.03,5.5l4.87,0.3Z",
+                name: "Saudi Arabia"
+            },
+            SE: {
+                path: "M480.22,89.3l-4.03,1.17l-2.43,2.86l0.26,2.57l-8.77,6.64l-1.78,5.79l1.78,2.68l2.22,1.96l-2.07,3.77l-2.72,1.13l-0.95,6.04l-1.29,3.01l-2.74,-0.31l-0.4,0.22l-1.31,2.59l-2.34,0.13l-0.75,-3.09l-2.08,-4.03l-1.83,-4.96l1.0,-1.93l2.14,-2.7l0.83,-4.45l-1.6,-2.17l-0.15,-4.94l1.48,-3.39l2.58,-0.15l0.87,-1.59l-0.78,-1.57l3.76,-5.59l4.04,-7.48l2.17,0.01l0.39,-0.29l0.57,-2.07l4.37,0.64l0.46,-0.34l0.33,-2.56l1.1,-0.13l6.94,4.87l0.06,6.32l0.66,1.36Z",
+                name: "Sweden"
+            },
+            SD: {
+                path: "M505.98,259.4l-0.34,-0.77l-1.17,-0.9l-0.26,-1.61l0.29,-1.81l-0.34,-0.46l-1.16,-0.17l-0.54,0.59l-1.23,0.11l-0.28,0.65l0.53,0.65l0.17,1.22l-2.44,3.0l-0.96,0.19l-2.39,-1.4l-0.95,0.52l-0.38,0.78l-1.11,0.41l-0.29,0.5l-1.94,0.0l-0.54,-0.52l-1.81,-0.09l-0.95,0.4l-2.45,-2.35l-2.07,0.54l-0.73,1.26l-0.6,2.1l-1.25,0.58l-0.75,-0.62l0.27,-2.65l-1.48,-1.78l-0.22,-1.48l-0.92,-0.96l-0.02,-1.29l-0.57,-1.16l-0.68,-0.16l0.69,-1.29l-0.18,-1.14l0.65,-0.62l0.03,-0.55l-0.36,-0.41l1.55,-2.97l1.91,0.16l0.43,-0.4l-0.1,-10.94l2.49,-0.01l0.4,-0.4l-0.0,-4.82l29.02,0.0l0.64,2.04l-0.49,0.66l0.36,2.69l0.93,3.16l2.12,1.55l-0.89,1.04l-1.72,0.39l-0.98,0.9l-1.43,5.65l0.24,1.15l-0.38,2.06l-0.96,2.38l-1.53,1.31l-1.32,2.91l-1.22,0.86l-0.37,1.34Z",
+                name: "Sudan"
+            },
+            DO: {
+                path: "M241.8,239.2l0.05,-0.65l-0.46,-0.73l0.42,-0.44l0.19,-1.0l-0.09,-1.53l1.66,0.01l1.99,0.63l0.33,0.67l1.28,0.19l0.33,0.76l1.0,0.08l0.8,0.62l-0.45,0.51l-1.13,-0.47l-1.88,-0.01l-1.27,0.59l-0.75,-0.55l-1.01,0.54l-0.79,1.4l-0.23,-0.61Z",
+                name: "Dominican Rep."
+            },
+            DJ: {
+                path: "M528.43,256.18l-0.45,0.66l-0.58,-0.25l-1.51,0.13l-0.18,-1.01l1.45,-1.95l0.83,0.17l0.77,-0.44l0.2,1.0l-1.2,0.51l-0.06,0.7l0.73,0.47Z",
+                name: "Djibouti"
+            },
+            DK: {
+                path: "M452.28,129.07l-1.19,2.24l-2.13,-1.6l-0.23,-0.95l2.98,-0.95l0.57,1.26ZM447.74,126.31l-0.26,0.57l-0.88,-0.07l-1.8,2.53l0.48,1.69l-1.09,0.36l-1.61,-0.39l-0.89,-1.69l-0.07,-3.43l0.96,-1.73l2.02,-0.2l1.09,-1.07l1.33,-0.67l-0.05,1.06l-0.73,1.41l0.3,1.0l1.2,0.64Z",
+                name: "Denmark"
+            },
+            DE: {
+                path: "M453.14,155.55l-0.55,-0.36l-1.2,-0.1l-1.87,0.57l-2.13,-0.13l-0.56,0.63l-0.86,-0.6l-0.96,0.09l-2.57,-0.93l-0.85,0.67l-1.47,-0.02l0.24,-1.75l1.23,-2.14l-0.28,-0.59l-3.52,-0.58l-0.92,-0.66l0.12,-1.2l-0.48,-0.88l0.27,-2.17l-0.37,-3.03l1.41,-0.22l0.63,-1.26l0.66,-3.19l-0.41,-1.18l0.26,-0.39l1.66,-0.15l0.33,0.54l0.62,0.07l1.7,-1.69l-0.54,-3.02l1.37,0.33l1.31,-0.37l0.31,1.18l2.25,0.71l-0.02,0.92l0.5,0.4l2.55,-0.65l1.34,-0.87l2.57,1.24l1.06,0.98l0.48,1.44l-0.57,0.74l-0.0,0.48l0.87,1.15l0.57,1.64l-0.14,1.29l0.82,1.7l-1.5,-0.07l-0.56,0.57l-4.47,2.15l-0.22,0.54l0.68,2.26l2.58,2.16l-0.66,1.11l-0.79,0.36l-0.23,0.43l0.32,1.87Z",
+                name: "Germany"
+            },
+            YE: {
+                path: "M528.27,246.72l0.26,-0.42l-0.22,-1.01l0.19,-1.5l0.92,-0.69l-0.07,-1.35l0.39,-0.75l1.01,0.47l3.34,-0.27l3.76,0.41l0.95,0.81l1.36,-0.58l1.74,-2.62l2.18,-1.09l6.86,-0.94l2.48,5.41l-1.64,0.76l-0.56,1.9l-6.23,2.16l-2.29,1.8l-1.93,0.05l-1.41,1.02l-4.24,0.74l-1.72,1.49l-3.28,0.19l-0.52,-1.18l0.02,-1.51l-1.34,-3.29Z",
+                name: "Yemen"
+            },
+            AT: {
+                path: "M462.89,152.8l0.04,2.25l-1.07,0.0l-0.33,0.63l0.36,0.51l-1.04,2.13l-2.02,0.07l-1.33,0.7l-5.29,-0.99l-0.47,-0.93l-0.44,-0.21l-2.47,0.55l-0.42,0.51l-3.18,-0.81l0.43,-0.91l1.12,0.78l0.6,-0.17l0.25,-0.58l1.93,0.12l1.86,-0.56l1.0,0.08l0.68,0.57l0.62,-0.15l0.26,-0.77l-0.3,-1.78l0.8,-0.44l0.68,-1.15l1.52,0.85l0.47,-0.06l1.34,-1.25l0.64,-0.17l1.81,0.92l1.28,-0.11l0.7,0.37Z",
+                name: "Austria"
+            },
+            DZ: {
+                path: "M441.46,188.44l-0.32,1.07l0.39,2.64l-0.54,2.16l-1.58,1.82l0.37,2.39l1.91,1.55l0.18,0.8l1.42,1.03l1.84,7.23l0.12,1.16l-0.57,5.0l0.2,1.51l-0.87,0.99l-0.02,0.51l1.41,1.86l0.14,1.2l0.89,1.48l0.5,0.16l0.98,-0.41l1.73,1.08l0.82,1.23l-8.22,4.81l-7.23,5.11l-3.43,1.13l-2.3,0.21l-0.28,-1.59l-2.56,-1.09l-0.67,-1.25l-26.12,-17.86l0.01,-3.47l3.77,-1.88l2.44,-0.41l2.12,-0.75l1.08,-1.42l2.81,-1.05l0.35,-2.08l1.33,-0.29l1.04,-0.94l3.47,-0.69l0.46,-1.08l-0.1,-0.45l-0.58,-0.52l-0.82,-2.81l-0.19,-1.83l-0.78,-1.49l2.03,-1.31l2.63,-0.48l1.7,-1.22l2.31,-0.84l8.24,-0.73l1.49,0.38l2.28,-1.1l2.46,-0.02l0.92,0.6l1.35,-0.05Z",
+                name: "Algeria"
+            },
+            US: {
+                path: "M892.72,99.2l1.31,0.53l1.41,-0.37l1.89,0.98l1.89,0.42l-1.32,0.58l-2.9,-1.53l-2.08,0.22l-0.26,-0.15l0.07,-0.67ZM183.22,150.47l0.37,1.47l1.12,0.85l4.23,0.7l2.39,0.98l2.17,-0.38l1.85,0.5l-1.55,0.65l-3.49,2.61l-0.16,0.77l0.5,0.39l2.33,-0.61l1.77,1.02l5.15,-2.4l-0.31,0.65l0.25,0.56l1.36,0.38l1.71,1.16l4.7,-0.88l0.67,0.85l1.31,0.21l0.58,0.58l-1.34,0.17l-2.18,-0.32l-3.6,0.89l-2.71,3.25l0.35,0.9l0.59,-0.0l0.55,-0.6l-1.36,4.65l0.29,3.09l0.67,1.58l0.61,0.45l1.77,-0.44l1.6,-1.96l0.14,-2.21l-0.82,-1.96l0.11,-1.13l1.19,-2.37l0.44,-0.33l0.48,0.75l0.4,-0.29l0.4,-1.37l0.6,-0.47l0.24,-0.8l1.69,0.49l1.65,1.08l-0.03,2.37l-1.27,1.13l-0.0,1.13l0.87,0.36l1.66,-1.29l0.5,0.17l0.5,2.6l-2.49,3.75l0.17,0.61l1.54,0.62l1.48,0.17l1.92,-0.44l4.72,-2.15l2.16,-1.8l-0.05,-1.24l0.75,-0.22l3.92,0.36l2.12,-1.05l0.21,-0.4l-0.28,-1.48l3.27,-2.4l8.32,-0.02l0.56,-0.82l1.9,-0.77l0.93,-1.51l0.74,-2.37l1.58,-1.98l0.92,0.62l1.47,-0.47l0.8,0.66l-0.0,4.09l1.96,2.6l-2.34,1.31l-5.37,2.09l-1.83,2.72l0.02,1.79l0.83,1.59l0.54,0.23l-6.19,0.94l-2.2,0.89l-0.23,0.48l0.45,0.29l2.99,-0.46l-2.19,0.56l-1.13,0.0l-0.15,-0.32l-0.48,0.08l-0.76,0.82l0.22,0.67l0.32,0.06l-0.41,1.62l-1.27,1.58l-1.48,-1.07l-0.49,-0.04l-0.16,0.46l0.52,1.58l0.61,0.59l0.03,0.79l-0.95,1.38l-1.21,-1.22l-0.27,-2.27l-0.35,-0.35l-0.42,0.25l-0.48,1.27l0.33,1.41l-0.97,-0.27l-0.48,0.24l0.18,0.5l1.52,0.83l0.1,2.52l0.79,0.51l0.52,3.42l-1.42,1.88l-2.47,0.8l-1.71,1.66l-1.31,0.25l-1.27,1.03l-0.43,0.99l-2.69,1.78l-2.64,3.03l-0.45,2.12l0.45,2.08l0.85,2.38l1.09,1.9l0.04,1.2l1.16,3.06l-0.18,2.69l-0.55,1.43l-0.47,0.21l-0.89,-0.23l-0.49,-1.18l-0.87,-0.56l-2.75,-5.16l0.48,-1.68l-0.72,-1.78l-2.01,-2.38l-1.12,-0.53l-2.72,1.18l-1.47,-1.35l-1.57,-0.68l-2.99,0.31l-2.17,-0.3l-2.0,0.19l-1.15,0.46l-0.19,0.58l0.39,0.63l0.14,1.34l-0.84,-0.2l-0.84,0.46l-1.58,-0.07l-2.08,-1.44l-2.09,0.33l-1.91,-0.62l-3.73,0.84l-2.39,2.07l-2.54,1.22l-1.45,1.41l-0.61,1.38l0.34,3.71l-0.29,0.02l-3.5,-1.33l-1.25,-3.11l-1.44,-1.5l-2.24,-3.56l-1.76,-1.09l-2.27,-0.01l-1.71,2.07l-1.76,-0.69l-1.16,-0.74l-1.52,-2.98l-3.93,-3.16l-4.34,-0.0l-0.4,0.4l-0.0,0.74l-6.5,0.02l-9.02,-3.14l-0.34,-0.71l-5.7,0.49l-0.43,-1.29l-1.62,-1.61l-1.14,-0.38l-0.55,-0.88l-1.28,-0.13l-1.01,-0.77l-2.22,-0.27l-0.43,-0.3l-0.36,-1.58l-2.4,-2.83l-2.01,-3.85l-0.06,-0.9l-2.92,-3.26l-0.33,-2.29l-1.3,-1.66l0.52,-2.37l-0.09,-2.57l-0.78,-2.3l0.95,-2.82l0.61,-5.68l-0.47,-4.27l-1.46,-4.08l3.19,0.79l1.26,2.83l0.69,0.08l0.69,-1.14l-1.1,-4.79l68.76,-0.0l0.4,-0.4l0.14,-0.86ZM32.44,67.52l1.73,1.97l0.55,0.05l0.99,-0.79l3.65,0.24l-0.09,0.62l0.32,0.45l3.83,0.77l2.61,-0.43l5.19,1.4l4.84,0.43l1.89,0.57l3.42,-0.7l6.14,1.87l-0.03,38.06l0.38,0.4l2.39,0.11l2.31,0.98l3.9,3.99l0.55,0.04l2.4,-2.03l2.16,-1.04l1.2,1.71l3.95,3.14l4.09,6.63l4.2,2.29l0.06,1.83l-1.02,1.23l-1.16,-1.08l-2.04,-1.03l-0.67,-2.89l-3.28,-3.03l-1.65,-3.57l-6.35,-0.32l-2.82,-1.01l-5.26,-3.85l-6.77,-2.04l-3.53,0.3l-4.81,-1.69l-3.25,-1.63l-2.78,0.8l-0.28,0.46l0.44,2.21l-3.91,0.96l-2.26,1.27l-2.3,0.65l-0.27,-1.65l1.05,-3.42l2.49,-1.09l0.16,-0.6l-0.69,-0.96l-0.55,-0.1l-3.19,2.12l-1.78,2.56l-3.55,2.61l-0.04,0.61l1.56,1.52l-2.07,2.29l-5.11,2.57l-0.77,1.66l-3.76,1.77l-0.92,1.73l-2.69,1.38l-1.81,-0.22l-6.95,3.32l-3.97,0.91l4.85,-2.5l2.59,-1.86l3.26,-0.52l1.19,-1.4l3.42,-2.1l2.59,-2.27l0.42,-2.68l1.23,-2.1l-0.04,-0.46l-0.45,-0.11l-2.68,1.03l-0.63,-0.49l-0.53,0.03l-1.05,1.04l-1.36,-1.54l-0.66,0.08l-0.32,0.62l-0.58,-1.14l-0.56,-0.16l-2.41,1.42l-1.07,-0.0l-0.17,-1.75l0.3,-1.71l-1.61,-1.33l-3.41,0.59l-1.96,-1.63l-1.57,-0.84l-0.15,-2.21l-1.7,-1.43l0.82,-1.88l1.99,-2.12l0.88,-1.92l1.71,-0.24l2.04,0.51l1.87,-1.77l1.91,0.25l1.91,-1.23l0.17,-0.43l-0.47,-1.82l-1.07,-0.7l1.39,-1.17l0.12,-0.45l-0.39,-0.26l-1.65,0.07l-2.66,0.88l-0.75,0.78l-1.92,-0.8l-3.46,0.44l-3.44,-0.91l-1.06,-1.61l-2.65,-1.99l2.91,-1.43l5.5,-2.0l1.52,0.0l-0.26,1.62l0.41,0.46l5.29,-0.16l0.3,-0.65l-2.03,-2.59l-3.14,-1.68l-1.79,-2.12l-2.4,-1.83l-3.09,-1.24l1.04,-1.69l4.23,-0.14l3.36,-2.07l0.73,-2.27l2.39,-1.99l2.42,-0.52l4.65,-1.97l2.46,0.23l3.71,-2.35l3.5,0.89ZM37.6,123.41l-2.25,1.23l-0.95,-0.69l-0.29,-1.24l3.21,-1.63l1.42,0.21l0.67,0.7l-1.8,1.42ZM31.06,234.03l0.98,0.47l0.74,0.87l-1.77,1.07l-0.44,-1.53l0.49,-0.89ZM29.34,232.07l0.18,0.05l0.08,0.05l-0.16,0.03l-0.11,-0.14ZM25.16,230.17l0.05,-0.03l0.18,0.22l-0.13,-0.01l-0.1,-0.18ZM5.89,113.26l-1.08,0.41l-2.21,-1.12l1.53,-0.4l1.62,0.28l0.14,0.83Z",
+                name: "United States"
+            },
+            LV: {
+                path: "M489.16,122.85l0.96,0.66l0.22,1.65l0.68,1.76l-3.65,1.7l-2.23,-1.58l-1.29,-0.26l-0.68,-0.77l-2.42,0.34l-4.16,-0.23l-2.47,0.9l0.06,-1.98l1.13,-2.06l1.95,-1.02l2.12,2.58l2.01,-0.07l0.38,-0.33l0.44,-2.52l1.76,-0.53l3.06,1.7l2.15,0.07Z",
+                name: "Latvia"
+            },
+            UY: {
+                path: "M286.85,372.74l-0.92,1.5l-2.59,1.44l-1.69,-0.52l-1.42,0.26l-2.39,-1.19l-1.52,0.08l-1.27,-1.3l0.16,-1.5l0.56,-0.79l-0.02,-2.73l1.21,-4.74l1.19,-0.21l2.37,2.0l1.08,0.03l4.36,3.17l1.22,1.6l-0.96,1.5l0.61,1.4Z",
+                name: "Uruguay"
+            },
+            LB: {
+                path: "M510.37,198.01l-0.88,0.51l1.82,-3.54l0.62,0.08l0.22,0.61l-1.13,0.88l-0.65,1.47Z",
+                name: "Lebanon"
+            },
+            LA: {
+                path: "M689.54,248.53l-1.76,-0.74l-0.49,0.15l-0.94,1.46l-1.32,-0.64l0.62,-0.98l0.11,-2.17l-2.04,-2.42l-0.25,-2.65l-1.9,-2.1l-2.15,-0.31l-0.78,0.91l-1.12,0.06l-1.05,-0.4l-2.06,1.2l-0.04,-1.59l0.61,-2.68l-0.36,-0.49l-1.35,-0.1l-0.11,-1.23l-0.96,-0.88l1.96,-1.89l0.39,0.36l1.33,0.07l0.42,-0.45l-0.34,-2.66l0.7,-0.21l1.28,1.81l1.11,2.35l0.36,0.23l2.82,0.02l0.71,1.67l-1.39,0.65l-0.72,0.93l0.13,0.6l2.91,1.51l3.6,5.25l1.88,1.78l0.56,1.62l-0.35,1.96Z",
+                name: "Lao PDR"
+            },
+            TW: {
+                path: "M724.01,226.68l-0.74,1.48l-0.9,-1.52l-0.25,-1.74l1.38,-2.44l1.73,-1.74l0.64,0.44l-1.85,5.52Z",
+                name: "Taiwan"
+            },
+            TT: {path: "M266.64,259.32l0.28,-1.16l1.13,-0.22l-0.06,1.2l-1.35,0.18Z", name: "Trinidad and Tobago"},
+            TR: {
+                path: "M513.21,175.47l3.64,1.17l3.05,-0.44l2.1,0.26l3.11,-1.56l2.46,-0.13l2.19,1.33l0.33,0.82l-0.22,1.33l0.25,0.44l2.28,1.13l-1.17,0.57l-0.21,0.45l0.75,3.2l-0.41,1.16l1.13,1.92l-0.55,0.22l-0.9,-0.67l-2.91,-0.37l-1.24,0.46l-4.23,0.41l-2.81,1.05l-1.91,0.01l-1.52,-0.53l-2.58,0.75l-0.66,-0.45l-0.62,0.3l-0.12,1.45l-0.89,0.84l-0.47,-0.67l0.79,-1.3l-0.41,-0.2l-1.43,0.23l-2.0,-0.63l-2.02,1.65l-3.51,0.3l-2.13,-1.53l-2.7,-0.1l-0.86,1.24l-1.38,0.27l-2.29,-1.44l-2.71,-0.01l-1.37,-2.65l-1.68,-1.52l1.07,-1.99l-0.09,-0.49l-1.27,-1.12l2.37,-2.41l3.7,-0.11l1.28,-2.24l4.49,0.37l3.21,-1.97l2.81,-0.82l3.99,-0.06l4.29,2.07ZM488.79,176.72l-1.72,1.31l-0.5,-0.88l1.37,-2.57l-0.7,-0.85l1.7,-0.63l1.8,0.34l0.46,1.17l1.76,0.78l-2.87,0.32l-1.3,1.01Z",
+                name: "Turkey"
+            },
+            LK: {
+                path: "M624.16,268.99l-1.82,0.48l-0.99,-1.67l-0.42,-3.46l0.95,-3.43l1.21,0.98l2.26,4.19l-0.34,2.33l-0.85,0.58Z",
+                name: "Sri Lanka"
+            },
+            TN: {
+                path: "M448.1,188.24l-1.0,1.27l-0.02,1.32l0.84,0.88l-0.28,2.09l-1.53,1.32l-0.12,0.42l0.48,1.54l1.42,0.32l0.53,1.11l0.9,0.52l-0.11,1.67l-3.54,2.64l-0.1,2.38l-0.58,0.3l-0.96,-4.45l-1.54,-1.25l-0.16,-0.78l-1.92,-1.56l-0.18,-1.76l1.51,-1.62l0.59,-2.34l-0.38,-2.78l0.42,-1.21l2.45,-1.05l1.29,0.26l-0.06,1.11l0.58,0.38l1.47,-0.73Z",
+                name: "Tunisia"
+            },
+            TL: {path: "M734.55,307.93l-0.1,-0.97l4.5,-0.86l-2.82,1.28l-1.59,0.55Z", name: "Timor-Leste"},
+            TM: {
+                path: "M553.03,173.76l-0.04,0.34l-0.09,-0.22l0.13,-0.12ZM555.87,172.66l0.45,-0.1l1.48,0.74l2.06,2.43l4.07,-0.18l0.38,-0.51l-0.32,-1.19l1.92,-0.94l1.91,-1.59l2.94,1.39l0.43,2.47l1.19,0.67l2.58,-0.13l0.62,0.4l1.32,3.12l4.54,3.44l2.67,1.45l3.06,1.14l-0.04,1.05l-1.33,-0.75l-0.59,0.19l-0.32,0.84l-2.2,0.81l-0.46,2.13l-1.21,0.74l-1.91,0.42l-0.73,1.33l-1.56,0.31l-2.22,-0.94l-0.2,-2.17l-0.38,-0.36l-1.73,-0.09l-2.76,-2.46l-2.14,-0.4l-2.84,-1.48l-1.78,-0.27l-1.24,0.53l-1.57,-0.08l-2.0,1.69l-1.7,0.43l-0.36,-1.58l0.36,-2.98l-0.22,-0.4l-1.65,-0.84l0.54,-1.69l-0.34,-0.52l-1.22,-0.13l0.36,-1.64l2.22,0.59l2.2,-0.95l0.12,-0.65l-1.77,-1.74l-0.66,-1.57Z",
+                name: "Turkmenistan"
+            },
+            TJ: {
+                path: "M597.75,178.82l-2.54,-0.44l-0.47,0.34l-0.24,1.7l0.43,0.45l2.64,-0.22l3.18,0.95l4.39,-0.41l0.56,2.37l0.52,0.29l0.67,-0.24l1.11,0.49l0.21,2.13l-3.76,-0.21l-1.8,1.32l-1.76,0.74l-0.61,-0.58l0.21,-2.23l-0.64,-0.49l-0.07,-0.93l-1.36,-0.66l-0.45,0.07l-1.08,1.01l-0.55,1.48l-1.31,-0.05l-0.95,1.16l-0.9,-0.35l-1.86,0.74l1.26,-2.83l-0.54,-2.17l-1.67,-0.82l0.33,-0.66l2.18,-0.04l1.19,-1.63l0.76,-1.79l2.43,-0.5l-0.26,1.0l0.73,1.05Z",
+                name: "Tajikistan"
+            },
+            LS: {
+                path: "M491.06,363.48l-0.49,0.15l-1.49,-1.67l1.1,-1.43l2.19,-1.44l1.51,1.27l-0.98,1.82l-1.23,0.38l-0.62,0.93Z",
+                name: "Lesotho"
+            },
+            TH: {
+                path: "M670.27,255.86l-1.41,3.87l0.15,2.0l0.38,0.36l1.38,0.07l0.9,2.04l0.55,2.34l1.4,1.44l1.61,0.38l0.96,0.97l-0.5,0.64l-1.1,0.2l-0.34,-1.18l-2.04,-1.1l-0.63,0.23l-0.63,-0.62l-0.48,-1.3l-2.56,-2.63l-0.73,0.41l0.95,-3.89l2.16,-4.22ZM670.67,254.77l-0.92,-2.18l-0.26,-2.61l-2.14,-3.06l0.71,-0.49l0.89,-2.59l-3.61,-5.45l0.87,-0.51l1.05,-2.58l1.74,-0.18l2.6,-1.59l0.76,0.56l0.13,1.39l0.37,0.36l1.23,0.09l-0.51,2.28l0.05,2.42l0.6,0.34l2.43,-1.42l0.77,0.39l1.47,-0.07l0.71,-0.88l1.48,0.14l1.71,1.88l0.25,2.65l1.92,2.11l-0.1,1.89l-0.61,0.86l-2.22,-0.33l-3.5,0.64l-1.6,2.12l0.36,2.58l-1.51,-0.79l-1.84,-0.01l0.28,-1.52l-0.4,-0.47l-2.21,0.01l-0.4,0.37l-0.19,2.74l-0.34,0.93Z",
+                name: "Thailand"
+            },
+            TF: {
+                path: "M596.68,420.38l-3.2,0.18l-0.05,-1.26l0.39,-1.41l1.3,0.78l2.08,0.35l-0.52,1.36Z",
+                name: "Fr. S. Antarctic Lands"
+            },
+            TG: {
+                path: "M422.7,257.63l-0.09,1.23l1.53,1.52l0.08,1.09l0.5,0.65l-0.11,5.62l0.49,1.47l-1.31,0.35l-1.02,-2.13l-0.18,-1.12l0.53,-2.19l-0.63,-1.16l-0.22,-3.68l-1.01,-1.4l0.07,-0.28l1.37,0.03Z",
+                name: "Togo"
+            },
+            TD: {
+                path: "M480.25,235.49l0.12,9.57l-2.1,0.05l-1.14,1.89l-0.69,1.63l0.34,0.73l-0.66,0.91l0.24,0.89l-0.86,1.95l0.45,0.5l0.6,-0.1l0.34,0.64l0.03,1.38l0.9,1.04l-1.45,0.43l-1.27,1.03l-1.83,2.76l-2.16,1.07l-2.31,-0.15l-0.86,0.25l-0.26,0.49l0.17,0.61l-2.11,1.68l-2.85,0.87l-1.09,-0.57l-0.73,0.66l-1.12,0.1l-1.1,-3.12l-1.25,-0.64l-1.22,-1.22l0.29,-0.64l3.01,0.04l0.35,-0.6l-1.3,-2.2l-0.08,-3.31l-0.97,-1.66l0.22,-1.04l-0.38,-0.48l-1.22,-0.04l0.0,-1.25l-0.98,-1.07l0.96,-3.01l3.25,-2.65l0.13,-3.33l0.95,-5.18l0.52,-1.07l-0.1,-0.48l-0.91,-0.78l-0.2,-0.96l-0.8,-0.58l-0.55,-3.65l2.1,-1.2l19.57,9.83Z",
+                name: "Chad"
+            },
+            LY: {
+                path: "M483.48,203.15l-0.75,1.1l0.29,1.39l-0.6,1.83l0.73,2.14l0.0,24.12l-2.48,0.01l-0.41,0.85l-19.41,-9.76l-4.41,2.28l-1.37,-1.33l-3.82,-1.1l-1.14,-1.65l-1.98,-1.23l-1.22,0.32l-0.66,-1.11l-0.17,-1.26l-1.28,-1.69l0.87,-1.19l-0.07,-4.34l0.43,-2.27l-0.86,-3.45l1.13,-0.76l0.22,-1.16l-0.2,-1.03l3.48,-2.61l0.29,-1.94l2.45,0.8l1.18,-0.21l1.98,0.44l3.15,1.18l1.37,2.54l5.72,1.67l2.64,1.35l1.61,-0.72l1.29,-1.34l-0.44,-2.34l0.66,-1.13l1.67,-1.21l1.57,-0.35l3.14,0.53l1.08,1.28l3.99,0.78l0.36,0.54Z",
+                name: "Libya"
+            },
+            AE: {
+                path: "M550.76,223.97l1.88,-0.4l3.84,0.02l4.78,-4.75l0.19,0.36l0.26,1.58l-0.81,0.01l-0.39,0.35l-0.08,2.04l-0.81,0.63l-0.01,0.96l-0.66,0.99l-0.39,1.41l-7.08,-1.25l-0.7,-1.96Z",
+                name: "United Arab Emirates"
+            },
+            VE: {
+                path: "M240.68,256.69l0.53,0.75l-0.02,1.06l-1.07,1.78l0.95,2.0l0.42,0.22l1.4,-0.44l0.56,-1.83l-0.77,-1.17l-0.1,-1.47l2.82,-0.93l0.26,-0.49l-0.28,-0.96l0.3,-0.28l0.66,1.31l1.96,0.26l1.4,1.22l0.08,0.68l0.39,0.35l4.81,-0.22l1.49,1.11l1.92,0.31l1.67,-0.84l0.22,-0.6l3.44,-0.14l-0.17,0.55l0.86,1.19l2.19,0.35l1.67,1.1l0.37,1.86l0.41,0.32l1.55,0.17l-1.66,1.35l-0.22,0.92l0.65,0.97l-1.67,0.54l-0.3,0.4l0.04,0.99l-0.56,0.57l-0.01,0.55l1.85,2.27l-0.66,0.69l-4.47,1.29l-0.72,0.54l-3.69,-0.9l-0.71,0.27l-0.02,0.7l0.91,0.53l-0.08,1.54l0.35,1.58l0.35,0.31l1.66,0.17l-1.3,0.52l-0.48,1.13l-2.68,0.91l-0.6,0.77l-1.57,0.13l-1.17,-1.13l-0.8,-2.52l-1.25,-1.26l1.02,-1.23l-1.29,-2.95l0.18,-1.62l1.0,-2.21l-0.2,-0.49l-1.14,-0.46l-4.02,0.36l-1.82,-2.1l-1.57,-0.33l-2.99,0.22l-1.06,-0.97l0.25,-1.23l-0.2,-1.01l-0.59,-0.69l-0.29,-1.06l-1.08,-0.39l0.78,-2.79l1.9,-2.11Z",
+                name: "Venezuela"
+            },
+            AF: {
+                path: "M600.7,188.88l-1.57,1.3l-0.1,0.48l0.8,2.31l-1.09,1.04l-0.03,1.27l-0.48,0.71l-2.16,-0.08l-0.37,0.59l0.78,1.48l-1.38,0.69l-1.06,1.69l0.06,1.7l-0.65,0.52l-0.91,-0.21l-1.91,0.36l-0.48,0.77l-1.88,0.13l-1.4,1.56l-0.18,2.32l-2.91,1.02l-1.65,-0.23l-0.71,0.55l-1.41,-0.3l-2.41,0.39l-3.52,-1.17l1.96,-2.35l-0.21,-1.78l-0.3,-0.34l-1.63,-0.4l-0.19,-1.58l-0.75,-2.03l0.95,-1.36l-0.19,-0.6l-0.73,-0.28l1.47,-4.8l2.14,0.9l2.12,-0.36l0.74,-1.34l1.77,-0.39l1.54,-0.92l0.63,-2.31l1.87,-0.5l0.49,-0.81l0.94,0.56l2.13,0.11l2.55,0.92l1.95,-0.83l0.65,0.43l0.56,-0.13l0.69,-1.12l1.57,-0.08l0.72,-1.66l0.79,-0.74l0.8,0.39l-0.17,0.56l0.71,0.58l-0.08,2.39l1.11,0.95ZM601.37,188.71l1.73,-0.71l1.43,-1.18l4.03,0.35l-2.23,0.74l-4.95,0.8Z",
+                name: "Afghanistan"
+            },
+            IQ: {
+                path: "M530.82,187.47l0.79,0.66l1.26,-0.28l1.46,3.08l1.63,0.94l0.14,1.23l-1.22,1.05l-0.53,2.52l1.73,2.67l3.12,1.62l1.15,1.88l-0.38,1.85l0.39,0.48l0.41,-0.0l0.02,1.07l0.76,0.94l-2.47,-0.1l-1.71,2.44l-4.31,-0.2l-7.02,-5.48l-3.73,-1.94l-2.88,-0.73l-0.85,-2.87l5.45,-3.02l0.95,-3.43l-0.19,-1.96l1.27,-0.7l1.22,-1.7l0.87,-0.36l2.69,0.34Z",
+                name: "Iraq"
+            },
+            IS: {
+                path: "M384.14,88.06l-0.37,2.61l2.54,2.51l-2.9,2.75l-9.19,3.4l-9.25,-1.66l1.7,-1.22l-0.1,-0.7l-4.05,-1.47l2.96,-0.53l0.33,-0.43l-0.11,-1.2l-0.33,-0.36l-4.67,-0.85l1.28,-2.04l3.45,-0.56l3.77,2.72l0.44,0.02l3.64,-2.16l3.3,1.08l3.98,-2.16l3.58,0.26Z",
+                name: "Iceland"
+            },
+            IR: {
+                path: "M533.43,187.16l-1.27,-2.15l0.42,-0.98l-0.71,-3.04l1.03,-0.5l0.33,0.83l1.26,1.35l2.05,0.51l1.11,-0.16l2.89,-2.11l0.62,-0.14l0.39,0.46l-0.72,1.2l0.06,0.49l1.56,1.53l0.65,0.04l0.67,1.81l2.56,0.83l1.87,1.48l3.69,0.49l3.91,-0.76l0.47,-0.73l2.17,-0.6l1.66,-1.54l1.51,0.08l1.18,-0.53l1.59,0.24l2.83,1.48l1.88,0.3l2.77,2.47l1.77,0.18l0.18,1.99l-1.68,5.49l0.24,0.5l0.61,0.23l-0.82,1.48l0.8,2.18l0.19,1.71l0.3,0.34l1.63,0.4l0.15,1.32l-2.15,2.35l-0.01,0.53l2.21,3.03l2.34,1.24l0.06,2.14l1.24,0.72l0.11,0.69l-3.31,1.27l-1.08,3.03l-9.68,-1.68l-0.99,-3.05l-1.43,-0.73l-2.17,0.46l-2.47,1.26l-2.83,-0.82l-2.46,-2.02l-2.41,-0.8l-3.42,-6.06l-0.48,-0.2l-1.18,0.39l-1.44,-0.82l-0.5,0.08l-0.65,0.74l-0.97,-1.01l-0.02,-1.31l-0.71,-0.39l0.26,-1.81l-1.29,-2.11l-3.13,-1.63l-1.58,-2.43l0.5,-1.9l1.31,-1.26l-0.19,-1.66l-1.74,-1.1l-1.57,-3.3Z",
+                name: "Iran"
+            },
+            AM: {
+                path: "M536.99,182.33l-0.28,0.03l-1.23,-2.13l-0.93,0.01l-0.62,-0.66l-0.69,-0.07l-0.96,-0.81l-1.56,-0.62l0.19,-1.12l-0.26,-0.79l2.72,-0.36l1.09,1.01l-0.17,0.92l1.02,0.78l-0.47,0.62l0.08,0.56l2.04,1.23l0.04,1.4Z",
+                name: "Armenia"
+            },
+            IT: {
+                path: "M451.59,158.63l3.48,0.94l-0.21,1.17l0.3,0.83l-1.49,-0.24l-2.04,1.1l-0.21,0.39l0.13,1.45l-0.25,1.12l0.82,1.57l2.39,1.63l1.31,2.54l2.79,2.43l2.05,0.08l0.21,0.23l-0.39,0.33l0.09,0.67l4.05,1.97l2.17,1.76l-0.16,0.36l-1.17,-1.08l-2.18,-0.49l-0.44,0.2l-1.05,1.91l0.14,0.54l1.57,0.95l-0.19,0.98l-1.06,0.33l-1.25,2.34l-0.37,0.08l0.0,-0.33l1.0,-2.45l-1.73,-3.17l-1.12,-0.51l-0.88,-1.33l-1.51,-0.51l-1.27,-1.25l-1.75,-0.18l-4.12,-3.21l-1.62,-1.65l-1.03,-3.19l-3.53,-1.36l-1.3,0.51l-1.69,1.41l0.16,-0.72l-0.28,-0.47l-1.14,-0.33l-0.53,-1.96l0.72,-0.78l0.04,-0.48l-0.65,-1.17l0.8,0.39l1.4,-0.23l1.11,-0.84l0.52,0.35l1.19,-0.1l0.75,-1.2l1.53,0.33l1.36,-0.56l0.35,-1.14l1.08,0.32l0.68,-0.64l1.98,-0.44l0.42,0.82ZM459.19,184.75l-0.65,1.65l0.32,1.05l-0.31,0.89l-1.5,-0.85l-4.5,-1.67l0.19,-0.82l2.67,0.23l3.78,-0.48ZM443.93,176.05l1.18,1.66l-0.3,3.32l-1.06,-0.01l-0.77,0.73l-0.53,-0.44l-0.1,-3.37l-0.39,-1.22l1.04,0.01l0.92,-0.68Z",
+                name: "Italy"
+            },
+            VN: {
+                path: "M690.56,230.25l-2.7,1.82l-2.09,2.46l-0.63,1.95l4.31,6.45l2.32,1.65l1.43,1.94l1.11,4.59l-0.32,4.24l-1.93,1.54l-2.84,1.61l-2.11,2.15l-2.73,2.06l-0.59,-1.05l0.63,-1.53l-0.13,-0.47l-1.34,-1.04l1.51,-0.71l2.55,-0.18l0.3,-0.63l-0.82,-1.14l4.0,-2.07l0.31,-3.05l-0.57,-1.77l0.42,-2.66l-0.73,-1.97l-1.86,-1.76l-3.63,-5.29l-2.72,-1.46l0.36,-0.47l1.5,-0.64l0.21,-0.52l-0.97,-2.27l-0.37,-0.24l-2.83,-0.02l-2.24,-3.9l0.83,-0.4l4.39,-0.29l2.06,-1.31l1.15,0.89l1.88,0.4l-0.17,1.51l1.35,1.16l1.67,0.45Z",
+                name: "Vietnam"
+            },
+            AR: {
+                path: "M249.29,428.93l-2.33,-0.52l-5.83,-0.43l-0.89,-1.66l0.05,-2.37l-0.45,-0.4l-1.43,0.18l-0.67,-0.91l-0.2,-3.13l1.88,-1.47l0.79,-2.04l-0.25,-1.7l1.3,-2.68l0.91,-4.15l-0.22,-1.69l0.85,-0.45l0.2,-0.44l-0.27,-1.16l-0.98,-0.68l0.59,-0.92l-0.05,-0.5l-1.04,-1.07l-0.52,-3.1l0.97,-0.86l-0.42,-3.58l1.2,-5.43l1.38,-0.98l0.16,-0.43l-0.75,-2.79l-0.01,-2.43l1.78,-1.75l0.06,-2.57l1.43,-2.85l0.01,-2.58l-0.69,-0.74l-1.09,-4.52l1.47,-2.7l-0.18,-2.79l0.85,-2.35l1.59,-2.46l1.73,-1.64l0.05,-0.52l-0.6,-0.84l0.44,-0.85l-0.07,-4.19l2.7,-1.44l0.86,-2.75l-0.21,-0.71l1.76,-2.01l2.9,0.57l1.38,1.78l0.68,-0.08l0.87,-1.87l2.39,0.09l4.95,4.77l2.17,0.49l3.0,1.92l2.47,1.0l0.25,0.82l-2.37,3.93l0.23,0.59l5.39,1.16l2.12,-0.44l2.45,-2.16l0.5,-2.38l0.76,-0.31l0.98,1.2l-0.04,1.8l-3.67,2.51l-2.85,2.66l-3.43,3.88l-1.3,5.07l0.01,2.72l-0.54,0.73l-0.36,3.28l3.14,2.64l-0.16,2.11l1.4,1.11l-0.1,1.09l-2.29,3.52l-3.55,1.49l-4.92,0.6l-2.71,-0.29l-0.43,0.51l0.5,1.65l-0.49,2.1l0.38,1.42l-1.19,0.83l-2.36,0.38l-2.3,-1.04l-1.38,0.83l0.41,3.64l1.69,0.91l1.4,-0.71l0.36,0.76l-2.04,0.86l-2.01,1.89l-0.97,4.63l-2.34,0.1l-2.09,1.78l-0.61,2.75l2.46,2.31l2.17,0.63l-0.7,2.32l-2.83,1.73l-1.73,3.86l-2.17,1.22l-1.16,1.67l0.75,3.76l1.04,1.28ZM256.71,438.88l-2.0,0.15l-1.4,-1.22l-3.82,-0.1l-0.0,-5.83l1.6,3.05l3.26,2.07l3.08,0.78l-0.71,1.1Z",
+                name: "Argentina"
+            },
+            AU: {
+                path: "M705.8,353.26l0.26,0.04l0.17,-0.47l-0.48,-1.42l0.92,1.11l0.45,0.15l0.27,-0.39l-0.1,-1.56l-1.98,-3.63l1.09,-3.31l-0.24,-1.57l0.34,-0.62l0.38,1.06l0.43,-0.19l0.99,-1.7l1.91,-0.83l1.29,-1.15l1.81,-0.91l0.96,-0.17l0.92,0.26l1.92,-0.95l1.47,-0.28l1.03,-0.8l1.43,0.04l2.78,-0.84l1.36,-1.15l0.71,-1.45l1.41,-1.26l0.3,-2.58l1.27,-1.59l0.78,1.65l0.54,0.19l1.07,-0.51l0.15,-0.6l-0.73,-1.0l0.45,-0.71l0.78,0.39l0.58,-0.3l0.28,-1.82l1.87,-2.14l1.12,-0.39l0.28,-0.58l0.62,0.17l0.53,-0.73l1.87,-0.57l1.65,1.05l1.35,1.48l3.39,0.38l0.43,-0.54l-0.46,-1.23l1.05,-1.79l1.04,-0.61l0.14,-0.55l-0.25,-0.41l0.88,-1.17l1.31,-0.77l1.3,0.27l2.1,-0.48l0.31,-0.4l-0.05,-1.3l-0.92,-0.77l1.48,0.56l1.41,1.07l2.11,0.65l0.81,-0.2l1.4,0.7l1.69,-0.66l0.8,0.19l0.64,-0.33l0.71,0.77l-1.33,1.94l-0.71,0.07l-0.35,0.51l0.24,0.86l-1.52,2.35l0.12,1.05l2.15,1.65l1.97,0.85l3.04,2.36l1.97,0.65l0.55,0.88l2.72,0.85l1.84,-1.1l2.07,-5.97l-0.42,-3.59l0.3,-1.73l0.47,-0.87l-0.31,-0.68l1.09,-3.28l0.46,-0.47l0.4,0.71l0.16,1.51l0.65,0.52l0.16,1.04l0.85,1.21l0.12,2.38l0.9,2.0l0.57,0.18l1.3,-0.78l1.69,1.7l-0.2,1.08l0.53,2.2l0.39,1.3l0.68,0.48l0.6,1.95l-0.19,1.48l0.81,1.76l6.01,3.69l-0.11,0.76l1.38,1.58l0.95,2.77l0.58,0.22l0.72,-0.41l0.8,0.9l0.61,0.01l0.46,2.41l4.81,4.71l0.66,2.02l-0.07,3.31l1.14,2.2l-0.13,2.24l-1.1,3.68l0.03,1.64l-0.47,1.89l-1.05,2.4l-1.9,1.47l-1.72,3.51l-2.38,6.09l-0.24,2.82l-1.14,0.8l-2.85,0.15l-2.31,1.19l-2.51,2.25l-3.09,-1.57l0.3,-1.15l-0.54,-0.47l-1.5,0.63l-2.01,1.94l-7.12,-2.18l-1.48,-1.63l-1.14,-3.74l-1.45,-1.26l-1.81,-0.26l0.56,-1.18l-0.61,-2.1l-0.72,-0.1l-1.14,1.82l-0.9,0.21l0.63,-0.82l0.36,-1.55l0.92,-1.31l-0.13,-2.34l-0.7,-0.22l-2.0,2.34l-1.51,0.93l-0.94,2.01l-1.35,-0.81l-0.02,-1.52l-1.57,-2.04l-1.09,-0.88l0.24,-0.33l-0.14,-0.59l-3.21,-1.69l-1.83,-0.12l-2.54,-1.35l-4.58,0.28l-6.02,1.9l-2.53,-0.13l-2.62,1.41l-2.13,0.63l-1.49,2.6l-3.49,0.31l-2.29,-0.5l-3.48,0.43l-1.6,1.47l-0.81,-0.04l-2.37,1.63l-3.26,-0.1l-3.72,-2.21l0.04,-1.05l1.19,-0.46l0.49,-0.89l0.21,-2.97l-0.28,-1.64l-1.34,-2.86l-0.38,-1.47l0.05,-1.72l-0.95,-1.7l-0.18,-0.97l-1.01,-0.99l-0.29,-1.98l-1.13,-1.75ZM784.92,393.44l2.65,1.02l3.23,-0.96l1.09,0.14l0.15,3.06l-0.85,1.13l-0.17,1.63l-0.87,-0.24l-1.57,1.91l-1.68,-0.18l-1.4,-2.36l-0.37,-2.04l-1.39,-2.51l0.04,-0.8l1.15,0.18Z",
+                name: "Australia"
+            },
+            IL: {
+                path: "M507.76,203.05l0.4,-0.78l0.18,0.4l-0.33,1.03l0.52,0.44l0.68,-0.22l-0.86,3.6l-1.16,-3.32l0.59,-0.74l-0.03,-0.41ZM508.73,200.34l0.37,-1.02l0.64,0.0l0.52,-0.51l-0.49,1.53l-0.56,-0.24l-0.48,0.23Z",
+                name: "Palestine"
+            },
+            IN: {
+                path: "M623.34,207.03l-1.24,1.04l-0.97,2.55l0.22,0.51l8.04,3.87l3.42,0.37l1.57,1.38l4.92,0.88l2.18,-0.04l0.38,-0.3l0.29,-1.24l-0.32,-1.64l0.14,-0.87l0.82,-0.31l0.45,2.48l2.28,1.02l1.77,-0.38l4.14,0.1l0.38,-0.36l0.18,-1.66l-0.5,-0.65l1.37,-0.29l2.25,-1.99l2.7,-1.62l1.93,0.62l1.8,-0.98l0.79,1.14l-0.68,0.91l0.26,0.63l2.42,0.36l0.09,0.47l-0.83,0.75l0.13,1.07l-1.52,-0.29l-3.24,1.86l-0.13,1.78l-1.32,2.14l-0.18,1.39l-0.93,1.82l-1.64,-0.5l-0.52,0.37l-0.09,2.63l-0.56,1.11l0.19,0.81l-0.53,0.27l-1.18,-3.73l-1.08,-0.27l-0.38,0.31l-0.24,1.0l-0.66,-0.66l0.54,-1.06l1.22,-0.34l1.15,-2.25l-0.24,-0.56l-1.57,-0.47l-4.34,-0.28l-0.18,-1.56l-0.35,-0.35l-1.11,-0.12l-1.91,-1.12l-0.56,0.17l-0.88,1.82l0.11,0.49l1.36,1.07l-1.09,0.69l-0.69,1.11l0.18,0.56l1.24,0.57l-0.32,1.54l0.85,1.94l0.36,2.01l-0.22,0.59l-4.58,0.52l-0.33,0.42l0.13,1.8l-1.17,1.36l-3.65,1.81l-2.79,3.03l-4.32,3.28l-0.18,1.27l-4.65,1.79l-0.77,2.16l0.64,5.3l-1.06,2.49l-0.01,3.94l-1.24,0.28l-1.14,1.93l0.39,0.84l-1.68,0.53l-1.04,1.83l-0.65,0.47l-2.06,-2.05l-2.1,-6.02l-2.2,-3.64l-1.05,-4.75l-2.29,-3.57l-1.76,-8.2l0.01,-3.11l-0.49,-2.53l-0.55,-0.29l-3.53,1.52l-1.53,-0.27l-2.86,-2.77l0.85,-0.67l0.08,-0.55l-0.74,-1.03l-2.67,-2.06l1.24,-1.32l5.34,0.01l0.39,-0.49l-0.5,-2.29l-1.42,-1.46l-0.27,-1.93l-1.43,-1.2l2.31,-2.37l3.05,0.06l2.62,-2.85l1.6,-2.81l2.4,-2.73l0.07,-2.04l1.97,-1.48l-0.02,-0.65l-1.93,-1.31l-0.82,-1.78l-0.8,-2.21l0.9,-0.89l3.59,0.65l2.92,-0.42l2.33,-2.19l2.31,2.85l-0.24,2.13l0.99,1.59l-0.05,0.82l-1.34,-0.28l-0.47,0.48l0.7,3.06l2.62,1.99l2.99,1.65Z",
+                name: "India"
+            },
+            TZ: {
+                path: "M495.56,296.42l2.8,-3.12l-0.02,-0.81l-0.64,-1.3l0.68,-0.52l0.14,-1.47l-0.76,-1.25l0.31,-0.11l2.26,0.03l-0.51,2.76l0.76,1.3l0.5,0.12l1.05,-0.53l1.19,-0.12l0.61,0.24l1.43,-0.62l0.1,-0.67l-0.71,-0.62l1.57,-1.7l8.65,4.86l0.32,1.53l3.34,2.33l-1.05,2.8l0.13,1.61l1.63,1.12l-0.6,1.76l-0.01,2.33l1.89,4.03l0.57,0.43l-1.46,1.08l-2.61,0.94l-1.43,-0.04l-1.06,0.77l-2.29,0.36l-2.87,-0.68l-0.83,0.07l-0.63,-0.75l-0.31,-2.78l-1.32,-1.35l-3.25,-0.77l-3.96,-1.58l-1.18,-2.41l-0.32,-1.75l-1.76,-1.49l0.42,-1.05l-0.44,-0.89l0.08,-0.96l-0.46,-0.58l0.06,-0.56Z",
+                name: "Tanzania"
+            },
+            AZ: {
+                path: "M539.29,175.73l1.33,0.32l1.94,-1.8l2.3,3.34l1.43,0.43l-1.26,0.15l-0.35,0.32l-0.8,3.14l-0.99,0.96l0.05,1.11l-1.26,-1.13l0.7,-1.18l-0.04,-0.47l-0.74,-0.86l-1.48,0.15l-2.34,1.71l-0.03,-1.27l-2.03,-1.35l0.47,-0.62l-0.08,-0.56l-1.03,-0.79l0.29,-0.43l-0.14,-0.58l-1.13,-0.86l1.89,0.68l1.69,0.06l0.37,-0.87l-0.81,-1.37l0.42,0.06l1.63,1.72ZM533.78,180.57l0.61,0.46l0.69,-0.0l0.59,1.15l-0.68,-0.15l-1.21,-1.45Z",
+                name: "Azerbaijan"
+            },
+            IE: {
+                path: "M405.08,135.42l0.35,2.06l-1.75,2.78l-4.22,1.88l-2.84,-0.4l1.73,-3.0l-1.18,-3.53l4.6,-3.74l0.32,1.15l-0.49,1.74l0.4,0.51l1.47,-0.04l1.6,0.6Z",
+                name: "Ireland"
+            },
+            ID: {
+                path: "M756.47,287.89l0.69,4.01l2.79,1.78l0.51,-0.1l2.04,-2.59l2.71,-1.43l2.05,-0.0l3.9,1.73l2.46,0.45l0.08,15.12l-1.75,-1.54l-2.54,-0.51l-0.88,0.71l-2.32,0.06l0.69,-1.33l1.45,-0.64l0.23,-0.46l-0.65,-2.74l-1.24,-2.21l-5.04,-2.29l-2.09,-0.23l-3.68,-2.27l-0.55,0.13l-0.65,1.07l-0.52,0.12l-0.55,-1.89l-1.21,-0.78l1.84,-0.62l1.72,0.05l0.39,-0.52l-0.21,-0.66l-0.38,-0.28l-3.45,-0.0l-1.13,-1.48l-2.1,-0.43l-0.52,-0.6l2.69,-0.48l1.28,-0.78l3.66,0.94l0.3,0.71ZM757.91,300.34l-0.62,0.82l-0.1,-0.8l0.59,-1.12l0.13,1.1ZM747.38,292.98l0.34,0.72l-1.22,-0.57l-4.68,-0.1l0.27,-0.62l2.78,-0.09l2.52,0.67ZM741.05,285.25l-0.67,-2.88l0.64,-2.01l0.41,0.86l1.21,0.18l0.16,0.7l-0.1,1.68l-0.84,-0.16l-0.46,0.3l-0.34,1.34ZM739.05,293.5l-0.5,0.44l-1.34,-0.36l-0.17,-0.37l1.73,-0.08l0.27,0.36ZM721.45,284.51l-0.19,1.97l2.24,2.23l0.54,0.02l1.27,-1.07l2.75,-0.5l-0.9,1.21l-2.11,0.93l-0.16,0.6l2.22,3.01l-0.3,1.07l1.36,1.74l-2.26,0.85l-0.28,-0.31l0.12,-1.19l-1.64,-1.34l0.17,-2.23l-0.56,-0.39l-1.67,0.76l-0.23,0.39l0.3,6.17l-1.1,0.25l-0.69,-0.47l0.64,-2.21l-0.39,-2.42l-0.39,-0.34l-0.8,-0.01l-0.58,-1.29l0.98,-1.6l0.35,-1.96l1.32,-3.87ZM728.59,296.27l0.38,0.49l-0.02,1.28l-0.88,0.49l-0.53,-0.47l1.04,-1.79ZM729.04,286.98l0.27,-0.05l-0.02,0.13l-0.24,-0.08ZM721.68,284.05l0.16,-0.32l1.89,-1.65l1.83,0.68l3.16,0.35l2.94,-0.1l2.39,-1.66l-1.73,2.13l-1.66,0.43l-2.41,-0.48l-4.17,0.13l-2.39,0.51ZM730.55,310.47l1.11,-1.93l2.03,-0.82l0.08,0.62l-1.45,1.67l-1.77,0.46ZM728.12,305.88l-0.1,0.38l-3.46,0.66l-2.91,-0.27l-0.0,-0.25l1.54,-0.41l1.66,0.73l1.67,-0.19l1.61,-0.65ZM722.9,310.24l-0.64,0.03l-2.26,-1.2l1.11,-0.24l1.78,1.41ZM716.26,305.77l0.88,0.51l1.28,-0.17l0.2,0.35l-4.65,0.73l0.39,-0.67l1.15,-0.02l0.75,-0.73ZM711.66,293.84l-0.38,-0.16l-2.54,1.01l-1.12,-1.44l-1.69,-0.13l-1.16,-0.75l-3.04,0.77l-1.1,-1.15l-3.31,-0.11l-0.35,-3.05l-1.35,-0.95l-1.11,-1.98l-0.33,-2.06l0.27,-2.14l0.9,-1.01l0.37,1.15l2.09,1.49l1.53,-0.48l1.82,0.08l1.38,-1.19l1.0,-0.18l2.28,0.67l2.26,-0.53l1.52,-3.64l1.01,-0.99l0.78,-2.57l4.1,0.3l-1.11,1.77l0.02,0.46l1.7,2.2l-0.23,1.39l2.07,1.71l-2.33,0.42l-0.88,1.9l0.1,2.05l-2.4,1.9l-0.06,2.45l-0.7,2.79ZM692.58,302.03l0.35,0.26l4.8,0.25l0.78,-0.97l4.17,1.09l1.13,1.68l3.69,0.45l2.13,1.04l-1.8,0.6l-2.77,-0.99l-4.8,-0.12l-5.24,-1.41l-1.84,-0.25l-1.11,0.3l-4.26,-0.97l-0.7,-1.14l-1.59,-0.13l1.18,-1.65l2.74,0.13l2.87,1.13l0.26,0.68ZM685.53,299.17l-2.22,0.04l-2.06,-2.03l-3.15,-2.01l-2.93,-3.51l-3.11,-5.33l-2.2,-2.12l-1.64,-4.06l-2.32,-1.69l-1.27,-2.07l-1.96,-1.5l-2.51,-2.65l-0.11,-0.66l4.81,0.53l2.15,2.38l3.31,2.74l2.35,2.66l2.7,0.17l1.95,1.59l1.54,2.17l1.59,0.95l-0.84,1.71l0.15,0.52l1.44,0.87l0.79,0.1l0.4,1.58l0.87,1.4l1.96,0.39l1.0,1.31l-0.6,3.01l-0.09,3.5Z",
+                name: "Indonesia"
+            },
+            UA: {
+                path: "M492.5,162.44l1.28,-2.49l1.82,0.19l0.66,-0.23l0.09,-0.71l-0.25,-0.75l-0.79,-0.72l-0.33,-1.21l-0.86,-0.62l-0.02,-1.19l-1.13,-0.86l-1.15,-0.19l-2.04,-1.0l-1.66,0.32l-0.66,0.47l-0.92,-0.0l-0.84,0.78l-2.48,0.7l-1.18,-0.71l-3.07,-0.36l-0.89,0.43l-0.24,-0.55l-1.11,-0.7l0.35,-0.93l1.26,-1.02l-0.54,-1.23l2.04,-2.43l1.4,-0.62l0.25,-1.19l-1.04,-2.39l0.83,-0.13l1.28,-0.84l1.8,-0.07l2.47,0.26l2.86,0.81l1.88,0.06l0.86,0.44l1.04,-0.41l0.77,0.66l2.18,-0.15l0.92,0.3l0.52,-0.34l0.15,-1.53l0.56,-0.54l2.85,-0.05l0.84,-0.72l3.04,-0.18l1.23,1.46l-0.48,0.77l0.21,1.03l0.36,0.32l1.8,0.14l0.93,2.08l3.18,1.15l1.94,-0.45l1.67,1.49l1.4,-0.03l3.35,0.96l0.02,0.54l-0.96,1.59l0.47,1.97l-0.26,0.7l-2.36,0.28l-1.29,0.89l-0.23,1.38l-1.83,0.27l-1.58,0.97l-2.41,0.21l-2.16,1.17l-0.21,0.38l0.34,2.26l1.23,0.75l2.13,-0.08l-0.14,0.31l-2.65,0.53l-3.23,1.69l-0.87,-0.39l0.42,-1.1l-0.25,-0.52l-2.21,-0.73l2.35,-1.06l0.12,-0.65l-0.93,-0.82l-3.62,-0.74l-0.13,-0.89l-0.46,-0.34l-2.61,0.59l-0.91,1.69l-1.71,2.04l-0.86,-0.4l-1.62,0.27Z",
+                name: "Ukraine"
+            },
+            QA: {
+                path: "M549.33,221.64l-0.76,-0.23l-0.14,-1.64l0.84,-1.29l0.47,0.52l0.04,1.34l-0.45,1.3Z",
+                name: "Qatar"
+            },
+            MZ: {
+                path: "M508.58,318.75l-0.34,-2.57l0.51,-2.05l3.55,0.63l2.5,-0.38l1.02,-0.76l1.49,0.01l2.74,-0.98l1.66,-1.2l0.5,9.24l0.41,1.23l-0.68,1.67l-0.93,1.71l-1.5,1.5l-5.16,2.28l-2.78,2.73l-1.02,0.53l-1.71,1.8l-0.98,0.57l-0.35,2.41l1.16,1.94l0.49,2.17l0.43,0.31l-0.06,2.06l-0.39,1.17l0.5,0.72l-0.25,0.73l-0.92,0.83l-5.12,2.39l-1.22,1.36l0.21,1.13l0.58,0.39l-0.11,0.72l-1.22,-0.01l-0.73,-2.97l0.42,-3.09l-1.78,-5.37l2.49,-2.81l0.69,-1.89l0.44,-0.43l0.28,-1.53l-0.39,-0.93l0.59,-3.65l-0.01,-3.26l-1.49,-1.16l-1.2,-0.22l-1.74,-1.17l-1.92,0.01l-0.29,-2.08l7.06,-1.96l1.28,1.09l0.89,-0.1l0.67,0.44l0.1,0.73l-0.51,1.29l0.19,1.81l1.75,1.83l0.65,-0.13l0.71,-1.65l1.17,-0.86l-0.26,-3.47l-1.05,-1.85l-1.04,-0.94Z",
+                name: "Mozambique"
+            }
+        }, height: 440.70631074413296, width: 900, projection: {type: "mill", centralMeridian: 11.5}
+    })
+}, function (e, t, n) {
+    "use strict";
+    n.r(t);
+    n(230);
+    var i = n(20);
+
+    function a(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)
+        }
+    }
+
+    function r(e, t, n) {
+        return t && a(e.prototype, t), n && a(e, n), e
+    }
+
+    function l() {
+        return (l = Object.assign || function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+                var n = arguments[t];
+                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
+            }
+            return e
+        }).apply(this, arguments)
+    }
+
+    var o, s, d, u, c = "transitionend", h = function (e) {
+            do {
+                e += Math.floor(1e6 * Math.random())
+            } while (document.getElementById(e));
+            return e
+        }, m = function (e) {
+            var t = e.getAttribute("data-target");
+            if (!t || "#" === t) {
+                var n = e.getAttribute("href");
+                t = n && "#" !== n ? n.trim() : null
+            }
+            return t
+        }, f = function (e) {
+            var t = m(e);
+            return t && document.querySelector(t) ? t : null
+        }, _ = function (e) {
+            var t = m(e);
+            return t ? document.querySelector(t) : null
+        }, p = function (e) {
+            if (!e) return 0;
+            var t = window.getComputedStyle(e), n = t.transitionDuration, i = t.transitionDelay, a = parseFloat(n),
+                r = parseFloat(i);
+            return a || r ? (n = n.split(",")[0], i = i.split(",")[0], 1e3 * (parseFloat(n) + parseFloat(i))) : 0
+        }, g = function (e) {
+            e.dispatchEvent(new Event(c))
+        }, y = function (e) {
+            return (e[0] || e).nodeType
+        }, v = function (e, t) {
+            var n = !1, i = t + 5;
+            e.addEventListener(c, (function t() {
+                n = !0, e.removeEventListener(c, t)
+            })), setTimeout((function () {
+                n || g(e)
+            }), i)
+        }, M = function (e, t, n) {
+            Object.keys(n).forEach((function (i) {
+                var a, r = n[i], l = t[i],
+                    o = l && y(l) ? "element" : null == (a = l) ? "" + a : {}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();
+                if (!new RegExp(r).test(o)) throw new Error(e.toUpperCase() + ': Option "' + i + '" provided type "' + o + '" but expected type "' + r + '".')
+            }))
+        }, b = function (e) {
+            if (!e) return !1;
+            if (e.style && e.parentNode && e.parentNode.style) {
+                var t = getComputedStyle(e), n = getComputedStyle(e.parentNode);
+                return "none" !== t.display && "none" !== n.display && "hidden" !== t.visibility
+            }
+            return !1
+        }, x = function e(t) {
+            if (!document.documentElement.attachShadow) return null;
+            if ("function" == typeof t.getRootNode) {
+                var n = t.getRootNode();
+                return n instanceof ShadowRoot ? n : null
+            }
+            return t instanceof ShadowRoot ? t : t.parentNode ? e(t.parentNode) : null
+        }, L = function () {
+            return function () {
+            }
+        }, w = function (e) {
+            return e.offsetHeight
+        }, k = function () {
+            var e = window.jQuery;
+            return e && !document.body.hasAttribute("data-no-jquery") ? e : null
+        }, Y = (o = {}, s = 1, {
+            set: function (e, t, n) {
+                void 0 === e.bsKey && (e.bsKey = {key: t, id: s}, s++), o[e.bsKey.id] = n
+            }, get: function (e, t) {
+                if (!e || void 0 === e.bsKey) return null;
+                var n = e.bsKey;
+                return n.key === t ? o[n.id] : null
+            }, delete: function (e, t) {
+                if (void 0 !== e.bsKey) {
+                    var n = e.bsKey;
+                    n.key === t && (delete o[n.id], delete e.bsKey)
+                }
+            }
+        }), D = function (e, t, n) {
+            Y.set(e, t, n)
+        }, T = function (e, t) {
+            return Y.get(e, t)
+        }, S = function (e, t) {
+            Y.delete(e, t)
+        }, j = Element.prototype.querySelectorAll, E = Element.prototype.querySelector,
+        H = (d = new CustomEvent("Bootstrap", {cancelable: !0}), (u = document.createElement("div")).addEventListener("Bootstrap", (function () {
+            return null
+        })), d.preventDefault(), u.dispatchEvent(d), d.defaultPrevented), O = /:scope\b/;
+    (function () {
+        var e = document.createElement("div");
+        try {
+            e.querySelectorAll(":scope *")
+        } catch (e) {
+            return !1
+        }
+        return !0
+    })() || (j = function (e) {
+        if (!O.test(e)) return this.querySelectorAll(e);
+        var t = Boolean(this.id);
+        t || (this.id = h("scope"));
+        var n = null;
+        try {
+            e = e.replace(O, "#" + this.id), n = this.querySelectorAll(e)
+        } finally {
+            t || this.removeAttribute("id")
+        }
+        return n
+    }, E = function (e) {
+        if (!O.test(e)) return this.querySelector(e);
+        var t = j.call(this, e);
+        return void 0 !== t[0] ? t[0] : null
+    });
+    var A = k(), P = /[^.]*(?=\..*)\.|.*/, C = /\..*/, F = /::\d+$/, I = {}, W = 1,
+        N = {mouseenter: "mouseover", mouseleave: "mouseout"},
+        z = ["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"];
+
+    function R(e, t) {
+        return t && t + "::" + W++ || e.uidEvent || W++
+    }
+
+    function V(e) {
+        var t = R(e);
+        return e.uidEvent = t, I[t] = I[t] || {}, I[t]
+    }
+
+    function B(e, t, n) {
+        void 0 === n && (n = null);
+        for (var i = Object.keys(e), a = 0, r = i.length; a < r; a++) {
+            var l = e[i[a]];
+            if (l.originalHandler === t && l.delegationSelector === n) return l
+        }
+        return null
+    }
+
+    function Z(e, t, n) {
+        var i = "string" == typeof t, a = i ? n : t, r = e.replace(C, ""), l = N[r];
+        return l && (r = l), z.indexOf(r) > -1 || (r = e), [i, a, r]
+    }
+
+    function U(e, t, n, i, a) {
+        if ("string" == typeof t && e) {
+            n || (n = i, i = null);
+            var r = Z(t, n, i), l = r[0], o = r[1], s = r[2], d = V(e), u = d[s] || (d[s] = {}),
+                c = B(u, o, l ? n : null);
+            if (c) c.oneOff = c.oneOff && a; else {
+                var h = R(o, t.replace(P, "")), m = l ? function (e, t, n) {
+                    return function i(a) {
+                        for (var r = e.querySelectorAll(t), l = a.target; l && l !== this; l = l.parentNode) for (var o = r.length; o--;) if (r[o] === l) return a.delegateTarget = l, i.oneOff && G.off(e, a.type, n), n.apply(l, [a]);
+                        return null
+                    }
+                }(e, n, i) : function (e, t) {
+                    return function n(i) {
+                        return i.delegateTarget = e, n.oneOff && G.off(e, i.type, t), t.apply(e, [i])
+                    }
+                }(e, n);
+                m.delegationSelector = l ? n : null, m.originalHandler = o, m.oneOff = a, m.uidEvent = h, u[h] = m, e.addEventListener(s, m, l)
+            }
+        }
+    }
+
+    function J(e, t, n, i, a) {
+        var r = B(t[n], i, a);
+        r && (e.removeEventListener(n, r, Boolean(a)), delete t[n][r.uidEvent])
+    }
+
+    var G = {
+        on: function (e, t, n, i) {
+            U(e, t, n, i, !1)
+        }, one: function (e, t, n, i) {
+            U(e, t, n, i, !0)
+        }, off: function (e, t, n, i) {
+            if ("string" == typeof t && e) {
+                var a = Z(t, n, i), r = a[0], l = a[1], o = a[2], s = o !== t, d = V(e), u = "." === t.charAt(0);
+                if (void 0 === l) {
+                    u && Object.keys(d).forEach((function (n) {
+                        !function (e, t, n, i) {
+                            var a = t[n] || {};
+                            Object.keys(a).forEach((function (r) {
+                                if (r.indexOf(i) > -1) {
+                                    var l = a[r];
+                                    J(e, t, n, l.originalHandler, l.delegationSelector)
+                                }
+                            }))
+                        }(e, d, n, t.slice(1))
+                    }));
+                    var c = d[o] || {};
+                    Object.keys(c).forEach((function (n) {
+                        var i = n.replace(F, "");
+                        if (!s || t.indexOf(i) > -1) {
+                            var a = c[n];
+                            J(e, d, o, a.originalHandler, a.delegationSelector)
+                        }
+                    }))
+                } else {
+                    if (!d || !d[o]) return;
+                    J(e, d, o, l, r ? n : null)
+                }
+            }
+        }, trigger: function (e, t, n) {
+            if ("string" != typeof t || !e) return null;
+            var i, a = t.replace(C, ""), r = t !== a, l = z.indexOf(a) > -1, o = !0, s = !0, d = !1, u = null;
+            return r && A && (i = A.Event(t, n), A(e).trigger(i), o = !i.isPropagationStopped(), s = !i.isImmediatePropagationStopped(), d = i.isDefaultPrevented()), l ? (u = document.createEvent("HTMLEvents")).initEvent(a, o, !0) : u = new CustomEvent(t, {
+                bubbles: o,
+                cancelable: !0
+            }), void 0 !== n && Object.keys(n).forEach((function (e) {
+                Object.defineProperty(u, e, {
+                    get: function () {
+                        return n[e]
+                    }
+                })
+            })), d && (u.preventDefault(), H || Object.defineProperty(u, "defaultPrevented", {
+                get: function () {
+                    return !0
+                }
+            })), s && e.dispatchEvent(u), u.defaultPrevented && void 0 !== i && i.preventDefault(), u
+        }
+    }, q = "bs.alert", K = function () {
+        function e(e) {
+            this._element = e, this._element && D(e, q, this)
+        }
+
+        var t = e.prototype;
+        return t.close = function (e) {
+            var t = e ? this._getRootElement(e) : this._element, n = this._triggerCloseEvent(t);
+            null === n || n.defaultPrevented || this._removeElement(t)
+        }, t.dispose = function () {
+            S(this._element, q), this._element = null
+        }, t._getRootElement = function (e) {
+            return _(e) || e.closest(".alert")
+        }, t._triggerCloseEvent = function (e) {
+            return G.trigger(e, "close.bs.alert")
+        }, t._removeElement = function (e) {
+            var t = this;
+            if (e.classList.remove("show"), e.classList.contains("fade")) {
+                var n = p(e);
+                G.one(e, c, (function () {
+                    return t._destroyElement(e)
+                })), v(e, n)
+            } else this._destroyElement(e)
+        }, t._destroyElement = function (e) {
+            e.parentNode && e.parentNode.removeChild(e), G.trigger(e, "closed.bs.alert")
+        }, e.jQueryInterface = function (t) {
+            return this.each((function () {
+                var n = T(this, q);
+                n || (n = new e(this)), "close" === t && n[t](this)
+            }))
+        }, e.handleDismiss = function (e) {
+            return function (t) {
+                t && t.preventDefault(), e.close(this)
+            }
+        }, e.getInstance = function (e) {
+            return T(e, q)
+        }, r(e, null, [{
+            key: "VERSION", get: function () {
+                return "5.0.0-alpha2"
+            }
+        }]), e
+    }();
+    G.on(document, "click.bs.alert.data-api", '[data-dismiss="alert"]', K.handleDismiss(new K));
+    var X = k();
+    if (X) {
+        var $ = X.fn.alert;
+        X.fn.alert = K.jQueryInterface, X.fn.alert.Constructor = K, X.fn.alert.noConflict = function () {
+            return X.fn.alert = $, K.jQueryInterface
+        }
+    }
+    var Q = "bs.button", ee = '[data-toggle="button"]', te = function () {
+        function e(e) {
+            this._element = e, D(e, Q, this)
+        }
+
+        var t = e.prototype;
+        return t.toggle = function () {
+            this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"))
+        }, t.dispose = function () {
+            S(this._element, Q), this._element = null
+        }, e.jQueryInterface = function (t) {
+            return this.each((function () {
+                var n = T(this, Q);
+                n || (n = new e(this)), "toggle" === t && n[t]()
+            }))
+        }, e.getInstance = function (e) {
+            return T(e, Q)
+        }, r(e, null, [{
+            key: "VERSION", get: function () {
+                return "5.0.0-alpha2"
+            }
+        }]), e
+    }();
+    G.on(document, "click.bs.button.data-api", ee, (function (e) {
+        e.preventDefault();
+        var t = e.target.closest(ee), n = T(t, Q);
+        n || (n = new te(t)), n.toggle()
+    }));
+    var ne = k();
+    if (ne) {
+        var ie = ne.fn.button;
+        ne.fn.button = te.jQueryInterface, ne.fn.button.Constructor = te, ne.fn.button.noConflict = function () {
+            return ne.fn.button = ie, te.jQueryInterface
+        }
+    }
+
+    function ae(e) {
+        return "true" === e || "false" !== e && (e === Number(e).toString() ? Number(e) : "" === e || "null" === e ? null : e)
+    }
+
+    function re(e) {
+        return e.replace(/[A-Z]/g, (function (e) {
+            return "-" + e.toLowerCase()
+        }))
+    }
+
+    var le = {
+            setDataAttribute: function (e, t, n) {
+                e.setAttribute("data-" + re(t), n)
+            }, removeDataAttribute: function (e, t) {
+                e.removeAttribute("data-" + re(t))
+            }, getDataAttributes: function (e) {
+                if (!e) return {};
+                var t = l({}, e.dataset);
+                return Object.keys(t).forEach((function (e) {
+                    t[e] = ae(t[e])
+                })), t
+            }, getDataAttribute: function (e, t) {
+                return ae(e.getAttribute("data-" + re(t)))
+            }, offset: function (e) {
+                var t = e.getBoundingClientRect();
+                return {top: t.top + document.body.scrollTop, left: t.left + document.body.scrollLeft}
+            }, position: function (e) {
+                return {top: e.offsetTop, left: e.offsetLeft}
+            }, toggleClass: function (e, t) {
+                e && (e.classList.contains(t) ? e.classList.remove(t) : e.classList.add(t))
+            }
+        }, oe = {
+            matches: function (e, t) {
+                return e.matches(t)
+            }, find: function (e, t) {
+                var n;
+                return void 0 === t && (t = document.documentElement), (n = []).concat.apply(n, j.call(t, e))
+            }, findOne: function (e, t) {
+                return void 0 === t && (t = document.documentElement), E.call(t, e)
+            }, children: function (e, t) {
+                var n, i = (n = []).concat.apply(n, e.children);
+                return i.filter((function (e) {
+                    return e.matches(t)
+                }))
+            }, parents: function (e, t) {
+                for (var n = [], i = e.parentNode; i && i.nodeType === Node.ELEMENT_NODE && 3 !== i.nodeType;) this.matches(i, t) && n.push(i), i = i.parentNode;
+                return n
+            }, prev: function (e, t) {
+                for (var n = e.previousElementSibling; n;) {
+                    if (n.matches(t)) return [n];
+                    n = n.previousElementSibling
+                }
+                return []
+            }, next: function (e, t) {
+                for (var n = e.nextElementSibling; n;) {
+                    if (this.matches(n, t)) return [n];
+                    n = n.nextElementSibling
+                }
+                return []
+            }
+        }, se = "carousel", de = "bs.carousel", ue = ".bs.carousel",
+        ce = {interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0, touch: !0}, he = {
+            interval: "(number|boolean)",
+            keyboard: "boolean",
+            slide: "(boolean|string)",
+            pause: "(string|boolean)",
+            wrap: "boolean",
+            touch: "boolean"
+        }, me = "next", fe = "prev", _e = "slid.bs.carousel", pe = "active", ge = ".active.carousel-item",
+        ye = {TOUCH: "touch", PEN: "pen"}, ve = function () {
+            function e(e, t) {
+                this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(t), this._element = e, this._indicatorsElement = oe.findOne(".carousel-indicators", this._element), this._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0, this._pointerEvent = Boolean(window.PointerEvent), this._addEventListeners(), D(e, de, this)
+            }
+
+            var t = e.prototype;
+            return t.next = function () {
+                this._isSliding || this._slide(me)
+            }, t.nextWhenVisible = function () {
+                !document.hidden && b(this._element) && this.next()
+            }, t.prev = function () {
+                this._isSliding || this._slide(fe)
+            }, t.pause = function (e) {
+                e || (this._isPaused = !0), oe.findOne(".carousel-item-next, .carousel-item-prev", this._element) && (g(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
+            }, t.cycle = function (e) {
+                e || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config && this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
+            }, t.to = function (e) {
+                var t = this;
+                this._activeElement = oe.findOne(ge, this._element);
+                var n = this._getItemIndex(this._activeElement);
+                if (!(e > this._items.length - 1 || e < 0)) if (this._isSliding) G.one(this._element, _e, (function () {
+                    return t.to(e)
+                })); else {
+                    if (n === e) return this.pause(), void this.cycle();
+                    var i = e > n ? me : fe;
+                    this._slide(i, this._items[e])
+                }
+            }, t.dispose = function () {
+                G.off(this._element, ue), S(this._element, de), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
+            }, t._getConfig = function (e) {
+                return e = l({}, ce, e), M(se, e, he), e
+            }, t._handleSwipe = function () {
+                var e = Math.abs(this.touchDeltaX);
+                if (!(e <= 40)) {
+                    var t = e / this.touchDeltaX;
+                    this.touchDeltaX = 0, t > 0 && this.prev(), t < 0 && this.next()
+                }
+            }, t._addEventListeners = function () {
+                var e = this;
+                this._config.keyboard && G.on(this._element, "keydown.bs.carousel", (function (t) {
+                    return e._keydown(t)
+                })), "hover" === this._config.pause && (G.on(this._element, "mouseenter.bs.carousel", (function (t) {
+                    return e.pause(t)
+                })), G.on(this._element, "mouseleave.bs.carousel", (function (t) {
+                    return e.cycle(t)
+                }))), this._config.touch && this._touchSupported && this._addTouchEventListeners()
+            }, t._addTouchEventListeners = function () {
+                var e = this, t = function (t) {
+                    e._pointerEvent && ye[t.pointerType.toUpperCase()] ? e.touchStartX = t.clientX : e._pointerEvent || (e.touchStartX = t.touches[0].clientX)
+                }, n = function (t) {
+                    e._pointerEvent && ye[t.pointerType.toUpperCase()] && (e.touchDeltaX = t.clientX - e.touchStartX), e._handleSwipe(), "hover" === e._config.pause && (e.pause(), e.touchTimeout && clearTimeout(e.touchTimeout), e.touchTimeout = setTimeout((function (t) {
+                        return e.cycle(t)
+                    }), 500 + e._config.interval))
+                };
+                oe.find(".carousel-item img", this._element).forEach((function (e) {
+                    G.on(e, "dragstart.bs.carousel", (function (e) {
+                        return e.preventDefault()
+                    }))
+                })), this._pointerEvent ? (G.on(this._element, "pointerdown.bs.carousel", (function (e) {
+                    return t(e)
+                })), G.on(this._element, "pointerup.bs.carousel", (function (e) {
+                    return n(e)
+                })), this._element.classList.add("pointer-event")) : (G.on(this._element, "touchstart.bs.carousel", (function (e) {
+                    return t(e)
+                })), G.on(this._element, "touchmove.bs.carousel", (function (t) {
+                    return function (t) {
+                        t.touches && t.touches.length > 1 ? e.touchDeltaX = 0 : e.touchDeltaX = t.touches[0].clientX - e.touchStartX
+                    }(t)
+                })), G.on(this._element, "touchend.bs.carousel", (function (e) {
+                    return n(e)
+                })))
+            }, t._keydown = function (e) {
+                if (!/input|textarea/i.test(e.target.tagName)) switch (e.key) {
+                    case"ArrowLeft":
+                        e.preventDefault(), this.prev();
+                        break;
+                    case"ArrowRight":
+                        e.preventDefault(), this.next()
+                }
+            }, t._getItemIndex = function (e) {
+                return this._items = e && e.parentNode ? oe.find(".carousel-item", e.parentNode) : [], this._items.indexOf(e)
+            }, t._getItemByDirection = function (e, t) {
+                var n = e === me, i = e === fe, a = this._getItemIndex(t), r = this._items.length - 1;
+                if ((i && 0 === a || n && a === r) && !this._config.wrap) return t;
+                var l = (a + (e === fe ? -1 : 1)) % this._items.length;
+                return -1 === l ? this._items[this._items.length - 1] : this._items[l]
+            }, t._triggerSlideEvent = function (e, t) {
+                var n = this._getItemIndex(e), i = this._getItemIndex(oe.findOne(ge, this._element));
+                return G.trigger(this._element, "slide.bs.carousel", {relatedTarget: e, direction: t, from: i, to: n})
+            }, t._setActiveIndicatorElement = function (e) {
+                if (this._indicatorsElement) {
+                    for (var t = oe.find(".active", this._indicatorsElement), n = 0; n < t.length; n++) t[n].classList.remove(pe);
+                    var i = this._indicatorsElement.children[this._getItemIndex(e)];
+                    i && i.classList.add(pe)
+                }
+            }, t._slide = function (e, t) {
+                var n, i, a, r = this, l = oe.findOne(ge, this._element), o = this._getItemIndex(l),
+                    s = t || l && this._getItemByDirection(e, l), d = this._getItemIndex(s), u = Boolean(this._interval);
+                if (e === me ? (n = "carousel-item-left", i = "carousel-item-next", a = "left") : (n = "carousel-item-right", i = "carousel-item-prev", a = "right"), s && s.classList.contains(pe)) this._isSliding = !1; else if (!this._triggerSlideEvent(s, a).defaultPrevented && l && s) {
+                    if (this._isSliding = !0, u && this.pause(), this._setActiveIndicatorElement(s), this._element.classList.contains("slide")) {
+                        s.classList.add(i), w(s), l.classList.add(n), s.classList.add(n);
+                        var h = parseInt(s.getAttribute("data-interval"), 10);
+                        h ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = h) : this._config.interval = this._config.defaultInterval || this._config.interval;
+                        var m = p(l);
+                        G.one(l, c, (function () {
+                            s.classList.remove(n, i), s.classList.add(pe), l.classList.remove(pe, i, n), r._isSliding = !1, setTimeout((function () {
+                                G.trigger(r._element, _e, {relatedTarget: s, direction: a, from: o, to: d})
+                            }), 0)
+                        })), v(l, m)
+                    } else l.classList.remove(pe), s.classList.add(pe), this._isSliding = !1, G.trigger(this._element, _e, {
+                        relatedTarget: s,
+                        direction: a,
+                        from: o,
+                        to: d
+                    });
+                    u && this.cycle()
+                }
+            }, e.carouselInterface = function (t, n) {
+                var i = T(t, de), a = l({}, ce, le.getDataAttributes(t));
+                "object" == typeof n && (a = l({}, a, n));
+                var r = "string" == typeof n ? n : a.slide;
+                if (i || (i = new e(t, a)), "number" == typeof n) i.to(n); else if ("string" == typeof r) {
+                    if (void 0 === i[r]) throw new TypeError('No method named "' + r + '"');
+                    i[r]()
+                } else a.interval && a.ride && (i.pause(), i.cycle())
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    e.carouselInterface(this, t)
+                }))
+            }, e.dataApiClickHandler = function (t) {
+                var n = _(this);
+                if (n && n.classList.contains("carousel")) {
+                    var i = l({}, le.getDataAttributes(n), le.getDataAttributes(this)),
+                        a = this.getAttribute("data-slide-to");
+                    a && (i.interval = !1), e.carouselInterface(n, i), a && T(n, de).to(a), t.preventDefault()
+                }
+            }, e.getInstance = function (e) {
+                return T(e, de)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return ce
+                }
+            }]), e
+        }();
+    G.on(document, "click.bs.carousel.data-api", "[data-slide], [data-slide-to]", ve.dataApiClickHandler), G.on(window, "load.bs.carousel.data-api", (function () {
+        for (var e = oe.find('[data-ride="carousel"]'), t = 0, n = e.length; t < n; t++) ve.carouselInterface(e[t], T(e[t], de))
+    }));
+    var Me = k();
+    if (Me) {
+        var be = Me.fn[se];
+        Me.fn[se] = ve.jQueryInterface, Me.fn[se].Constructor = ve, Me.fn[se].noConflict = function () {
+            return Me.fn[se] = be, ve.jQueryInterface
+        }
+    }
+    var xe = "collapse", Le = "bs.collapse", we = {toggle: !0, parent: ""},
+        ke = {toggle: "boolean", parent: "(string|element)"}, Ye = "show", De = "collapse", Te = "collapsing",
+        Se = "collapsed", je = "width", Ee = '[data-toggle="collapse"]', He = function () {
+            function e(e, t) {
+                this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = oe.find(Ee + '[href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]');
+                for (var n = oe.find(Ee), i = 0, a = n.length; i < a; i++) {
+                    var r = n[i], l = f(r), o = oe.find(l).filter((function (t) {
+                        return t === e
+                    }));
+                    null !== l && o.length && (this._selector = l, this._triggerArray.push(r))
+                }
+                this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle(), D(e, Le, this)
+            }
+
+            var t = e.prototype;
+            return t.toggle = function () {
+                this._element.classList.contains(Ye) ? this.hide() : this.show()
+            }, t.show = function () {
+                var t = this;
+                if (!this._isTransitioning && !this._element.classList.contains(Ye)) {
+                    var n, i;
+                    this._parent && 0 === (n = oe.find(".show, .collapsing", this._parent).filter((function (e) {
+                        return "string" == typeof t._config.parent ? e.getAttribute("data-parent") === t._config.parent : e.classList.contains(De)
+                    }))).length && (n = null);
+                    var a = oe.findOne(this._selector);
+                    if (n) {
+                        var r = n.filter((function (e) {
+                            return a !== e
+                        }));
+                        if ((i = r[0] ? T(r[0], Le) : null) && i._isTransitioning) return
+                    }
+                    if (!G.trigger(this._element, "show.bs.collapse").defaultPrevented) {
+                        n && n.forEach((function (t) {
+                            a !== t && e.collapseInterface(t, "hide"), i || D(t, Le, null)
+                        }));
+                        var l = this._getDimension();
+                        this._element.classList.remove(De), this._element.classList.add(Te), this._element.style[l] = 0, this._triggerArray.length && this._triggerArray.forEach((function (e) {
+                            e.classList.remove(Se), e.setAttribute("aria-expanded", !0)
+                        })), this.setTransitioning(!0);
+                        var o = "scroll" + (l[0].toUpperCase() + l.slice(1)), s = p(this._element);
+                        G.one(this._element, c, (function () {
+                            t._element.classList.remove(Te), t._element.classList.add(De, Ye), t._element.style[l] = "", t.setTransitioning(!1), G.trigger(t._element, "shown.bs.collapse")
+                        })), v(this._element, s), this._element.style[l] = this._element[o] + "px"
+                    }
+                }
+            }, t.hide = function () {
+                var e = this;
+                if (!this._isTransitioning && this._element.classList.contains(Ye) && !G.trigger(this._element, "hide.bs.collapse").defaultPrevented) {
+                    var t = this._getDimension();
+                    this._element.style[t] = this._element.getBoundingClientRect()[t] + "px", w(this._element), this._element.classList.add(Te), this._element.classList.remove(De, Ye);
+                    var n = this._triggerArray.length;
+                    if (n > 0) for (var i = 0; i < n; i++) {
+                        var a = this._triggerArray[i], r = _(a);
+                        r && !r.classList.contains(Ye) && (a.classList.add(Se), a.setAttribute("aria-expanded", !1))
+                    }
+                    this.setTransitioning(!0);
+                    this._element.style[t] = "";
+                    var l = p(this._element);
+                    G.one(this._element, c, (function () {
+                        e.setTransitioning(!1), e._element.classList.remove(Te), e._element.classList.add(De), G.trigger(e._element, "hidden.bs.collapse")
+                    })), v(this._element, l)
+                }
+            }, t.setTransitioning = function (e) {
+                this._isTransitioning = e
+            }, t.dispose = function () {
+                S(this._element, Le), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
+            }, t._getConfig = function (e) {
+                return (e = l({}, we, e)).toggle = Boolean(e.toggle), M(xe, e, ke), e
+            }, t._getDimension = function () {
+                return this._element.classList.contains(je) ? je : "height"
+            }, t._getParent = function () {
+                var e = this, t = this._config.parent;
+                y(t) ? void 0 === t.jquery && void 0 === t[0] || (t = t[0]) : t = oe.findOne(t);
+                var n = Ee + '[data-parent="' + t + '"]';
+                return oe.find(n, t).forEach((function (t) {
+                    var n = _(t);
+                    e._addAriaAndCollapsedClass(n, [t])
+                })), t
+            }, t._addAriaAndCollapsedClass = function (e, t) {
+                if (e && t.length) {
+                    var n = e.classList.contains(Ye);
+                    t.forEach((function (e) {
+                        n ? e.classList.remove(Se) : e.classList.add(Se), e.setAttribute("aria-expanded", n)
+                    }))
+                }
+            }, e.collapseInterface = function (t, n) {
+                var i = T(t, Le), a = l({}, we, le.getDataAttributes(t), "object" == typeof n && n ? n : {});
+                if (!i && a.toggle && "string" == typeof n && /show|hide/.test(n) && (a.toggle = !1), i || (i = new e(t, a)), "string" == typeof n) {
+                    if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"');
+                    i[n]()
+                }
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    e.collapseInterface(this, t)
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, Le)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return we
+                }
+            }]), e
+        }();
+    G.on(document, "click.bs.collapse.data-api", Ee, (function (e) {
+        "A" === e.target.tagName && e.preventDefault();
+        var t = le.getDataAttributes(this), n = f(this);
+        oe.find(n).forEach((function (e) {
+            var n, i = T(e, Le);
+            i ? (null === i._parent && "string" == typeof t.parent && (i._config.parent = t.parent, i._parent = i._getParent()), n = "toggle") : n = t, He.collapseInterface(e, n)
+        }))
+    }));
+    var Oe = k();
+    if (Oe) {
+        var Ae = Oe.fn[xe];
+        Oe.fn[xe] = He.jQueryInterface, Oe.fn[xe].Constructor = He, Oe.fn[xe].noConflict = function () {
+            return Oe.fn[xe] = Ae, He.jQueryInterface
+        }
+    }
+    var Pe = "dropdown", Ce = "bs.dropdown", Fe = ".bs.dropdown", Ie = "Escape", We = "Space", Ne = "ArrowUp",
+        ze = "ArrowDown", Re = new RegExp("ArrowUp|ArrowDown|Escape"), Ve = "hide.bs.dropdown",
+        Be = "hidden.bs.dropdown", Ze = "click.bs.dropdown.data-api", Ue = "keydown.bs.dropdown.data-api",
+        Je = "disabled", Ge = "show", qe = "dropdown-menu-right", Ke = '[data-toggle="dropdown"]',
+        Xe = ".dropdown-menu", $e = {
+            offset: 0,
+            flip: !0,
+            boundary: "scrollParent",
+            reference: "toggle",
+            display: "dynamic",
+            popperConfig: null
+        }, Qe = {
+            offset: "(number|string|function)",
+            flip: "boolean",
+            boundary: "(string|element)",
+            reference: "(string|element)",
+            display: "string",
+            popperConfig: "(null|object)"
+        }, et = function () {
+            function e(e, t) {
+                this._element = e, this._popper = null, this._config = this._getConfig(t), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners(), D(e, Ce, this)
+            }
+
+            var t = e.prototype;
+            return t.toggle = function () {
+                if (!this._element.disabled && !this._element.classList.contains(Je)) {
+                    var t = this._element.classList.contains(Ge);
+                    e.clearMenus(), t || this.show()
+                }
+            }, t.show = function () {
+                if (!(this._element.disabled || this._element.classList.contains(Je) || this._menu.classList.contains(Ge))) {
+                    var t = e.getParentFromElement(this._element), n = {relatedTarget: this._element};
+                    if (!G.trigger(this._element, "show.bs.dropdown", n).defaultPrevented) {
+                        if (!this._inNavbar) {
+                            if (void 0 === i.a) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");
+                            var a = this._element;
+                            "parent" === this._config.reference ? a = t : y(this._config.reference) && (a = this._config.reference, void 0 !== this._config.reference.jquery && (a = this._config.reference[0])), "scrollParent" !== this._config.boundary && t.classList.add("position-static"), this._popper = new i.a(a, this._menu, this._getPopperConfig())
+                        }
+                        var r;
+                        if ("ontouchstart" in document.documentElement && !t.closest(".navbar-nav")) (r = []).concat.apply(r, document.body.children).forEach((function (e) {
+                            return G.on(e, "mouseover", null, (function () {
+                            }))
+                        }));
+                        this._element.focus(), this._element.setAttribute("aria-expanded", !0), le.toggleClass(this._menu, Ge), le.toggleClass(this._element, Ge), G.trigger(t, "shown.bs.dropdown", n)
+                    }
+                }
+            }, t.hide = function () {
+                if (!this._element.disabled && !this._element.classList.contains(Je) && this._menu.classList.contains(Ge)) {
+                    var t = e.getParentFromElement(this._element), n = {relatedTarget: this._element};
+                    G.trigger(t, Ve, n).defaultPrevented || (this._popper && this._popper.destroy(), le.toggleClass(this._menu, Ge), le.toggleClass(this._element, Ge), G.trigger(t, Be, n))
+                }
+            }, t.dispose = function () {
+                S(this._element, Ce), G.off(this._element, Fe), this._element = null, this._menu = null, this._popper && (this._popper.destroy(), this._popper = null)
+            }, t.update = function () {
+                this._inNavbar = this._detectNavbar(), this._popper && this._popper.scheduleUpdate()
+            }, t._addEventListeners = function () {
+                var e = this;
+                G.on(this._element, "click.bs.dropdown", (function (t) {
+                    t.preventDefault(), t.stopPropagation(), e.toggle()
+                }))
+            }, t._getConfig = function (e) {
+                return e = l({}, this.constructor.Default, le.getDataAttributes(this._element), e), M(Pe, e, this.constructor.DefaultType), e
+            }, t._getMenuElement = function () {
+                return oe.next(this._element, Xe)[0]
+            }, t._getPlacement = function () {
+                var e = this._element.parentNode, t = "bottom-start";
+                return e.classList.contains("dropup") ? (t = "top-start", this._menu.classList.contains(qe) && (t = "top-end")) : e.classList.contains("dropright") ? t = "right-start" : e.classList.contains("dropleft") ? t = "left-start" : this._menu.classList.contains(qe) && (t = "bottom-end"), t
+            }, t._detectNavbar = function () {
+                return Boolean(this._element.closest(".navbar"))
+            }, t._getOffset = function () {
+                var e = this, t = {};
+                return "function" == typeof this._config.offset ? t.fn = function (t) {
+                    return t.offsets = l({}, t.offsets, e._config.offset(t.offsets, e._element) || {}), t
+                } : t.offset = this._config.offset, t
+            }, t._getPopperConfig = function () {
+                var e = {
+                    placement: this._getPlacement(),
+                    modifiers: {
+                        offset: this._getOffset(),
+                        flip: {enabled: this._config.flip},
+                        preventOverflow: {boundariesElement: this._config.boundary}
+                    }
+                };
+                return "static" === this._config.display && (e.modifiers.applyStyle = {enabled: !1}), l({}, e, this._config.popperConfig)
+            }, e.dropdownInterface = function (t, n) {
+                var i = T(t, Ce);
+                if (i || (i = new e(t, "object" == typeof n ? n : null)), "string" == typeof n) {
+                    if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"');
+                    i[n]()
+                }
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    e.dropdownInterface(this, t)
+                }))
+            }, e.clearMenus = function (t) {
+                if (!t || 2 !== t.button && ("keyup" !== t.type || "Tab" === t.key)) for (var n = oe.find(Ke), i = 0, a = n.length; i < a; i++) {
+                    var r = e.getParentFromElement(n[i]), l = T(n[i], Ce), o = {relatedTarget: n[i]};
+                    if (t && "click" === t.type && (o.clickEvent = t), l) {
+                        var s = l._menu;
+                        if (n[i].classList.contains(Ge)) if (!(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && "Tab" === t.key) && s.contains(t.target))) if (!G.trigger(r, Ve, o).defaultPrevented) {
+                            var d;
+                            if ("ontouchstart" in document.documentElement) (d = []).concat.apply(d, document.body.children).forEach((function (e) {
+                                return G.off(e, "mouseover", null, (function () {
+                                }))
+                            }));
+                            n[i].setAttribute("aria-expanded", "false"), l._popper && l._popper.destroy(), s.classList.remove(Ge), n[i].classList.remove(Ge), G.trigger(r, Be, o)
+                        }
+                    }
+                }
+            }, e.getParentFromElement = function (e) {
+                return _(e) || e.parentNode
+            }, e.dataApiKeydownHandler = function (t) {
+                if (!(/input|textarea/i.test(t.target.tagName) ? t.key === We || t.key !== Ie && (t.key !== ze && t.key !== Ne || t.target.closest(Xe)) : !Re.test(t.key)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !this.classList.contains(Je))) {
+                    var n = e.getParentFromElement(this), i = this.classList.contains(Ge);
+                    if (t.key === Ie) return (this.matches(Ke) ? this : oe.prev(this, Ke)[0]).focus(), void e.clearMenus();
+                    if (i && t.key !== We) {
+                        var a = oe.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", n).filter(b);
+                        if (a.length) {
+                            var r = a.indexOf(t.target);
+                            t.key === Ne && r > 0 && r--, t.key === ze && r < a.length - 1 && r++, a[r = -1 === r ? 0 : r].focus()
+                        }
+                    } else e.clearMenus()
+                }
+            }, e.getInstance = function (e) {
+                return T(e, Ce)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return $e
+                }
+            }, {
+                key: "DefaultType", get: function () {
+                    return Qe
+                }
+            }]), e
+        }();
+    G.on(document, Ue, Ke, et.dataApiKeydownHandler), G.on(document, Ue, Xe, et.dataApiKeydownHandler), G.on(document, Ze, et.clearMenus), G.on(document, "keyup.bs.dropdown.data-api", et.clearMenus), G.on(document, Ze, Ke, (function (e) {
+        e.preventDefault(), e.stopPropagation(), et.dropdownInterface(this, "toggle")
+    })), G.on(document, Ze, ".dropdown form", (function (e) {
+        return e.stopPropagation()
+    }));
+    var tt = k();
+    if (tt) {
+        var nt = tt.fn[Pe];
+        tt.fn[Pe] = et.jQueryInterface, tt.fn[Pe].Constructor = et, tt.fn[Pe].noConflict = function () {
+            return tt.fn[Pe] = nt, et.jQueryInterface
+        }
+    }
+    var it = "modal", at = "bs.modal", rt = ".bs.modal", lt = "Escape",
+        ot = {backdrop: !0, keyboard: !0, focus: !0, show: !0},
+        st = {backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean"},
+        dt = "hidden.bs.modal", ut = "show.bs.modal", ct = "focusin.bs.modal", ht = "resize.bs.modal",
+        mt = "click.dismiss.bs.modal", ft = "keydown.dismiss.bs.modal", _t = "mousedown.dismiss.bs.modal",
+        pt = "modal-open", gt = "fade", yt = "show", vt = "modal-static",
+        Mt = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", bt = ".sticky-top", xt = function () {
+            function e(e, t) {
+                this._config = this._getConfig(t), this._element = e, this._dialog = oe.findOne(".modal-dialog", e), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0, D(e, at, this)
+            }
+
+            var t = e.prototype;
+            return t.toggle = function (e) {
+                return this._isShown ? this.hide() : this.show(e)
+            }, t.show = function (e) {
+                var t = this;
+                if (!this._isShown && !this._isTransitioning) {
+                    this._element.classList.contains(gt) && (this._isTransitioning = !0);
+                    var n = G.trigger(this._element, ut, {relatedTarget: e});
+                    this._isShown || n.defaultPrevented || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), G.on(this._element, mt, '[data-dismiss="modal"]', (function (e) {
+                        return t.hide(e)
+                    })), G.on(this._dialog, _t, (function () {
+                        G.one(t._element, "mouseup.dismiss.bs.modal", (function (e) {
+                            e.target === t._element && (t._ignoreBackdropClick = !0)
+                        }))
+                    })), this._showBackdrop((function () {
+                        return t._showElement(e)
+                    })))
+                }
+            }, t.hide = function (e) {
+                var t = this;
+                if ((e && e.preventDefault(), this._isShown && !this._isTransitioning) && !G.trigger(this._element, "hide.bs.modal").defaultPrevented) {
+                    this._isShown = !1;
+                    var n = this._element.classList.contains(gt);
+                    if (n && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), G.off(document, ct), this._element.classList.remove(yt), G.off(this._element, mt), G.off(this._dialog, _t), n) {
+                        var i = p(this._element);
+                        G.one(this._element, c, (function (e) {
+                            return t._hideModal(e)
+                        })), v(this._element, i)
+                    } else this._hideModal()
+                }
+            }, t.dispose = function () {
+                [window, this._element, this._dialog].forEach((function (e) {
+                    return G.off(e, rt)
+                })), G.off(document, ct), S(this._element, at), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null
+            }, t.handleUpdate = function () {
+                this._adjustDialog()
+            }, t._getConfig = function (e) {
+                return e = l({}, ot, e), M(it, e, st), e
+            }, t._showElement = function (e) {
+                var t = this, n = this._element.classList.contains(gt), i = oe.findOne(".modal-body", this._dialog);
+                this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0, i && (i.scrollTop = 0), n && w(this._element), this._element.classList.add(yt), this._config.focus && this._enforceFocus();
+                var a = function () {
+                    t._config.focus && t._element.focus(), t._isTransitioning = !1, G.trigger(t._element, "shown.bs.modal", {relatedTarget: e})
+                };
+                if (n) {
+                    var r = p(this._dialog);
+                    G.one(this._dialog, c, a), v(this._dialog, r)
+                } else a()
+            }, t._enforceFocus = function () {
+                var e = this;
+                G.off(document, ct), G.on(document, ct, (function (t) {
+                    document === t.target || e._element === t.target || e._element.contains(t.target) || e._element.focus()
+                }))
+            }, t._setEscapeEvent = function () {
+                var e = this;
+                this._isShown ? G.on(this._element, ft, (function (t) {
+                    e._config.keyboard && t.key === lt ? (t.preventDefault(), e.hide()) : e._config.keyboard || t.key !== lt || e._triggerBackdropTransition()
+                })) : G.off(this._element, ft)
+            }, t._setResizeEvent = function () {
+                var e = this;
+                this._isShown ? G.on(window, ht, (function () {
+                    return e._adjustDialog()
+                })) : G.off(window, ht)
+            }, t._hideModal = function () {
+                var e = this;
+                this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._showBackdrop((function () {
+                    document.body.classList.remove(pt), e._resetAdjustments(), e._resetScrollbar(), G.trigger(e._element, dt)
+                }))
+            }, t._removeBackdrop = function () {
+                this._backdrop.parentNode.removeChild(this._backdrop), this._backdrop = null
+            }, t._showBackdrop = function (e) {
+                var t = this, n = this._element.classList.contains(gt) ? gt : "";
+                if (this._isShown && this._config.backdrop) {
+                    if (this._backdrop = document.createElement("div"), this._backdrop.className = "modal-backdrop", n && this._backdrop.classList.add(n), document.body.appendChild(this._backdrop), G.on(this._element, mt, (function (e) {
+                        t._ignoreBackdropClick ? t._ignoreBackdropClick = !1 : e.target === e.currentTarget && t._triggerBackdropTransition()
+                    })), n && w(this._backdrop), this._backdrop.classList.add(yt), !n) return void e();
+                    var i = p(this._backdrop);
+                    G.one(this._backdrop, c, e), v(this._backdrop, i)
+                } else if (!this._isShown && this._backdrop) {
+                    this._backdrop.classList.remove(yt);
+                    var a = function () {
+                        t._removeBackdrop(), e()
+                    };
+                    if (this._element.classList.contains(gt)) {
+                        var r = p(this._backdrop);
+                        G.one(this._backdrop, c, a), v(this._backdrop, r)
+                    } else a()
+                } else e()
+            }, t._triggerBackdropTransition = function () {
+                var e = this;
+                if ("static" === this._config.backdrop) {
+                    if (G.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) return;
+                    var t = this._element.scrollHeight > document.documentElement.clientHeight;
+                    t || (this._element.style.overflowY = "hidden"), this._element.classList.add(vt);
+                    var n = p(this._dialog);
+                    G.off(this._element, c), G.one(this._element, c, (function () {
+                        e._element.classList.remove(vt), t || (G.one(e._element, c, (function () {
+                            e._element.style.overflowY = ""
+                        })), v(e._element, n))
+                    })), v(this._element, n), this._element.focus()
+                } else this.hide()
+            }, t._adjustDialog = function () {
+                var e = this._element.scrollHeight > document.documentElement.clientHeight;
+                !this._isBodyOverflowing && e && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !e && (this._element.style.paddingRight = this._scrollbarWidth + "px")
+            }, t._resetAdjustments = function () {
+                this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
+            }, t._checkScrollbar = function () {
+                var e = document.body.getBoundingClientRect();
+                this._isBodyOverflowing = Math.round(e.left + e.right) < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
+            }, t._setScrollbar = function () {
+                var e = this;
+                if (this._isBodyOverflowing) {
+                    oe.find(Mt).forEach((function (t) {
+                        var n = t.style.paddingRight, i = window.getComputedStyle(t)["padding-right"];
+                        le.setDataAttribute(t, "padding-right", n), t.style.paddingRight = parseFloat(i) + e._scrollbarWidth + "px"
+                    })), oe.find(bt).forEach((function (t) {
+                        var n = t.style.marginRight, i = window.getComputedStyle(t)["margin-right"];
+                        le.setDataAttribute(t, "margin-right", n), t.style.marginRight = parseFloat(i) - e._scrollbarWidth + "px"
+                    }));
+                    var t = document.body.style.paddingRight, n = window.getComputedStyle(document.body)["padding-right"];
+                    le.setDataAttribute(document.body, "padding-right", t), document.body.style.paddingRight = parseFloat(n) + this._scrollbarWidth + "px"
+                }
+                document.body.classList.add(pt)
+            }, t._resetScrollbar = function () {
+                oe.find(Mt).forEach((function (e) {
+                    var t = le.getDataAttribute(e, "padding-right");
+                    void 0 !== t && (le.removeDataAttribute(e, "padding-right"), e.style.paddingRight = t)
+                })), oe.find(".sticky-top").forEach((function (e) {
+                    var t = le.getDataAttribute(e, "margin-right");
+                    void 0 !== t && (le.removeDataAttribute(e, "margin-right"), e.style.marginRight = t)
+                }));
+                var e = le.getDataAttribute(document.body, "padding-right");
+                void 0 === e ? document.body.style.paddingRight = "" : (le.removeDataAttribute(document.body, "padding-right"), document.body.style.paddingRight = e)
+            }, t._getScrollbarWidth = function () {
+                var e = document.createElement("div");
+                e.className = "modal-scrollbar-measure", document.body.appendChild(e);
+                var t = e.getBoundingClientRect().width - e.clientWidth;
+                return document.body.removeChild(e), t
+            }, e.jQueryInterface = function (t, n) {
+                return this.each((function () {
+                    var i = T(this, at), a = l({}, ot, le.getDataAttributes(this), "object" == typeof t && t ? t : {});
+                    if (i || (i = new e(this, a)), "string" == typeof t) {
+                        if (void 0 === i[t]) throw new TypeError('No method named "' + t + '"');
+                        i[t](n)
+                    } else a.show && i.show(n)
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, at)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return ot
+                }
+            }]), e
+        }();
+    G.on(document, "click.bs.modal.data-api", '[data-toggle="modal"]', (function (e) {
+        var t = this, n = _(this);
+        "A" !== this.tagName && "AREA" !== this.tagName || e.preventDefault(), G.one(n, ut, (function (e) {
+            e.defaultPrevented || G.one(n, dt, (function () {
+                b(t) && t.focus()
+            }))
+        }));
+        var i = T(n, at);
+        if (!i) {
+            var a = l({}, le.getDataAttributes(n), le.getDataAttributes(this));
+            i = new xt(n, a)
+        }
+        i.show(this)
+    }));
+    var Lt = k();
+    if (Lt) {
+        var wt = Lt.fn.modal;
+        Lt.fn.modal = xt.jQueryInterface, Lt.fn.modal.Constructor = xt, Lt.fn.modal.noConflict = function () {
+            return Lt.fn.modal = wt, xt.jQueryInterface
+        }
+    }
+    var kt = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"],
+        Yt = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,
+        Dt = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,
+        Tt = {
+            "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
+            a: ["target", "href", "title", "rel"],
+            area: [],
+            b: [],
+            br: [],
+            col: [],
+            code: [],
+            div: [],
+            em: [],
+            hr: [],
+            h1: [],
+            h2: [],
+            h3: [],
+            h4: [],
+            h5: [],
+            h6: [],
+            i: [],
+            img: ["src", "srcset", "alt", "title", "width", "height"],
+            li: [],
+            ol: [],
+            p: [],
+            pre: [],
+            s: [],
+            small: [],
+            span: [],
+            sub: [],
+            sup: [],
+            strong: [],
+            u: [],
+            ul: []
+        };
+
+    function St(e, t, n) {
+        var i;
+        if (!e.length) return e;
+        if (n && "function" == typeof n) return n(e);
+        for (var a = (new window.DOMParser).parseFromString(e, "text/html"), r = Object.keys(t), l = (i = []).concat.apply(i, a.body.querySelectorAll("*")), o = function (e, n) {
+            var i, a = l[e], o = a.nodeName.toLowerCase();
+            if (-1 === r.indexOf(o)) return a.parentNode.removeChild(a), "continue";
+            var s = (i = []).concat.apply(i, a.attributes), d = [].concat(t["*"] || [], t[o] || []);
+            s.forEach((function (e) {
+                (function (e, t) {
+                    var n = e.nodeName.toLowerCase();
+                    if (-1 !== t.indexOf(n)) return -1 === kt.indexOf(n) || Boolean(e.nodeValue.match(Yt) || e.nodeValue.match(Dt));
+                    for (var i = t.filter((function (e) {
+                        return e instanceof RegExp
+                    })), a = 0, r = i.length; a < r; a++) if (n.match(i[a])) return !0;
+                    return !1
+                })(e, d) || a.removeAttribute(e.nodeName)
+            }))
+        }, s = 0, d = l.length; s < d; s++) o(s);
+        return a.body.innerHTML
+    }
+
+    var jt = "tooltip", Et = "bs.tooltip", Ht = ".bs.tooltip", Ot = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
+        At = ["sanitize", "allowList", "sanitizeFn"], Pt = {
+            animation: "boolean",
+            template: "string",
+            title: "(string|element|function)",
+            trigger: "string",
+            delay: "(number|object)",
+            html: "boolean",
+            selector: "(string|boolean)",
+            placement: "(string|function)",
+            offset: "(number|string|function)",
+            container: "(string|element|boolean)",
+            fallbackPlacement: "(string|array)",
+            boundary: "(string|element)",
+            sanitize: "boolean",
+            sanitizeFn: "(null|function)",
+            allowList: "object",
+            popperConfig: "(null|object)"
+        }, Ct = {AUTO: "auto", TOP: "top", RIGHT: "right", BOTTOM: "bottom", LEFT: "left"}, Ft = {
+            animation: !0,
+            template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+            trigger: "hover focus",
+            title: "",
+            delay: 0,
+            html: !1,
+            selector: !1,
+            placement: "top",
+            offset: 0,
+            container: !1,
+            fallbackPlacement: "flip",
+            boundary: "scrollParent",
+            sanitize: !0,
+            sanitizeFn: null,
+            allowList: Tt,
+            popperConfig: null
+        }, It = {
+            HIDE: "hide.bs.tooltip",
+            HIDDEN: "hidden.bs.tooltip",
+            SHOW: "show.bs.tooltip",
+            SHOWN: "shown.bs.tooltip",
+            INSERTED: "inserted.bs.tooltip",
+            CLICK: "click.bs.tooltip",
+            FOCUSIN: "focusin.bs.tooltip",
+            FOCUSOUT: "focusout.bs.tooltip",
+            MOUSEENTER: "mouseenter.bs.tooltip",
+            MOUSELEAVE: "mouseleave.bs.tooltip"
+        }, Wt = "fade", Nt = "show", zt = "show", Rt = "out", Vt = "hover", Bt = "focus", Zt = function () {
+            function e(e, t) {
+                if (void 0 === i.a) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");
+                this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = e, this.config = this._getConfig(t), this.tip = null, this._setListeners(), D(e, this.constructor.DATA_KEY, this)
+            }
+
+            var t = e.prototype;
+            return t.enable = function () {
+                this._isEnabled = !0
+            }, t.disable = function () {
+                this._isEnabled = !1
+            }, t.toggleEnabled = function () {
+                this._isEnabled = !this._isEnabled
+            }, t.toggle = function (e) {
+                if (this._isEnabled) if (e) {
+                    var t = this.constructor.DATA_KEY, n = T(e.delegateTarget, t);
+                    n || (n = new this.constructor(e.delegateTarget, this._getDelegateConfig()), D(e.delegateTarget, t, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n)
+                } else {
+                    if (this.getTipElement().classList.contains(Nt)) return void this._leave(null, this);
+                    this._enter(null, this)
+                }
+            }, t.dispose = function () {
+                clearTimeout(this._timeout), S(this.element, this.constructor.DATA_KEY), G.off(this.element, this.constructor.EVENT_KEY), G.off(this.element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.tip && this.tip.parentNode.removeChild(this.tip), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
+            }, t.show = function () {
+                var e = this;
+                if ("none" === this.element.style.display) throw new Error("Please use show on visible elements");
+                if (this.isWithContent() && this._isEnabled) {
+                    var t = G.trigger(this.element, this.constructor.Event.SHOW), n = x(this.element),
+                        a = null === n ? this.element.ownerDocument.documentElement.contains(this.element) : n.contains(this.element);
+                    if (t.defaultPrevented || !a) return;
+                    var r = this.getTipElement(), l = h(this.constructor.NAME);
+                    r.setAttribute("id", l), this.element.setAttribute("aria-describedby", l), this.setContent(), this.config.animation && r.classList.add(Wt);
+                    var o = "function" == typeof this.config.placement ? this.config.placement.call(this, r, this.element) : this.config.placement,
+                        s = this._getAttachment(o);
+                    this._addAttachmentClass(s);
+                    var d, u = this._getContainer();
+                    if (D(r, this.constructor.DATA_KEY, this), this.element.ownerDocument.documentElement.contains(this.tip) || u.appendChild(r), G.trigger(this.element, this.constructor.Event.INSERTED), this._popper = new i.a(this.element, r, this._getPopperConfig(s)), r.classList.add(Nt), "ontouchstart" in document.documentElement) (d = []).concat.apply(d, document.body.children).forEach((function (e) {
+                        G.on(e, "mouseover", (function () {
+                        }))
+                    }));
+                    var m = function () {
+                        e.config.animation && e._fixTransition();
+                        var t = e._hoverState;
+                        e._hoverState = null, G.trigger(e.element, e.constructor.Event.SHOWN), t === Rt && e._leave(null, e)
+                    };
+                    if (this.tip.classList.contains(Wt)) {
+                        var f = p(this.tip);
+                        G.one(this.tip, c, m), v(this.tip, f)
+                    } else m()
+                }
+            }, t.hide = function () {
+                var e = this;
+                if (this._popper) {
+                    var t = this.getTipElement(), n = function () {
+                        e._hoverState !== zt && t.parentNode && t.parentNode.removeChild(t), e._cleanTipClass(), e.element.removeAttribute("aria-describedby"), G.trigger(e.element, e.constructor.Event.HIDDEN), e._popper.destroy()
+                    };
+                    if (!G.trigger(this.element, this.constructor.Event.HIDE).defaultPrevented) {
+                        var i;
+                        if (t.classList.remove(Nt), "ontouchstart" in document.documentElement) (i = []).concat.apply(i, document.body.children).forEach((function (e) {
+                            return G.off(e, "mouseover", L)
+                        }));
+                        if (this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1, this.tip.classList.contains(Wt)) {
+                            var a = p(t);
+                            G.one(t, c, n), v(t, a)
+                        } else n();
+                        this._hoverState = ""
+                    }
+                }
+            }, t.update = function () {
+                null !== this._popper && this._popper.scheduleUpdate()
+            }, t.isWithContent = function () {
+                return Boolean(this.getTitle())
+            }, t.getTipElement = function () {
+                if (this.tip) return this.tip;
+                var e = document.createElement("div");
+                return e.innerHTML = this.config.template, this.tip = e.children[0], this.tip
+            }, t.setContent = function () {
+                var e = this.getTipElement();
+                this.setElementContent(oe.findOne(".tooltip-inner", e), this.getTitle()), e.classList.remove(Wt, Nt)
+            }, t.setElementContent = function (e, t) {
+                if (null !== e) return "object" == typeof t && y(t) ? (t.jquery && (t = t[0]), void (this.config.html ? t.parentNode !== e && (e.innerHTML = "", e.appendChild(t)) : e.textContent = t.textContent)) : void (this.config.html ? (this.config.sanitize && (t = St(t, this.config.allowList, this.config.sanitizeFn)), e.innerHTML = t) : e.textContent = t)
+            }, t.getTitle = function () {
+                var e = this.element.getAttribute("data-original-title");
+                return e || (e = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), e
+            }, t._getPopperConfig = function (e) {
+                var t = this;
+                return l({}, {
+                    placement: e,
+                    modifiers: {
+                        offset: this._getOffset(),
+                        flip: {behavior: this.config.fallbackPlacement},
+                        arrow: {element: "." + this.constructor.NAME + "-arrow"},
+                        preventOverflow: {boundariesElement: this.config.boundary}
+                    },
+                    onCreate: function (e) {
+                        e.originalPlacement !== e.placement && t._handlePopperPlacementChange(e)
+                    },
+                    onUpdate: function (e) {
+                        return t._handlePopperPlacementChange(e)
+                    }
+                }, this.config.popperConfig)
+            }, t._addAttachmentClass = function (e) {
+                this.getTipElement().classList.add("bs-tooltip-" + e)
+            }, t._getOffset = function () {
+                var e = this, t = {};
+                return "function" == typeof this.config.offset ? t.fn = function (t) {
+                    return t.offsets = l({}, t.offsets, e.config.offset(t.offsets, e.element) || {}), t
+                } : t.offset = this.config.offset, t
+            }, t._getContainer = function () {
+                return !1 === this.config.container ? document.body : y(this.config.container) ? this.config.container : oe.findOne(this.config.container)
+            }, t._getAttachment = function (e) {
+                return Ct[e.toUpperCase()]
+            }, t._setListeners = function () {
+                var e = this;
+                this.config.trigger.split(" ").forEach((function (t) {
+                    if ("click" === t) G.on(e.element, e.constructor.Event.CLICK, e.config.selector, (function (t) {
+                        return e.toggle(t)
+                    })); else if ("manual" !== t) {
+                        var n = t === Vt ? e.constructor.Event.MOUSEENTER : e.constructor.Event.FOCUSIN,
+                            i = t === Vt ? e.constructor.Event.MOUSELEAVE : e.constructor.Event.FOCUSOUT;
+                        G.on(e.element, n, e.config.selector, (function (t) {
+                            return e._enter(t)
+                        })), G.on(e.element, i, e.config.selector, (function (t) {
+                            return e._leave(t)
+                        }))
+                    }
+                })), this._hideModalHandler = function () {
+                    e.element && e.hide()
+                }, G.on(this.element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.config.selector ? this.config = l({}, this.config, {
+                    trigger: "manual",
+                    selector: ""
+                }) : this._fixTitle()
+            }, t._fixTitle = function () {
+                var e = typeof this.element.getAttribute("data-original-title");
+                (this.element.getAttribute("title") || "string" !== e) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
+            }, t._enter = function (e, t) {
+                var n = this.constructor.DATA_KEY;
+                (t = t || T(e.delegateTarget, n)) || (t = new this.constructor(e.delegateTarget, this._getDelegateConfig()), D(e.delegateTarget, n, t)), e && (t._activeTrigger["focusin" === e.type ? Bt : Vt] = !0), t.getTipElement().classList.contains(Nt) || t._hoverState === zt ? t._hoverState = zt : (clearTimeout(t._timeout), t._hoverState = zt, t.config.delay && t.config.delay.show ? t._timeout = setTimeout((function () {
+                    t._hoverState === zt && t.show()
+                }), t.config.delay.show) : t.show())
+            }, t._leave = function (e, t) {
+                var n = this.constructor.DATA_KEY;
+                (t = t || T(e.delegateTarget, n)) || (t = new this.constructor(e.delegateTarget, this._getDelegateConfig()), D(e.delegateTarget, n, t)), e && (t._activeTrigger["focusout" === e.type ? Bt : Vt] = !1), t._isWithActiveTrigger() || (clearTimeout(t._timeout), t._hoverState = Rt, t.config.delay && t.config.delay.hide ? t._timeout = setTimeout((function () {
+                    t._hoverState === Rt && t.hide()
+                }), t.config.delay.hide) : t.hide())
+            }, t._isWithActiveTrigger = function () {
+                for (var e in this._activeTrigger) if (this._activeTrigger[e]) return !0;
+                return !1
+            }, t._getConfig = function (e) {
+                var t = le.getDataAttributes(this.element);
+                return Object.keys(t).forEach((function (e) {
+                    -1 !== At.indexOf(e) && delete t[e]
+                })), e && "object" == typeof e.container && e.container.jquery && (e.container = e.container[0]), "number" == typeof (e = l({}, this.constructor.Default, t, "object" == typeof e && e ? e : {})).delay && (e.delay = {
+                    show: e.delay,
+                    hide: e.delay
+                }), "number" == typeof e.title && (e.title = e.title.toString()), "number" == typeof e.content && (e.content = e.content.toString()), M(jt, e, this.constructor.DefaultType), e.sanitize && (e.template = St(e.template, e.allowList, e.sanitizeFn)), e
+            }, t._getDelegateConfig = function () {
+                var e = {};
+                if (this.config) for (var t in this.config) this.constructor.Default[t] !== this.config[t] && (e[t] = this.config[t]);
+                return e
+            }, t._cleanTipClass = function () {
+                var e = this.getTipElement(), t = e.getAttribute("class").match(Ot);
+                null !== t && t.length > 0 && t.map((function (e) {
+                    return e.trim()
+                })).forEach((function (t) {
+                    return e.classList.remove(t)
+                }))
+            }, t._handlePopperPlacementChange = function (e) {
+                this.tip = e.instance.popper, this._cleanTipClass(), this._addAttachmentClass(this._getAttachment(e.placement))
+            }, t._fixTransition = function () {
+                var e = this.getTipElement(), t = this.config.animation;
+                null === e.getAttribute("x-placement") && (e.classList.remove(Wt), this.config.animation = !1, this.hide(), this.show(), this.config.animation = t)
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    var n = T(this, Et), i = "object" == typeof t && t;
+                    if ((n || !/dispose|hide/.test(t)) && (n || (n = new e(this, i)), "string" == typeof t)) {
+                        if (void 0 === n[t]) throw new TypeError('No method named "' + t + '"');
+                        n[t]()
+                    }
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, Et)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return Ft
+                }
+            }, {
+                key: "NAME", get: function () {
+                    return jt
+                }
+            }, {
+                key: "DATA_KEY", get: function () {
+                    return Et
+                }
+            }, {
+                key: "Event", get: function () {
+                    return It
+                }
+            }, {
+                key: "EVENT_KEY", get: function () {
+                    return Ht
+                }
+            }, {
+                key: "DefaultType", get: function () {
+                    return Pt
+                }
+            }]), e
+        }(), Ut = k();
+    if (Ut) {
+        var Jt = Ut.fn.tooltip;
+        Ut.fn.tooltip = Zt.jQueryInterface, Ut.fn.tooltip.Constructor = Zt, Ut.fn.tooltip.noConflict = function () {
+            return Ut.fn.tooltip = Jt, Zt.jQueryInterface
+        }
+    }
+    var Gt = "popover", qt = "bs.popover", Kt = ".bs.popover", Xt = new RegExp("(^|\\s)bs-popover\\S+", "g"),
+        $t = l({}, Zt.Default, {
+            placement: "right",
+            trigger: "click",
+            content: "",
+            template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
+        }), Qt = l({}, Zt.DefaultType, {content: "(string|element|function)"}), en = {
+            HIDE: "hide.bs.popover",
+            HIDDEN: "hidden.bs.popover",
+            SHOW: "show.bs.popover",
+            SHOWN: "shown.bs.popover",
+            INSERTED: "inserted.bs.popover",
+            CLICK: "click.bs.popover",
+            FOCUSIN: "focusin.bs.popover",
+            FOCUSOUT: "focusout.bs.popover",
+            MOUSEENTER: "mouseenter.bs.popover",
+            MOUSELEAVE: "mouseleave.bs.popover"
+        }, tn = function (e) {
+            var t, n;
+
+            function i() {
+                return e.apply(this, arguments) || this
+            }
+
+            n = e, (t = i).prototype = Object.create(n.prototype), t.prototype.constructor = t, t.__proto__ = n;
+            var a = i.prototype;
+            return a.isWithContent = function () {
+                return this.getTitle() || this._getContent()
+            }, a.setContent = function () {
+                var e = this.getTipElement();
+                this.setElementContent(oe.findOne(".popover-header", e), this.getTitle());
+                var t = this._getContent();
+                "function" == typeof t && (t = t.call(this.element)), this.setElementContent(oe.findOne(".popover-body", e), t), e.classList.remove("fade", "show")
+            }, a._addAttachmentClass = function (e) {
+                this.getTipElement().classList.add("bs-popover-" + e)
+            }, a._getContent = function () {
+                return this.element.getAttribute("data-content") || this.config.content
+            }, a._cleanTipClass = function () {
+                var e = this.getTipElement(), t = e.getAttribute("class").match(Xt);
+                null !== t && t.length > 0 && t.map((function (e) {
+                    return e.trim()
+                })).forEach((function (t) {
+                    return e.classList.remove(t)
+                }))
+            }, i.jQueryInterface = function (e) {
+                return this.each((function () {
+                    var t = T(this, qt), n = "object" == typeof e ? e : null;
+                    if ((t || !/dispose|hide/.test(e)) && (t || (t = new i(this, n), D(this, qt, t)), "string" == typeof e)) {
+                        if (void 0 === t[e]) throw new TypeError('No method named "' + e + '"');
+                        t[e]()
+                    }
+                }))
+            }, i.getInstance = function (e) {
+                return T(e, qt)
+            }, r(i, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return $t
+                }
+            }, {
+                key: "NAME", get: function () {
+                    return Gt
+                }
+            }, {
+                key: "DATA_KEY", get: function () {
+                    return qt
+                }
+            }, {
+                key: "Event", get: function () {
+                    return en
+                }
+            }, {
+                key: "EVENT_KEY", get: function () {
+                    return Kt
+                }
+            }, {
+                key: "DefaultType", get: function () {
+                    return Qt
+                }
+            }]), i
+        }(Zt), nn = k();
+    if (nn) {
+        var an = nn.fn.popover;
+        nn.fn.popover = tn.jQueryInterface, nn.fn.popover.Constructor = tn, nn.fn.popover.noConflict = function () {
+            return nn.fn.popover = an, tn.jQueryInterface
+        }
+    }
+    var rn = "scrollspy", ln = "bs.scrollspy", on = "." + ln, sn = {offset: 10, method: "auto", target: ""},
+        dn = {offset: "number", method: "string", target: "(string|element)"}, un = "dropdown-item", cn = "active",
+        hn = ".nav-link", mn = "position", fn = function () {
+            function e(e, t) {
+                var n = this;
+                this._element = e, this._scrollElement = "BODY" === e.tagName ? window : e, this._config = this._getConfig(t), this._selector = this._config.target + " " + ".nav-link, " + this._config.target + " " + ".list-group-item, " + this._config.target + " ." + un, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, G.on(this._scrollElement, "scroll.bs.scrollspy", (function (e) {
+                    return n._process(e)
+                })), this.refresh(), this._process(), D(e, ln, this)
+            }
+
+            var t = e.prototype;
+            return t.refresh = function () {
+                var e = this, t = this._scrollElement === this._scrollElement.window ? "offset" : mn,
+                    n = "auto" === this._config.method ? t : this._config.method, i = n === mn ? this._getScrollTop() : 0;
+                this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), oe.find(this._selector).map((function (e) {
+                    var t = f(e), a = t ? oe.findOne(t) : null;
+                    if (a) {
+                        var r = a.getBoundingClientRect();
+                        if (r.width || r.height) return [le[n](a).top + i, t]
+                    }
+                    return null
+                })).filter((function (e) {
+                    return e
+                })).sort((function (e, t) {
+                    return e[0] - t[0]
+                })).forEach((function (t) {
+                    e._offsets.push(t[0]), e._targets.push(t[1])
+                }))
+            }, t.dispose = function () {
+                S(this._element, ln), G.off(this._scrollElement, on), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
+            }, t._getConfig = function (e) {
+                if ("string" != typeof (e = l({}, sn, "object" == typeof e && e ? e : {})).target && y(e.target)) {
+                    var t = e.target.id;
+                    t || (t = h(rn), e.target.id = t), e.target = "#" + t
+                }
+                return M(rn, e, dn), e
+            }, t._getScrollTop = function () {
+                return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
+            }, t._getScrollHeight = function () {
+                return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
+            }, t._getOffsetHeight = function () {
+                return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
+            }, t._process = function () {
+                var e = this._getScrollTop() + this._config.offset, t = this._getScrollHeight(),
+                    n = this._config.offset + t - this._getOffsetHeight();
+                if (this._scrollHeight !== t && this.refresh(), e >= n) {
+                    var i = this._targets[this._targets.length - 1];
+                    this._activeTarget !== i && this._activate(i)
+                } else {
+                    if (this._activeTarget && e < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear();
+                    for (var a = this._offsets.length; a--;) {
+                        this._activeTarget !== this._targets[a] && e >= this._offsets[a] && (void 0 === this._offsets[a + 1] || e < this._offsets[a + 1]) && this._activate(this._targets[a])
+                    }
+                }
+            }, t._activate = function (e) {
+                this._activeTarget = e, this._clear();
+                var t = this._selector.split(",").map((function (t) {
+                    return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]'
+                })), n = oe.findOne(t.join(","));
+                n.classList.contains(un) ? (oe.findOne(".dropdown-toggle", n.closest(".dropdown")).classList.add(cn), n.classList.add(cn)) : (n.classList.add(cn), oe.parents(n, ".nav, .list-group").forEach((function (e) {
+                    oe.prev(e, ".nav-link, .list-group-item").forEach((function (e) {
+                        return e.classList.add(cn)
+                    })), oe.prev(e, ".nav-item").forEach((function (e) {
+                        oe.children(e, hn).forEach((function (e) {
+                            return e.classList.add(cn)
+                        }))
+                    }))
+                }))), G.trigger(this._scrollElement, "activate.bs.scrollspy", {relatedTarget: e})
+            }, t._clear = function () {
+                oe.find(this._selector).filter((function (e) {
+                    return e.classList.contains(cn)
+                })).forEach((function (e) {
+                    return e.classList.remove(cn)
+                }))
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    var n = T(this, ln);
+                    if (n || (n = new e(this, "object" == typeof t && t)), "string" == typeof t) {
+                        if (void 0 === n[t]) throw new TypeError('No method named "' + t + '"');
+                        n[t]()
+                    }
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, ln)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "Default", get: function () {
+                    return sn
+                }
+            }]), e
+        }();
+    G.on(window, "load.bs.scrollspy.data-api", (function () {
+        oe.find('[data-spy="scroll"]').forEach((function (e) {
+            return new fn(e, le.getDataAttributes(e))
+        }))
+    }));
+    var _n = k();
+    if (_n) {
+        var pn = _n.fn[rn];
+        _n.fn[rn] = fn.jQueryInterface, _n.fn[rn].Constructor = fn, _n.fn[rn].noConflict = function () {
+            return _n.fn[rn] = pn, fn.jQueryInterface
+        }
+    }
+    var gn = "bs.tab", yn = "active", vn = "fade", Mn = "show", bn = ".active", xn = ":scope > li > .active",
+        Ln = function () {
+            function e(e) {
+                this._element = e, D(this._element, gn, this)
+            }
+
+            var t = e.prototype;
+            return t.show = function () {
+                var e = this;
+                if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(yn) || this._element.classList.contains("disabled"))) {
+                    var t, n = _(this._element), i = this._element.closest(".nav, .list-group");
+                    if (i) {
+                        var a = "UL" === i.nodeName || "OL" === i.nodeName ? xn : bn;
+                        t = (t = oe.find(a, i))[t.length - 1]
+                    }
+                    var r = null;
+                    if (t && (r = G.trigger(t, "hide.bs.tab", {relatedTarget: this._element})), !(G.trigger(this._element, "show.bs.tab", {relatedTarget: t}).defaultPrevented || null !== r && r.defaultPrevented)) {
+                        this._activate(this._element, i);
+                        var l = function () {
+                            G.trigger(t, "hidden.bs.tab", {relatedTarget: e._element}), G.trigger(e._element, "shown.bs.tab", {relatedTarget: t})
+                        };
+                        n ? this._activate(n, n.parentNode, l) : l()
+                    }
+                }
+            }, t.dispose = function () {
+                S(this._element, gn), this._element = null
+            }, t._activate = function (e, t, n) {
+                var i = this,
+                    a = (!t || "UL" !== t.nodeName && "OL" !== t.nodeName ? oe.children(t, bn) : oe.find(xn, t))[0],
+                    r = n && a && a.classList.contains(vn), l = function () {
+                        return i._transitionComplete(e, a, n)
+                    };
+                if (a && r) {
+                    var o = p(a);
+                    a.classList.remove(Mn), G.one(a, c, l), v(a, o)
+                } else l()
+            }, t._transitionComplete = function (e, t, n) {
+                if (t) {
+                    t.classList.remove(yn);
+                    var i = oe.findOne(":scope > .dropdown-menu .active", t.parentNode);
+                    i && i.classList.remove(yn), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !1)
+                }
+                (e.classList.add(yn), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !0), w(e), e.classList.contains(vn) && e.classList.add(Mn), e.parentNode && e.parentNode.classList.contains("dropdown-menu")) && (e.closest(".dropdown") && oe.find(".dropdown-toggle").forEach((function (e) {
+                    return e.classList.add(yn)
+                })), e.setAttribute("aria-expanded", !0));
+                n && n()
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    var n = T(this, gn) || new e(this);
+                    if ("string" == typeof t) {
+                        if (void 0 === n[t]) throw new TypeError('No method named "' + t + '"');
+                        n[t]()
+                    }
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, gn)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }]), e
+        }();
+    G.on(document, "click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', (function (e) {
+        e.preventDefault(), (T(this, gn) || new Ln(this)).show()
+    }));
+    var wn = k();
+    if (wn) {
+        var kn = wn.fn.tab;
+        wn.fn.tab = Ln.jQueryInterface, wn.fn.tab.Constructor = Ln, wn.fn.tab.noConflict = function () {
+            return wn.fn.tab = kn, Ln.jQueryInterface
+        }
+    }
+    var Yn = "toast", Dn = "bs.toast", Tn = "click.dismiss.bs.toast", Sn = "hide", jn = "show", En = "showing",
+        Hn = {animation: "boolean", autohide: "boolean", delay: "number"},
+        On = {animation: !0, autohide: !0, delay: 5e3}, An = function () {
+            function e(e, t) {
+                this._element = e, this._config = this._getConfig(t), this._timeout = null, this._setListeners(), D(e, Dn, this)
+            }
+
+            var t = e.prototype;
+            return t.show = function () {
+                var e = this;
+                if (!G.trigger(this._element, "show.bs.toast").defaultPrevented) {
+                    this._clearTimeout(), this._config.animation && this._element.classList.add("fade");
+                    var t = function () {
+                        e._element.classList.remove(En), e._element.classList.add(jn), G.trigger(e._element, "shown.bs.toast"), e._config.autohide && (e._timeout = setTimeout((function () {
+                            e.hide()
+                        }), e._config.delay))
+                    };
+                    if (this._element.classList.remove(Sn), w(this._element), this._element.classList.add(En), this._config.animation) {
+                        var n = p(this._element);
+                        G.one(this._element, c, t), v(this._element, n)
+                    } else t()
+                }
+            }, t.hide = function () {
+                var e = this;
+                if (this._element.classList.contains(jn) && !G.trigger(this._element, "hide.bs.toast").defaultPrevented) {
+                    var t = function () {
+                        e._element.classList.add(Sn), G.trigger(e._element, "hidden.bs.toast")
+                    };
+                    if (this._element.classList.remove(jn), this._config.animation) {
+                        var n = p(this._element);
+                        G.one(this._element, c, t), v(this._element, n)
+                    } else t()
+                }
+            }, t.dispose = function () {
+                this._clearTimeout(), this._element.classList.contains(jn) && this._element.classList.remove(jn), G.off(this._element, Tn), S(this._element, Dn), this._element = null, this._config = null
+            }, t._getConfig = function (e) {
+                return e = l({}, On, le.getDataAttributes(this._element), "object" == typeof e && e ? e : {}), M(Yn, e, this.constructor.DefaultType), e
+            }, t._setListeners = function () {
+                var e = this;
+                G.on(this._element, Tn, '[data-dismiss="toast"]', (function () {
+                    return e.hide()
+                }))
+            }, t._clearTimeout = function () {
+                clearTimeout(this._timeout), this._timeout = null
+            }, e.jQueryInterface = function (t) {
+                return this.each((function () {
+                    var n = T(this, Dn);
+                    if (n || (n = new e(this, "object" == typeof t && t)), "string" == typeof t) {
+                        if (void 0 === n[t]) throw new TypeError('No method named "' + t + '"');
+                        n[t](this)
+                    }
+                }))
+            }, e.getInstance = function (e) {
+                return T(e, Dn)
+            }, r(e, null, [{
+                key: "VERSION", get: function () {
+                    return "5.0.0-alpha2"
+                }
+            }, {
+                key: "DefaultType", get: function () {
+                    return Hn
+                }
+            }, {
+                key: "Default", get: function () {
+                    return On
+                }
+            }]), e
+        }(), Pn = k();
+    if (Pn) {
+        var Cn = Pn.fn.toast;
+        Pn.fn.toast = An.jQueryInterface, Pn.fn.toast.Constructor = An, Pn.fn.toast.noConflict = function () {
+            return Pn.fn.toast = Cn, An.jQueryInterface
+        }
+    }
+    [].slice.call(document.querySelectorAll('[data-toggle="popover"]')).map((function (e) {
+        return new tn(e)
+    })), [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]')).map((function (e) {
+        return new Zt(e)
+    }));
+    n(231), n(232);
+    var Fn = n(48), In = n.n(Fn);
+    document.addEventListener("DOMContentLoaded", (function () {
+        In.a.replace()
+    })), window.feather = In.a;
+    var Wn = n(0), Nn = n.n(Wn);
+    window.moment = Nn.a;
+    n(256), n(266);
+    var zn = n(25), Rn = n.n(zn), Vn = (n(267), n(209), n(276), n(278), n(280), n(283), n(284), n(293), n(49)),
+        Bn = n.n(Vn), Zn = n(50), Un = n.n(Zn), Jn = n(226), Gn = n.n(Jn), qn = n(227),
+        Kn = (n(294), n(297), n(222), n(300), n(301), null), Xn = null;
+
+    function $n() {
+        if (null === Kn) {
+            if ("undefined" == typeof document) return Kn = 0;
+            var e = document.body, t = document.createElement("div");
+            t.classList.add("simplebar-hide-scrollbar"), e.appendChild(t);
+            var n = t.getBoundingClientRect().right;
+            e.removeChild(t), Kn = n
+        }
+        return Kn
+    }
+
+    Rn.a && window.addEventListener("resize", (function () {
+        Xn !== window.devicePixelRatio && (Xn = window.devicePixelRatio, Kn = null)
+    }));
+    var Qn = function (e) {
+        return Array.prototype.reduce.call(e, (function (e, t) {
+            var n = t.name.match(/data-simplebar-(.+)/);
+            if (n) {
+                var i = n[1].replace(/\W+(.)/g, (function (e, t) {
+                    return t.toUpperCase()
+                }));
+                switch (t.value) {
+                    case"true":
+                        e[i] = !0;
+                        break;
+                    case"false":
+                        e[i] = !1;
+                        break;
+                    case void 0:
+                        e[i] = !0;
+                        break;
+                    default:
+                        e[i] = t.value
+                }
+            }
+            return e
+        }), {})
+    };
+
+    function ei(e) {
+        return e && e.ownerDocument && e.ownerDocument.defaultView ? e.ownerDocument.defaultView : window
+    }
+
+    function ti(e) {
+        return e && e.ownerDocument ? e.ownerDocument : document
+    }
+
+    var ni = function () {
+        function e(t, n) {
+            var i = this;
+            this.onScroll = function () {
+                var e = ei(i.el);
+                i.scrollXTicking || (e.requestAnimationFrame(i.scrollX), i.scrollXTicking = !0), i.scrollYTicking || (e.requestAnimationFrame(i.scrollY), i.scrollYTicking = !0)
+            }, this.scrollX = function () {
+                i.axis.x.isOverflowing && (i.showScrollbar("x"), i.positionScrollbar("x")), i.scrollXTicking = !1
+            }, this.scrollY = function () {
+                i.axis.y.isOverflowing && (i.showScrollbar("y"), i.positionScrollbar("y")), i.scrollYTicking = !1
+            }, this.onMouseEnter = function () {
+                i.showScrollbar("x"), i.showScrollbar("y")
+            }, this.onMouseMove = function (e) {
+                i.mouseX = e.clientX, i.mouseY = e.clientY, (i.axis.x.isOverflowing || i.axis.x.forceVisible) && i.onMouseMoveForAxis("x"), (i.axis.y.isOverflowing || i.axis.y.forceVisible) && i.onMouseMoveForAxis("y")
+            }, this.onMouseLeave = function () {
+                i.onMouseMove.cancel(), (i.axis.x.isOverflowing || i.axis.x.forceVisible) && i.onMouseLeaveForAxis("x"), (i.axis.y.isOverflowing || i.axis.y.forceVisible) && i.onMouseLeaveForAxis("y"), i.mouseX = -1, i.mouseY = -1
+            }, this.onWindowResize = function () {
+                i.scrollbarWidth = i.getScrollbarWidth(), i.hideNativeScrollbar()
+            }, this.hideScrollbars = function () {
+                i.axis.x.track.rect = i.axis.x.track.el.getBoundingClientRect(), i.axis.y.track.rect = i.axis.y.track.el.getBoundingClientRect(), i.isWithinBounds(i.axis.y.track.rect) || (i.axis.y.scrollbar.el.classList.remove(i.classNames.visible), i.axis.y.isVisible = !1), i.isWithinBounds(i.axis.x.track.rect) || (i.axis.x.scrollbar.el.classList.remove(i.classNames.visible), i.axis.x.isVisible = !1)
+            }, this.onPointerEvent = function (e) {
+                var t, n;
+                i.axis.x.track.rect = i.axis.x.track.el.getBoundingClientRect(), i.axis.y.track.rect = i.axis.y.track.el.getBoundingClientRect(), (i.axis.x.isOverflowing || i.axis.x.forceVisible) && (t = i.isWithinBounds(i.axis.x.track.rect)), (i.axis.y.isOverflowing || i.axis.y.forceVisible) && (n = i.isWithinBounds(i.axis.y.track.rect)), (t || n) && (e.preventDefault(), e.stopPropagation(), "mousedown" === e.type && (t && (i.axis.x.scrollbar.rect = i.axis.x.scrollbar.el.getBoundingClientRect(), i.isWithinBounds(i.axis.x.scrollbar.rect) ? i.onDragStart(e, "x") : i.onTrackClick(e, "x")), n && (i.axis.y.scrollbar.rect = i.axis.y.scrollbar.el.getBoundingClientRect(), i.isWithinBounds(i.axis.y.scrollbar.rect) ? i.onDragStart(e, "y") : i.onTrackClick(e, "y"))))
+            }, this.drag = function (t) {
+                var n = i.axis[i.draggedAxis].track, a = n.rect[i.axis[i.draggedAxis].sizeAttr],
+                    r = i.axis[i.draggedAxis].scrollbar, l = i.contentWrapperEl[i.axis[i.draggedAxis].scrollSizeAttr],
+                    o = parseInt(i.elStyles[i.axis[i.draggedAxis].sizeAttr], 10);
+                t.preventDefault(), t.stopPropagation();
+                var s = (("y" === i.draggedAxis ? t.pageY : t.pageX) - n.rect[i.axis[i.draggedAxis].offsetAttr] - i.axis[i.draggedAxis].dragOffset) / (a - r.size) * (l - o);
+                "x" === i.draggedAxis && (s = i.isRtl && e.getRtlHelpers().isRtlScrollbarInverted ? s - (a + r.size) : s, s = i.isRtl && e.getRtlHelpers().isRtlScrollingInverted ? -s : s), i.contentWrapperEl[i.axis[i.draggedAxis].scrollOffsetAttr] = s
+            }, this.onEndDrag = function (e) {
+                var t = ti(i.el), n = ei(i.el);
+                e.preventDefault(), e.stopPropagation(), i.el.classList.remove(i.classNames.dragging), t.removeEventListener("mousemove", i.drag, !0), t.removeEventListener("mouseup", i.onEndDrag, !0), i.removePreventClickId = n.setTimeout((function () {
+                    t.removeEventListener("click", i.preventClick, !0), t.removeEventListener("dblclick", i.preventClick, !0), i.removePreventClickId = null
+                }))
+            }, this.preventClick = function (e) {
+                e.preventDefault(), e.stopPropagation()
+            }, this.el = t, this.minScrollbarWidth = 20, this.options = Object.assign({}, e.defaultOptions, {}, n), this.classNames = Object.assign({}, e.defaultOptions.classNames, {}, this.options.classNames), this.axis = {
+                x: {
+                    scrollOffsetAttr: "scrollLeft",
+                    sizeAttr: "width",
+                    scrollSizeAttr: "scrollWidth",
+                    offsetSizeAttr: "offsetWidth",
+                    offsetAttr: "left",
+                    overflowAttr: "overflowX",
+                    dragOffset: 0,
+                    isOverflowing: !0,
+                    isVisible: !1,
+                    forceVisible: !1,
+                    track: {},
+                    scrollbar: {}
+                },
+                y: {
+                    scrollOffsetAttr: "scrollTop",
+                    sizeAttr: "height",
+                    scrollSizeAttr: "scrollHeight",
+                    offsetSizeAttr: "offsetHeight",
+                    offsetAttr: "top",
+                    overflowAttr: "overflowY",
+                    dragOffset: 0,
+                    isOverflowing: !0,
+                    isVisible: !1,
+                    forceVisible: !1,
+                    track: {},
+                    scrollbar: {}
+                }
+            }, this.removePreventClickId = null, e.instances.has(this.el) || (this.recalculate = Bn()(this.recalculate.bind(this), 64), this.onMouseMove = Bn()(this.onMouseMove.bind(this), 64), this.hideScrollbars = Un()(this.hideScrollbars.bind(this), this.options.timeout), this.onWindowResize = Un()(this.onWindowResize.bind(this), 64, {leading: !0}), e.getRtlHelpers = Gn()(e.getRtlHelpers), this.init())
+        }
+
+        e.getRtlHelpers = function () {
+            var t = document.createElement("div");
+            t.innerHTML = '<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';
+            var n = t.firstElementChild;
+            document.body.appendChild(n);
+            var i = n.firstElementChild;
+            n.scrollLeft = 0;
+            var a = e.getOffset(n), r = e.getOffset(i);
+            n.scrollLeft = 999;
+            var l = e.getOffset(i);
+            return {
+                isRtlScrollingInverted: a.left !== r.left && r.left - l.left != 0,
+                isRtlScrollbarInverted: a.left !== r.left
+            }
+        }, e.getOffset = function (e) {
+            var t = e.getBoundingClientRect(), n = ti(e), i = ei(e);
+            return {
+                top: t.top + (i.pageYOffset || n.documentElement.scrollTop),
+                left: t.left + (i.pageXOffset || n.documentElement.scrollLeft)
+            }
+        };
+        var t = e.prototype;
+        return t.init = function () {
+            e.instances.set(this.el, this), Rn.a && (this.initDOM(), this.scrollbarWidth = this.getScrollbarWidth(), this.recalculate(), this.initListeners())
+        }, t.initDOM = function () {
+            var e = this;
+            if (Array.prototype.filter.call(this.el.children, (function (t) {
+                return t.classList.contains(e.classNames.wrapper)
+            })).length) this.wrapperEl = this.el.querySelector("." + this.classNames.wrapper), this.contentWrapperEl = this.options.scrollableNode || this.el.querySelector("." + this.classNames.contentWrapper), this.contentEl = this.options.contentNode || this.el.querySelector("." + this.classNames.contentEl), this.offsetEl = this.el.querySelector("." + this.classNames.offset), this.maskEl = this.el.querySelector("." + this.classNames.mask), this.placeholderEl = this.findChild(this.wrapperEl, "." + this.classNames.placeholder), this.heightAutoObserverWrapperEl = this.el.querySelector("." + this.classNames.heightAutoObserverWrapperEl), this.heightAutoObserverEl = this.el.querySelector("." + this.classNames.heightAutoObserverEl), this.axis.x.track.el = this.findChild(this.el, "." + this.classNames.track + "." + this.classNames.horizontal), this.axis.y.track.el = this.findChild(this.el, "." + this.classNames.track + "." + this.classNames.vertical); else {
+                for (this.wrapperEl = document.createElement("div"), this.contentWrapperEl = document.createElement("div"), this.offsetEl = document.createElement("div"), this.maskEl = document.createElement("div"), this.contentEl = document.createElement("div"), this.placeholderEl = document.createElement("div"), this.heightAutoObserverWrapperEl = document.createElement("div"), this.heightAutoObserverEl = document.createElement("div"), this.wrapperEl.classList.add(this.classNames.wrapper), this.contentWrapperEl.classList.add(this.classNames.contentWrapper), this.offsetEl.classList.add(this.classNames.offset), this.maskEl.classList.add(this.classNames.mask), this.contentEl.classList.add(this.classNames.contentEl), this.placeholderEl.classList.add(this.classNames.placeholder), this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl), this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl); this.el.firstChild;) this.contentEl.appendChild(this.el.firstChild);
+                this.contentWrapperEl.appendChild(this.contentEl), this.offsetEl.appendChild(this.contentWrapperEl), this.maskEl.appendChild(this.offsetEl), this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl), this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl), this.wrapperEl.appendChild(this.maskEl), this.wrapperEl.appendChild(this.placeholderEl), this.el.appendChild(this.wrapperEl)
+            }
+            if (!this.axis.x.track.el || !this.axis.y.track.el) {
+                var t = document.createElement("div"), n = document.createElement("div");
+                t.classList.add(this.classNames.track), n.classList.add(this.classNames.scrollbar), t.appendChild(n), this.axis.x.track.el = t.cloneNode(!0), this.axis.x.track.el.classList.add(this.classNames.horizontal), this.axis.y.track.el = t.cloneNode(!0), this.axis.y.track.el.classList.add(this.classNames.vertical), this.el.appendChild(this.axis.x.track.el), this.el.appendChild(this.axis.y.track.el)
+            }
+            this.axis.x.scrollbar.el = this.axis.x.track.el.querySelector("." + this.classNames.scrollbar), this.axis.y.scrollbar.el = this.axis.y.track.el.querySelector("." + this.classNames.scrollbar), this.options.autoHide || (this.axis.x.scrollbar.el.classList.add(this.classNames.visible), this.axis.y.scrollbar.el.classList.add(this.classNames.visible)), this.el.setAttribute("data-simplebar", "init")
+        }, t.initListeners = function () {
+            var e = this, t = ei(this.el);
+            this.options.autoHide && this.el.addEventListener("mouseenter", this.onMouseEnter), ["mousedown", "click", "dblclick"].forEach((function (t) {
+                e.el.addEventListener(t, e.onPointerEvent, !0)
+            })), ["touchstart", "touchend", "touchmove"].forEach((function (t) {
+                e.el.addEventListener(t, e.onPointerEvent, {capture: !0, passive: !0})
+            })), this.el.addEventListener("mousemove", this.onMouseMove), this.el.addEventListener("mouseleave", this.onMouseLeave), this.contentWrapperEl.addEventListener("scroll", this.onScroll), t.addEventListener("resize", this.onWindowResize);
+            var n = !1, i = t.ResizeObserver || qn.a;
+            this.resizeObserver = new i((function () {
+                n && e.recalculate()
+            })), this.resizeObserver.observe(this.el), this.resizeObserver.observe(this.contentEl), t.requestAnimationFrame((function () {
+                n = !0
+            })), this.mutationObserver = new t.MutationObserver(this.recalculate), this.mutationObserver.observe(this.contentEl, {
+                childList: !0,
+                subtree: !0,
+                characterData: !0
+            })
+        }, t.recalculate = function () {
+            var e = ei(this.el);
+            this.elStyles = e.getComputedStyle(this.el), this.isRtl = "rtl" === this.elStyles.direction;
+            var t = this.heightAutoObserverEl.offsetHeight <= 1, n = this.heightAutoObserverEl.offsetWidth <= 1,
+                i = this.contentEl.offsetWidth, a = this.contentWrapperEl.offsetWidth, r = this.elStyles.overflowX,
+                l = this.elStyles.overflowY;
+            this.contentEl.style.padding = this.elStyles.paddingTop + " " + this.elStyles.paddingRight + " " + this.elStyles.paddingBottom + " " + this.elStyles.paddingLeft, this.wrapperEl.style.margin = "-" + this.elStyles.paddingTop + " -" + this.elStyles.paddingRight + " -" + this.elStyles.paddingBottom + " -" + this.elStyles.paddingLeft;
+            var o = this.contentEl.scrollHeight, s = this.contentEl.scrollWidth;
+            this.contentWrapperEl.style.height = t ? "auto" : "100%", this.placeholderEl.style.width = n ? i + "px" : "auto", this.placeholderEl.style.height = o + "px";
+            var d = this.contentWrapperEl.offsetHeight;
+            this.axis.x.isOverflowing = s > i, this.axis.y.isOverflowing = o > d, this.axis.x.isOverflowing = "hidden" !== r && this.axis.x.isOverflowing, this.axis.y.isOverflowing = "hidden" !== l && this.axis.y.isOverflowing, this.axis.x.forceVisible = "x" === this.options.forceVisible || !0 === this.options.forceVisible, this.axis.y.forceVisible = "y" === this.options.forceVisible || !0 === this.options.forceVisible, this.hideNativeScrollbar();
+            var u = this.axis.x.isOverflowing ? this.scrollbarWidth : 0,
+                c = this.axis.y.isOverflowing ? this.scrollbarWidth : 0;
+            this.axis.x.isOverflowing = this.axis.x.isOverflowing && s > a - c, this.axis.y.isOverflowing = this.axis.y.isOverflowing && o > d - u, this.axis.x.scrollbar.size = this.getScrollbarSize("x"), this.axis.y.scrollbar.size = this.getScrollbarSize("y"), this.axis.x.scrollbar.el.style.width = this.axis.x.scrollbar.size + "px", this.axis.y.scrollbar.el.style.height = this.axis.y.scrollbar.size + "px", this.positionScrollbar("x"), this.positionScrollbar("y"), this.toggleTrackVisibility("x"), this.toggleTrackVisibility("y")
+        }, t.getScrollbarSize = function (e) {
+            if (void 0 === e && (e = "y"), !this.axis[e].isOverflowing) return 0;
+            var t, n = this.contentEl[this.axis[e].scrollSizeAttr],
+                i = this.axis[e].track.el[this.axis[e].offsetSizeAttr], a = i / n;
+            return t = Math.max(~~(a * i), this.options.scrollbarMinSize), this.options.scrollbarMaxSize && (t = Math.min(t, this.options.scrollbarMaxSize)), t
+        }, t.positionScrollbar = function (t) {
+            if (void 0 === t && (t = "y"), this.axis[t].isOverflowing) {
+                var n = this.contentWrapperEl[this.axis[t].scrollSizeAttr],
+                    i = this.axis[t].track.el[this.axis[t].offsetSizeAttr],
+                    a = parseInt(this.elStyles[this.axis[t].sizeAttr], 10), r = this.axis[t].scrollbar,
+                    l = this.contentWrapperEl[this.axis[t].scrollOffsetAttr],
+                    o = (l = "x" === t && this.isRtl && e.getRtlHelpers().isRtlScrollingInverted ? -l : l) / (n - a),
+                    s = ~~((i - r.size) * o);
+                s = "x" === t && this.isRtl && e.getRtlHelpers().isRtlScrollbarInverted ? s + (i - r.size) : s, r.el.style.transform = "x" === t ? "translate3d(" + s + "px, 0, 0)" : "translate3d(0, " + s + "px, 0)"
+            }
+        }, t.toggleTrackVisibility = function (e) {
+            void 0 === e && (e = "y");
+            var t = this.axis[e].track.el, n = this.axis[e].scrollbar.el;
+            this.axis[e].isOverflowing || this.axis[e].forceVisible ? (t.style.visibility = "visible", this.contentWrapperEl.style[this.axis[e].overflowAttr] = "scroll") : (t.style.visibility = "hidden", this.contentWrapperEl.style[this.axis[e].overflowAttr] = "hidden"), this.axis[e].isOverflowing ? n.style.display = "block" : n.style.display = "none"
+        }, t.hideNativeScrollbar = function () {
+            this.offsetEl.style[this.isRtl ? "left" : "right"] = this.axis.y.isOverflowing || this.axis.y.forceVisible ? "-" + this.scrollbarWidth + "px" : 0, this.offsetEl.style.bottom = this.axis.x.isOverflowing || this.axis.x.forceVisible ? "-" + this.scrollbarWidth + "px" : 0
+        }, t.onMouseMoveForAxis = function (e) {
+            void 0 === e && (e = "y"), this.axis[e].track.rect = this.axis[e].track.el.getBoundingClientRect(), this.axis[e].scrollbar.rect = this.axis[e].scrollbar.el.getBoundingClientRect(), this.isWithinBounds(this.axis[e].scrollbar.rect) ? this.axis[e].scrollbar.el.classList.add(this.classNames.hover) : this.axis[e].scrollbar.el.classList.remove(this.classNames.hover), this.isWithinBounds(this.axis[e].track.rect) ? (this.showScrollbar(e), this.axis[e].track.el.classList.add(this.classNames.hover)) : this.axis[e].track.el.classList.remove(this.classNames.hover)
+        }, t.onMouseLeaveForAxis = function (e) {
+            void 0 === e && (e = "y"), this.axis[e].track.el.classList.remove(this.classNames.hover), this.axis[e].scrollbar.el.classList.remove(this.classNames.hover)
+        }, t.showScrollbar = function (e) {
+            void 0 === e && (e = "y");
+            var t = this.axis[e].scrollbar.el;
+            this.axis[e].isVisible || (t.classList.add(this.classNames.visible), this.axis[e].isVisible = !0), this.options.autoHide && this.hideScrollbars()
+        }, t.onDragStart = function (e, t) {
+            void 0 === t && (t = "y");
+            var n = ti(this.el), i = ei(this.el), a = this.axis[t].scrollbar, r = "y" === t ? e.pageY : e.pageX;
+            this.axis[t].dragOffset = r - a.rect[this.axis[t].offsetAttr], this.draggedAxis = t, this.el.classList.add(this.classNames.dragging), n.addEventListener("mousemove", this.drag, !0), n.addEventListener("mouseup", this.onEndDrag, !0), null === this.removePreventClickId ? (n.addEventListener("click", this.preventClick, !0), n.addEventListener("dblclick", this.preventClick, !0)) : (i.clearTimeout(this.removePreventClickId), this.removePreventClickId = null)
+        }, t.onTrackClick = function (e, t) {
+            var n = this;
+            if (void 0 === t && (t = "y"), this.options.clickOnTrack) {
+                var i = ei(this.el);
+                this.axis[t].scrollbar.rect = this.axis[t].scrollbar.el.getBoundingClientRect();
+                var a = this.axis[t].scrollbar.rect[this.axis[t].offsetAttr],
+                    r = parseInt(this.elStyles[this.axis[t].sizeAttr], 10),
+                    l = this.contentWrapperEl[this.axis[t].scrollOffsetAttr],
+                    o = ("y" === t ? this.mouseY - a : this.mouseX - a) < 0 ? -1 : 1, s = -1 === o ? l - r : l + r;
+                !function e() {
+                    var a, r;
+                    -1 === o ? l > s && (l -= n.options.clickOnTrackSpeed, n.contentWrapperEl.scrollTo(((a = {})[n.axis[t].offsetAttr] = l, a)), i.requestAnimationFrame(e)) : l < s && (l += n.options.clickOnTrackSpeed, n.contentWrapperEl.scrollTo(((r = {})[n.axis[t].offsetAttr] = l, r)), i.requestAnimationFrame(e))
+                }()
+            }
+        }, t.getContentElement = function () {
+            return this.contentEl
+        }, t.getScrollElement = function () {
+            return this.contentWrapperEl
+        }, t.getScrollbarWidth = function () {
+            try {
+                return "none" === getComputedStyle(this.contentWrapperEl, "::-webkit-scrollbar").display || "scrollbarWidth" in document.documentElement.style || "-ms-overflow-style" in document.documentElement.style ? 0 : $n()
+            } catch (e) {
+                return $n()
+            }
+        }, t.removeListeners = function () {
+            var e = this, t = ei(this.el);
+            this.options.autoHide && this.el.removeEventListener("mouseenter", this.onMouseEnter), ["mousedown", "click", "dblclick"].forEach((function (t) {
+                e.el.removeEventListener(t, e.onPointerEvent, !0)
+            })), ["touchstart", "touchend", "touchmove"].forEach((function (t) {
+                e.el.removeEventListener(t, e.onPointerEvent, {capture: !0, passive: !0})
+            })), this.el.removeEventListener("mousemove", this.onMouseMove), this.el.removeEventListener("mouseleave", this.onMouseLeave), this.contentWrapperEl && this.contentWrapperEl.removeEventListener("scroll", this.onScroll), t.removeEventListener("resize", this.onWindowResize), this.mutationObserver && this.mutationObserver.disconnect(), this.resizeObserver && this.resizeObserver.disconnect(), this.recalculate.cancel(), this.onMouseMove.cancel(), this.hideScrollbars.cancel(), this.onWindowResize.cancel()
+        }, t.unMount = function () {
+            this.removeListeners(), e.instances.delete(this.el)
+        }, t.isWithinBounds = function (e) {
+            return this.mouseX >= e.left && this.mouseX <= e.left + e.width && this.mouseY >= e.top && this.mouseY <= e.top + e.height
+        }, t.findChild = function (e, t) {
+            var n = e.matches || e.webkitMatchesSelector || e.mozMatchesSelector || e.msMatchesSelector;
+            return Array.prototype.filter.call(e.children, (function (e) {
+                return n.call(e, t)
+            }))[0]
+        }, e
+    }();
+    ni.defaultOptions = {
+        autoHide: !0,
+        forceVisible: !1,
+        clickOnTrack: !0,
+        clickOnTrackSpeed: 40,
+        classNames: {
+            contentEl: "simplebar-content",
+            contentWrapper: "simplebar-content-wrapper",
+            offset: "simplebar-offset",
+            mask: "simplebar-mask",
+            wrapper: "simplebar-wrapper",
+            placeholder: "simplebar-placeholder",
+            scrollbar: "simplebar-scrollbar",
+            track: "simplebar-track",
+            heightAutoObserverWrapperEl: "simplebar-height-auto-observer-wrapper",
+            heightAutoObserverEl: "simplebar-height-auto-observer",
+            visible: "simplebar-visible",
+            horizontal: "simplebar-horizontal",
+            vertical: "simplebar-vertical",
+            hover: "simplebar-hover",
+            dragging: "simplebar-dragging"
+        },
+        scrollbarMinSize: 25,
+        scrollbarMaxSize: 0,
+        timeout: 1e3
+    }, ni.instances = new WeakMap, ni.initDOMLoadedElements = function () {
+        document.removeEventListener("DOMContentLoaded", this.initDOMLoadedElements), window.removeEventListener("load", this.initDOMLoadedElements), Array.prototype.forEach.call(document.querySelectorAll("[data-simplebar]"), (function (e) {
+            "init" === e.getAttribute("data-simplebar") || ni.instances.has(e) || new ni(e, Qn(e.attributes))
+        }))
+    }, ni.removeObserver = function () {
+        this.globalObserver.disconnect()
+    }, ni.initHtmlApi = function () {
+        this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this), "undefined" != typeof MutationObserver && (this.globalObserver = new MutationObserver(ni.handleMutations), this.globalObserver.observe(document, {
+            childList: !0,
+            subtree: !0
+        })), "complete" === document.readyState || "loading" !== document.readyState && !document.documentElement.doScroll ? window.setTimeout(this.initDOMLoadedElements) : (document.addEventListener("DOMContentLoaded", this.initDOMLoadedElements), window.addEventListener("load", this.initDOMLoadedElements))
+    }, ni.handleMutations = function (e) {
+        e.forEach((function (e) {
+            Array.prototype.forEach.call(e.addedNodes, (function (e) {
+                1 === e.nodeType && (e.hasAttribute("data-simplebar") ? !ni.instances.has(e) && new ni(e, Qn(e.attributes)) : Array.prototype.forEach.call(e.querySelectorAll("[data-simplebar]"), (function (e) {
+                    "init" === e.getAttribute("data-simplebar") || ni.instances.has(e) || new ni(e, Qn(e.attributes))
+                })))
+            })), Array.prototype.forEach.call(e.removedNodes, (function (e) {
+                1 === e.nodeType && (e.hasAttribute('[data-simplebar="init"]') ? ni.instances.has(e) && ni.instances.get(e).unMount() : Array.prototype.forEach.call(e.querySelectorAll('[data-simplebar="init"]'), (function (e) {
+                    ni.instances.has(e) && ni.instances.get(e).unMount()
+                })))
+            }))
+        }))
+    }, ni.getOptions = Qn, Rn.a && ni.initHtmlApi();
+    var ii = ni;
+    document.addEventListener("DOMContentLoaded", (function () {
+        if (document.getElementsByClassName("js-simplebar")[0]) {
+            new ii(document.getElementsByClassName("js-simplebar")[0]);
+            var e = document.getElementsByClassName("sidebar")[0];
+            document.getElementsByClassName("sidebar-toggle")[0].addEventListener("click", (function () {
+                e.classList.toggle("collapsed"), e.addEventListener("transitionend", (function () {
+                    window.dispatchEvent(new Event("resize"))
+                }))
+            }))
+        }
+    }));
+    var ai = n(228), ri = n.n(ai);
+    window.flatpickr = ri.a;
+    var li = n(229), oi = n.n(li);
+    window.Chart = oi.a;
+    n(302), n(303)
+}]);
diff --git a/frontend/src/components/BaseLayout.vue b/frontend/src/components/BaseLayout.vue
index 07c613a..e365f71 100644
--- a/frontend/src/components/BaseLayout.vue
+++ b/frontend/src/components/BaseLayout.vue
@@ -6,7 +6,7 @@
                 <a class="sidebar-toggle d-flex" @click="toggleSidebar">
                     <i class="hamburger align-self-center"></i>
                 </a>
-                <SearchBox v-if="!hideSearch"/>
+                <SearchBox/>
                 <div class="navbar-collapse collapse">
                     <ul class="navbar-nav navbar-align">
                         <Notifications :notifications="notifications"/>
@@ -67,8 +67,12 @@ export default {
         },
         ...mapMutations(['logout'])
     },
-    async mounted() {
-    }
+    methods: {
+        toggleSidebar() {
+            closeAllDropdowns();
+            document.getElementById("sidebar").classList.toggle("collapsed");
+        },
+    },
 }
 
 </script>
diff --git a/frontend/src/components/CombinedFileField.vue b/frontend/src/components/CombinedFileField.vue
index da5e689..d22dfad 100644
--- a/frontend/src/components/CombinedFileField.vue
+++ b/frontend/src/components/CombinedFileField.vue
@@ -8,18 +8,25 @@
         <ul>
             <img v-for="file in files" :key="file.id" :src="file.name" :alt="file.name" class="img-thumbnail">
         </ul>
-        <fieldset>
-            <legend>Files</legend>
-            <div class="input-group">
-                <input type="file" class="form-control" multiple id="files">
-                <button class="btn btn-outline-secondary" type="button">
-                    <b-icon-trash></b-icon-trash>
-                </button>
-                <button class="btn btn-outline-secondary" type="button" @click="uploadFiles">
-                    <b-icon-upload></b-icon-upload>
-                </button>
-            </div>
-        </fieldset>
+        <legend>Files</legend>
+        <div class="input-group">
+            <input type="file" class="form-control" multiple id="files">
+            <button class="btn btn-outline-secondary" type="button">
+                <b-icon-trash></b-icon-trash>
+            </button>
+            <button class="btn btn-outline-secondary" type="button" @click="uploadFiles">
+                <b-icon-upload></b-icon-upload>
+            </button>
+        </div>
+        <div class="input-group" v-if="show_camera">
+            <input type="file" class="form-control" accept="image/*" capture="camera" id="photos">
+            <button class="btn btn-outline-secondary" type="button">
+                <b-icon-trash></b-icon-trash>
+            </button>
+            <button class="btn btn-outline-secondary" type="button" @click="uploadPhoto">
+                <b-icon-upload></b-icon-upload>
+            </button>
+        </div>
     </div>
 </template>
 
@@ -38,7 +45,9 @@ import {mapActions, mapState} from "vuex";
 export default {
     name: "CombinedFileField",
     data() {
-        return {}
+        return {
+            show_camera: false
+        }
     },
     components: {
         ...BIcons
@@ -55,15 +64,6 @@ export default {
     },
     computed: {
         ...mapState(["files"]),
-        /*localValue: {
-            get() {
-                return this.value;
-            },
-            set(value) {
-                this.$emit("input", value);
-                console.log("set", value);
-            }
-        }*/
     },
     methods: {
         ...mapActions(["fetchFiles", "pushFile"]),
@@ -84,20 +84,9 @@ export default {
                 });
                 const data = new Uint8Array(buffer);
                 const hash = nacl.crypto_hash(data);
-                //const hex_hash = Array.from(hash)
-                //    .map(b => b.toString(16).padStart(2, "0"))
-                //    .join("");
-                //console.log("name", file.name);
-                //console.log("size", file.size);
-                //console.log("type", file.type);
-                //console.log("hash", hex_hash);
                 var base64 = btoa(
                     data.reduce((a, b) => a + String.fromCharCode(b), '')
                 );
-                //console.log("base64", base64.length);
-                //console.log("base64", base64);
-                //console.log("base64", typeof base64);
-                //formData.append("files[]", files[i]);
                 await this.pushFile({
                     file: {
                         mime_type: file.type,
@@ -108,10 +97,51 @@ export default {
                 await this.fetchFiles();
             }
             //console.log("formData", formData);
-        }
+        },
+        async uploadPhoto() {
+            //const formData = new FormData();
+            const files = document.getElementById("photos").files;
+            for (let i = 0; i < files.length; i++) {
+                var reader = new FileReader();
+                const file = files[i];
+                const buffer = await new Promise((resolve, reject) => {
+                    reader.onload = (e) => {
+                        resolve(e.target.result);
+                    };
+                    reader.onerror = (e) => {
+                        reject(e);
+                    };
+                    reader.readAsArrayBuffer(file)
+                });
+                const data = new Uint8Array(buffer);
+                const hash = nacl.crypto_hash(data);
+                var base64 = btoa(
+                    data.reduce((a, b) => a + String.fromCharCode(b), '')
+                );
+                await this.pushFile({
+                    file: {
+                        mime_type: file.type,
+                        data: base64,
+                    },
+                    item_id: 1
+                });
+                await this.fetchFiles();
+            }
+            //console.log("formData", formData);
+        },
     },
     mounted() {
         this.fetchFiles();
+        //detect media api
+        if ('capture' in document.createElement('input')) {
+            console.log('capture supported.');
+            this.show_camera = true;
+        }
+
+        if (navigator.getUserMedia) {
+            console.log('getUserMedia supported.');
+            this.show_camera = true;
+        }
     }
 }
 </script>
\ No newline at end of file
diff --git a/frontend/src/components/Messages.vue b/frontend/src/components/Messages.vue
index dd34050..5ff485c 100644
--- a/frontend/src/components/Messages.vue
+++ b/frontend/src/components/Messages.vue
@@ -1,11 +1,11 @@
 <template>
     <li class="nav-item dropdown">
-        <a class="nav-icon dropdown-toggle" href="#" id="messagesDropdown" @click.prevent="toggleDropdown">
+        <a class="nav-icon dropdown-toggle" href="#" @click="toggleDropdown">
             <div class="position-relative">
                 <b-icon-chat-left class="bi-valign-middle"></b-icon-chat-left>
             </div>
         </a>
-        <div :class="['dropdown-menu','dropdown-menu-right', 'dropdown-menu-lg','py-0', {'show': show_dropdown}]">
+        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right py-0" id="messagesDropdown">
             <div class="dropdown-menu-header">
                 <div class="position-relative">
                     4 New Messages
@@ -94,11 +94,6 @@ export default {
             default: () => []
         }
     },
-    data() {
-        return {
-            show_dropdown: false
-        }
-    },
     computed: {
         top_messages() {
             return this.messages.slice(0, 4);
@@ -106,12 +101,12 @@ export default {
     },
     methods: {
         toggleDropdown() {
-            this.show_dropdown = !this.show_dropdown;
+            closeAllDropdowns();
+            document.getElementById("messagesDropdown").classList.toggle("show");
         }
     }
 }
 </script>
 
 <style scoped>
-
 </style>
\ No newline at end of file
diff --git a/frontend/src/components/Notifications.vue b/frontend/src/components/Notifications.vue
index f847506..9ed61b3 100644
--- a/frontend/src/components/Notifications.vue
+++ b/frontend/src/components/Notifications.vue
@@ -1,14 +1,14 @@
 <template>
     <li class="nav-item dropdown">
-        <a class="nav-icon dropdown-toggle" href="#" id="alertsDropdown" @click.prevent="toggleDropdown">
+        <a class="nav-icon dropdown-toggle" href="#" @click="toggleDropdown">
             <div class="position-relative">
                 <b-icon-bell class="bi-valign-middle"></b-icon-bell>
                 <span :class="['indicator', notificationsColor(top_notifications)]">{{
-                        top_notifications.length
+                    top_notifications.length
                     }}</span>
             </div>
         </a>
-        <div :class="['dropdown-menu','dropdown-menu-right', 'dropdown-menu-lg','py-0', {'show': show_dropdown}]">
+        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right py-0" id="notificationsDropdown">
             <div class="dropdown-menu-header">
                 {{ top_notifications.length }} New Notifications
             </div>
@@ -60,11 +60,6 @@ export default {
             default: () => []
         }
     },
-    data() {
-        return {
-            show_dropdown: false
-        }
-    },
     computed: {
         top_notifications() {
             return this.notifications.sort((a, b) => {
@@ -90,7 +85,8 @@ export default {
             return 'bg-primary';
         },
         toggleDropdown() {
-            this.show_dropdown = !this.show_dropdown
+            closeAllDropdowns();
+            document.getElementById('notificationsDropdown').classList.toggle('show');
         }
     },
     async mounted() {
diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue
index 1047b30..4b631b5 100644
--- a/frontend/src/components/UserDropdown.vue
+++ b/frontend/src/components/UserDropdown.vue
@@ -38,11 +38,6 @@ export default {
     components: {
         ...BIcons
     },
-    data() {
-        return {
-            show_dropdown: false
-        }
-    },
     methods: {
         ...mapMutations(['logout']),
         toggleDropdown() {
diff --git a/frontend/src/federation.js b/frontend/src/federation.js
index 405fd3c..f0da801 100644
--- a/frontend/src/federation.js
+++ b/frontend/src/federation.js
@@ -31,7 +31,7 @@ class ServerSet {
                 if (this.unreachable_neighbors.queryUnreachable(server)) {
                     continue
                 }
-                const url = "https://" + server + target // TODO https
+                const url = "http://" + server + target // TODO https
                 return await fetch(url, {
                     method: 'GET',
                     headers: {
@@ -59,7 +59,7 @@ class ServerSet {
                 if (this.unreachable_neighbors.queryUnreachable(server)) {
                     continue
                 }
-                const url = "https://" + server + target // TODO https
+                const url = "http://" + server + target // TODO https
                 return await fetch(url, {
                     method: 'POST',
                     headers: {
@@ -89,7 +89,7 @@ class ServerSet {
                 if (this.unreachable_neighbors.queryUnreachable(server)) {
                     continue
                 }
-                const url = "https://" + server + target // TODO https
+                const url = "http://" + server + target // TODO https
                 return await fetch(url, {
                     method: 'PATCH',
                     headers: {
@@ -119,7 +119,7 @@ class ServerSet {
                 if (this.unreachable_neighbors.queryUnreachable(server)) {
                     continue
                 }
-                const url = "https://" + server + target // TODO https
+                const url = "http://" + server + target // TODO https
                 return await fetch(url, {
                     method: 'PUT',
                     headers: {
@@ -149,7 +149,7 @@ class ServerSet {
                 if (this.unreachable_neighbors.queryUnreachable(server)) {
                     continue
                 }
-                const url = "https://" + server + target // TODO https
+                const url = "http://" + server + target // TODO https
                 return await fetch(url, {
                     method: 'DELETE',
                     headers: {
diff --git a/frontend/src/main.js b/frontend/src/main.js
index 2277ac2..f7b79e5 100644
--- a/frontend/src/main.js
+++ b/frontend/src/main.js
@@ -1,4 +1,5 @@
 import {createApp} from 'vue'
+//import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'
 import {BootstrapIconsPlugin} from 'bootstrap-icons-vue';
 import App from './App.vue'