var IR = Object.defineProperty; var NR = (t, e, r) => e in t ? IR(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r; var io = (t, e, r) => (NR(t, typeof e != "symbol" ? e + "" : e, r), r); var Ol = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function BR(t) { var e = t.default; if (typeof e == "function") { var r = function() { return e.apply(this, arguments); }; r.prototype = e.prototype; } else r = {}; return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(t).forEach(function(n) { var i = Object.getOwnPropertyDescriptor(t, n); Object.defineProperty(r, n, i.get ? i : { enumerable: !0, get: function() { return t[n]; } }); }), r; } function Za(t) { throw new Error('Could not dynamically require "' + t + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } var Vw = { exports: {} }; (function(t, e) { (function(r, n) { t.exports = n(); })(Ol, function() { var r; function n() { return r.apply(null, arguments); } function i(g) { return g instanceof Array || Object.prototype.toString.call(g) === "[object Array]"; } function a(g) { return g != null && Object.prototype.toString.call(g) === "[object Object]"; } function s(g, E) { return Object.prototype.hasOwnProperty.call(g, E); } function o(g) { if (Object.getOwnPropertyNames) return Object.getOwnPropertyNames(g).length === 0; for (var E in g) if (s(g, E)) return; return 1; } function l(g) { return g === void 0; } function u(g) { return typeof g == "number" || Object.prototype.toString.call(g) === "[object Number]"; } function h(g) { return g instanceof Date || Object.prototype.toString.call(g) === "[object Date]"; } function d(g, E) { for (var I = [], O = g.length, G = 0; G < O; ++G) I.push(E(g[G], G)); return I; } function f(g, E) { for (var I in E) s(E, I) && (g[I] = E[I]); return s(E, "toString") && (g.toString = E.toString), s(E, "valueOf") && (g.valueOf = E.valueOf), g; } function p(g, E, I, O) { return Ir(g, E, I, O, !0).utc(); } function m(g) { return g._pf == null && (g._pf = { 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 }), g._pf; } function _(g) { if (g._isValid == null) { var E = m(g), I = b.call(E.parsedDateParts, function(O) { return O != null; }), I = !isNaN(g._d.getTime()) && E.overflow < 0 && !E.empty && !E.invalidEra && !E.invalidMonth && !E.invalidWeekday && !E.weekdayMismatch && !E.nullInput && !E.invalidFormat && !E.userInvalidated && (!E.meridiem || E.meridiem && I); if (g._strict && (I = I && E.charsLeftOver === 0 && E.unusedTokens.length === 0 && E.bigHour === void 0), Object.isFrozen != null && Object.isFrozen(g)) return I; g._isValid = I; } return g._isValid; } function y(g) { var E = p(NaN); return g != null ? f(m(E), g) : m(E).userInvalidated = !0, E; } var b = Array.prototype.some || function(g) { for (var E = Object(this), I = E.length >>> 0, O = 0; O < I; O++) if (O in E && g.call(this, E[O], O, E)) return !0; return !1; }, x = n.momentProperties = [], k = !1; function T(g, E) { var I, O, G, ht = x.length; if (l(E._isAMomentObject) || (g._isAMomentObject = E._isAMomentObject), l(E._i) || (g._i = E._i), l(E._f) || (g._f = E._f), l(E._l) || (g._l = E._l), l(E._strict) || (g._strict = E._strict), l(E._tzm) || (g._tzm = E._tzm), l(E._isUTC) || (g._isUTC = E._isUTC), l(E._offset) || (g._offset = E._offset), l(E._pf) || (g._pf = m(E)), l(E._locale) || (g._locale = E._locale), 0 < ht) for (I = 0; I < ht; I++) l(G = E[O = x[I]]) || (g[O] = G); return g; } function C(g) { T(this, g), this._d = new Date(g._d != null ? g._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), k === !1 && (k = !0, n.updateOffset(this), k = !1); } function M(g) { return g instanceof C || g != null && g._isAMomentObject != null; } function S(g) { n.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + g); } function R(g, E) { var I = !0; return f(function() { if (n.deprecationHandler != null && n.deprecationHandler(null, g), I) { for (var O, G, ht = [], vt = arguments.length, Mt = 0; Mt < vt; Mt++) { if (O = "", typeof arguments[Mt] == "object") { for (G in O += ` [` + Mt + "] ", arguments[0]) s(arguments[0], G) && (O += G + ": " + arguments[0][G] + ", "); O = O.slice(0, -2); } else O = arguments[Mt]; ht.push(O); } S(g + ` Arguments: ` + Array.prototype.slice.call(ht).join("") + ` ` + new Error().stack), I = !1; } return E.apply(this, arguments); }, E); } var A = {}; function L(g, E) { n.deprecationHandler != null && n.deprecationHandler(g, E), A[g] || (S(E), A[g] = !0); } function v(g) { return typeof Function < "u" && g instanceof Function || Object.prototype.toString.call(g) === "[object Function]"; } function B(g, E) { var I, O = f({}, g); for (I in E) s(E, I) && (a(g[I]) && a(E[I]) ? (O[I] = {}, f(O[I], g[I]), f(O[I], E[I])) : E[I] != null ? O[I] = E[I] : delete O[I]); for (I in g) s(g, I) && !s(E, I) && a(g[I]) && (O[I] = f({}, O[I])); return O; } function w(g) { g != null && this.set(g); } n.suppressDeprecationWarnings = !1, n.deprecationHandler = null; var D = Object.keys || function(g) { var E, I = []; for (E in g) s(g, E) && I.push(E); return I; }; function N(g, E, I) { var O = "" + Math.abs(g); return (0 <= g ? I ? "+" : "" : "-") + Math.pow(10, Math.max(0, E - O.length)).toString().substr(1) + O; } var z = /(\[[^\[]*\])|(\\)?([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, X = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, ct = {}, J = {}; function Y(g, E, I, O) { var G = typeof O == "string" ? function() { return this[O](); } : O; g && (J[g] = G), E && (J[E[0]] = function() { return N(G.apply(this, arguments), E[1], E[2]); }), I && (J[I] = function() { return this.localeData().ordinal(G.apply(this, arguments), g); }); } function $(g, E) { return g.isValid() ? (E = lt(E, g.localeData()), ct[E] = ct[E] || function(I) { for (var O, G = I.match(z), ht = 0, vt = G.length; ht < vt; ht++) J[G[ht]] ? G[ht] = J[G[ht]] : G[ht] = (O = G[ht]).match(/\[[\s\S]/) ? O.replace(/^\[|\]$/g, "") : O.replace(/\\/g, ""); return function(Mt) { for (var Vt = "", Ot = 0; Ot < vt; Ot++) Vt += v(G[Ot]) ? G[Ot].call(Mt, I) : G[Ot]; return Vt; }; }(E), ct[E](g)) : g.localeData().invalidDate(); } function lt(g, E) { var I = 5; function O(G) { return E.longDateFormat(G) || G; } for (X.lastIndex = 0; 0 <= I && X.test(g); ) g = g.replace(X, O), X.lastIndex = 0, --I; return g; } var ut = {}; function W(g, E) { var I = g.toLowerCase(); ut[I] = ut[I + "s"] = ut[E] = g; } function tt(g) { return typeof g == "string" ? ut[g] || ut[g.toLowerCase()] : void 0; } function K(g) { var E, I, O = {}; for (I in g) s(g, I) && (E = tt(I)) && (O[E] = g[I]); return O; } var it = {}; function Z(g, E) { it[g] = E; } function V(g) { return g % 4 == 0 && g % 100 != 0 || g % 400 == 0; } function Q(g) { return g < 0 ? Math.ceil(g) || 0 : Math.floor(g); } function q(E) { var E = +E, I = 0; return I = E != 0 && isFinite(E) ? Q(E) : I; } function U(g, E) { return function(I) { return I != null ? (j(this, g, I), n.updateOffset(this, E), this) : F(this, g); }; } function F(g, E) { return g.isValid() ? g._d["get" + (g._isUTC ? "UTC" : "") + E]() : NaN; } function j(g, E, I) { g.isValid() && !isNaN(I) && (E === "FullYear" && V(g.year()) && g.month() === 1 && g.date() === 29 ? (I = q(I), g._d["set" + (g._isUTC ? "UTC" : "") + E](I, g.month(), yt(I, g.month()))) : g._d["set" + (g._isUTC ? "UTC" : "") + E](I)); } var P = /\d/, fe = /\d\d/, et = /\d{3}/, hs = /\d{4}/, Ea = /[+-]?\d{6}/, at = /\d\d?/, It = /\d\d\d\d?/, Lt = /\d\d\d\d\d\d?/, Rt = /\d{1,3}/, Ca = /\d{1,4}/, Ta = /[+-]?\d{1,6}/, Ct = /\d+/, pt = /[+-]?\d+/, mt = /Z|[+-]\d\d:?\d\d/gi, _t = /Z|[+-]\d\d(?::?\d\d)?/gi, Tt = /[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 ft(g, E, I) { Ht[g] = v(E) ? E : function(O, G) { return O && I ? I : E; }; } function le(g, E) { return s(Ht, g) ? Ht[g](E._strict, E._locale) : new RegExp(Dt(g.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(I, O, G, ht, vt) { return O || G || ht || vt; }))); } function Dt(g) { return g.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); } var Ht = {}, $t = {}; function Qt(g, E) { var I, O, G = E; for (typeof g == "string" && (g = [g]), u(E) && (G = function(ht, vt) { vt[E] = q(ht); }), O = g.length, I = 0; I < O; I++) $t[g[I]] = G; } function we(g, E) { Qt(g, function(I, O, G, ht) { G._w = G._w || {}, E(I, G._w, G, ht); }); } var Gt, Ft = 0, zt = 1, wt = 2, bt = 3, Et = 4, kt = 5, Ut = 6, gt = 7, he = 8; function yt(g, E) { if (isNaN(g) || isNaN(E)) return NaN; var I = (E % (I = 12) + I) % I; return g += (E - I) / 12, I == 1 ? V(g) ? 29 : 28 : 31 - I % 7 % 2; } Gt = Array.prototype.indexOf || function(g) { for (var E = 0; E < this.length; ++E) if (this[E] === g) return E; return -1; }, Y("M", ["MM", 2], "Mo", function() { return this.month() + 1; }), Y("MMM", 0, 0, function(g) { return this.localeData().monthsShort(this, g); }), Y("MMMM", 0, 0, function(g) { return this.localeData().months(this, g); }), W("month", "M"), Z("month", 8), ft("M", at), ft("MM", at, fe), ft("MMM", function(g, E) { return E.monthsShortRegex(g); }), ft("MMMM", function(g, E) { return E.monthsRegex(g); }), Qt(["M", "MM"], function(g, E) { E[zt] = q(g) - 1; }), Qt(["MMM", "MMMM"], function(g, E, I, O) { O = I._locale.monthsParse(g, O, I._strict), O != null ? E[zt] = O : m(I).invalidMonth = g; }); var re = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), _e = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), ge = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, be = Tt, Te = Tt; function Wt(g, E) { var I; if (g.isValid()) { if (typeof E == "string") { if (/^\d+$/.test(E)) E = q(E); else if (!u(E = g.localeData().monthsParse(E))) return; } I = Math.min(g.date(), yt(g.year(), E)), g._d["set" + (g._isUTC ? "UTC" : "") + "Month"](E, I); } } function ae(g) { return g != null ? (Wt(this, g), n.updateOffset(this, !0), this) : F(this, "Month"); } function ye() { function g(vt, Mt) { return Mt.length - vt.length; } for (var E, I = [], O = [], G = [], ht = 0; ht < 12; ht++) E = p([2e3, ht]), I.push(this.monthsShort(E, "")), O.push(this.months(E, "")), G.push(this.months(E, "")), G.push(this.monthsShort(E, "")); for (I.sort(g), O.sort(g), G.sort(g), ht = 0; ht < 12; ht++) I[ht] = Dt(I[ht]), O[ht] = Dt(O[ht]); for (ht = 0; ht < 24; ht++) G[ht] = Dt(G[ht]); this._monthsRegex = new RegExp("^(" + G.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + O.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + I.join("|") + ")", "i"); } function ue(g) { return V(g) ? 366 : 365; } Y("Y", 0, 0, function() { var g = this.year(); return g <= 9999 ? N(g, 4) : "+" + g; }), Y(0, ["YY", 2], 0, function() { return this.year() % 100; }), Y(0, ["YYYY", 4], 0, "year"), Y(0, ["YYYYY", 5], 0, "year"), Y(0, ["YYYYYY", 6, !0], 0, "year"), W("year", "y"), Z("year", 1), ft("Y", pt), ft("YY", at, fe), ft("YYYY", Ca, hs), ft("YYYYY", Ta, Ea), ft("YYYYYY", Ta, Ea), Qt(["YYYYY", "YYYYYY"], Ft), Qt("YYYY", function(g, E) { E[Ft] = g.length === 2 ? n.parseTwoDigitYear(g) : q(g); }), Qt("YY", function(g, E) { E[Ft] = n.parseTwoDigitYear(g); }), Qt("Y", function(g, E) { E[Ft] = parseInt(g, 10); }), n.parseTwoDigitYear = function(g) { return q(g) + (68 < q(g) ? 1900 : 2e3); }; var Su = U("FullYear", !0); function Ui(g, E, I, O, G, ht, vt) { var Mt; return g < 100 && 0 <= g ? (Mt = new Date(g + 400, E, I, O, G, ht, vt), isFinite(Mt.getFullYear()) && Mt.setFullYear(g)) : Mt = new Date(g, E, I, O, G, ht, vt), Mt; } function Or(g) { var E; return g < 100 && 0 <= g ? ((E = Array.prototype.slice.call(arguments))[0] = g + 400, E = new Date(Date.UTC.apply(null, E)), isFinite(E.getUTCFullYear()) && E.setUTCFullYear(g)) : E = new Date(Date.UTC.apply(null, arguments)), E; } function Ie(g, E, I) { return I = 7 + E - I, I - (7 + Or(g, 0, I).getUTCDay() - E) % 7 - 1; } function se(g, vt, Mt, O, G) { var ht, vt = 1 + 7 * (vt - 1) + (7 + Mt - O) % 7 + Ie(g, O, G), Mt = vt <= 0 ? ue(ht = g - 1) + vt : vt > ue(g) ? (ht = g + 1, vt - ue(g)) : (ht = g, vt); return { year: ht, dayOfYear: Mt }; } function $e(g, E, I) { var O, G, ht = Ie(g.year(), E, I), ht = Math.floor((g.dayOfYear() - ht - 1) / 7) + 1; return ht < 1 ? O = ht + _r(G = g.year() - 1, E, I) : ht > _r(g.year(), E, I) ? (O = ht - _r(g.year(), E, I), G = g.year() + 1) : (G = g.year(), O = ht), { week: O, year: G }; } function _r(g, G, I) { var O = Ie(g, G, I), G = Ie(g + 1, G, I); return (ue(g) - O + G) / 7; } Y("w", ["ww", 2], "wo", "week"), Y("W", ["WW", 2], "Wo", "isoWeek"), W("week", "w"), W("isoWeek", "W"), Z("week", 5), Z("isoWeek", 5), ft("w", at), ft("ww", at, fe), ft("W", at), ft("WW", at, fe), we(["w", "ww", "W", "WW"], function(g, E, I, O) { E[O.substr(0, 1)] = q(g); }); function He(g, E) { return g.slice(E, 7).concat(g.slice(0, E)); } Y("d", 0, "do", "day"), Y("dd", 0, 0, function(g) { return this.localeData().weekdaysMin(this, g); }), Y("ddd", 0, 0, function(g) { return this.localeData().weekdaysShort(this, g); }), Y("dddd", 0, 0, function(g) { return this.localeData().weekdays(this, g); }), Y("e", 0, 0, "weekday"), Y("E", 0, 0, "isoWeekday"), W("day", "d"), W("weekday", "e"), W("isoWeekday", "E"), Z("day", 11), Z("weekday", 11), Z("isoWeekday", 11), ft("d", at), ft("e", at), ft("E", at), ft("dd", function(g, E) { return E.weekdaysMinRegex(g); }), ft("ddd", function(g, E) { return E.weekdaysShortRegex(g); }), ft("dddd", function(g, E) { return E.weekdaysRegex(g); }), we(["dd", "ddd", "dddd"], function(g, E, I, O) { O = I._locale.weekdaysParse(g, O, I._strict), O != null ? E.d = O : m(I).invalidWeekday = g; }), we(["d", "e", "E"], function(g, E, I, O) { E[O] = q(g); }); var Xe = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), qt = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), st = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), At = Tt, Nt = Tt, Jt = Tt; function ze() { function g(Ot, de) { return de.length - Ot.length; } for (var E, I, O, G = [], ht = [], vt = [], Mt = [], Vt = 0; Vt < 7; Vt++) O = p([2e3, 1]).day(Vt), E = Dt(this.weekdaysMin(O, "")), I = Dt(this.weekdaysShort(O, "")), O = Dt(this.weekdays(O, "")), G.push(E), ht.push(I), vt.push(O), Mt.push(E), Mt.push(I), Mt.push(O); G.sort(g), ht.sort(g), vt.sort(g), Mt.sort(g), this._weekdaysRegex = new RegExp("^(" + Mt.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + vt.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + ht.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + G.join("|") + ")", "i"); } function Oe() { return this.hours() % 12 || 12; } function Fe(g, E) { Y(g, 0, 0, function() { return this.localeData().meridiem(this.hours(), this.minutes(), E); }); } function vr(g, E) { return E._meridiemParse; } Y("H", ["HH", 2], 0, "hour"), Y("h", ["hh", 2], 0, Oe), Y("k", ["kk", 2], 0, function() { return this.hours() || 24; }), Y("hmm", 0, 0, function() { return "" + Oe.apply(this) + N(this.minutes(), 2); }), Y("hmmss", 0, 0, function() { return "" + Oe.apply(this) + N(this.minutes(), 2) + N(this.seconds(), 2); }), Y("Hmm", 0, 0, function() { return "" + this.hours() + N(this.minutes(), 2); }), Y("Hmmss", 0, 0, function() { return "" + this.hours() + N(this.minutes(), 2) + N(this.seconds(), 2); }), Fe("a", !0), Fe("A", !1), W("hour", "h"), Z("hour", 13), ft("a", vr), ft("A", vr), ft("H", at), ft("h", at), ft("k", at), ft("HH", at, fe), ft("hh", at, fe), ft("kk", at, fe), ft("hmm", It), ft("hmmss", Lt), ft("Hmm", It), ft("Hmmss", Lt), Qt(["H", "HH"], bt), Qt(["k", "kk"], function(g, E, I) { g = q(g), E[bt] = g === 24 ? 0 : g; }), Qt(["a", "A"], function(g, E, I) { I._isPm = I._locale.isPM(g), I._meridiem = g; }), Qt(["h", "hh"], function(g, E, I) { E[bt] = q(g), m(I).bigHour = !0; }), Qt("hmm", function(g, E, I) { var O = g.length - 2; E[bt] = q(g.substr(0, O)), E[Et] = q(g.substr(O)), m(I).bigHour = !0; }), Qt("hmmss", function(g, E, I) { var O = g.length - 4, G = g.length - 2; E[bt] = q(g.substr(0, O)), E[Et] = q(g.substr(O, 2)), E[kt] = q(g.substr(G)), m(I).bigHour = !0; }), Qt("Hmm", function(g, E, I) { var O = g.length - 2; E[bt] = q(g.substr(0, O)), E[Et] = q(g.substr(O)); }), Qt("Hmmss", function(g, E, I) { var O = g.length - 4, G = g.length - 2; E[bt] = q(g.substr(0, O)), E[Et] = q(g.substr(O, 2)), E[kt] = q(g.substr(G)); }), Tt = U("Hours", !0); var Ve, Wi = { calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" }, longDateFormat: { 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" }, invalidDate: "Invalid date", ordinal: "%d", dayOfMonthOrdinalParse: /\d{1,2}/, 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", w: "a week", ww: "%d weeks", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, months: re, monthsShort: _e, week: { dow: 0, doy: 6 }, weekdays: Xe, weekdaysMin: st, weekdaysShort: qt, meridiemParse: /[ap]\.?m?\.?/i }, Ee = {}, bi = {}; function _u(g) { return g && g.toLowerCase().replace("_", "-"); } function _l(g) { for (var E, I, O, G, ht = 0; ht < g.length; ) { for (E = (G = _u(g[ht]).split("-")).length, I = (I = _u(g[ht + 1])) ? I.split("-") : null; 0 < E; ) { if (O = xn(G.slice(0, E).join("-"))) return O; if (I && I.length >= E && function(vt, Mt) { for (var Vt = Math.min(vt.length, Mt.length), Ot = 0; Ot < Vt; Ot += 1) if (vt[Ot] !== Mt[Ot]) return Ot; return Vt; }(G, I) >= E - 1) break; E--; } ht++; } return Ve; } function xn(g) { var E; if (Ee[g] === void 0 && !0 && t && t.exports && g.match("^[^/\\\\]*$") != null) try { E = Ve._abbr, Za("./locale/" + g), Xt(E); } catch { Ee[g] = null; } return Ee[g]; } function Xt(g, E) { return g && ((E = l(E) ? ce(g) : te(g, E)) ? Ve = E : typeof console < "u" && console.warn && console.warn("Locale " + g + " not found. Did you forget to load it?")), Ve._abbr; } function te(g, E) { if (E === null) return delete Ee[g], null; var I, O = Wi; if (E.abbr = g, Ee[g] != null) L("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."), O = Ee[g]._config; else if (E.parentLocale != null) if (Ee[E.parentLocale] != null) O = Ee[E.parentLocale]._config; else { if ((I = xn(E.parentLocale)) == null) return bi[E.parentLocale] || (bi[E.parentLocale] = []), bi[E.parentLocale].push({ name: g, config: E }), null; O = I._config; } return Ee[g] = new w(B(O, E)), bi[g] && bi[g].forEach(function(G) { te(G.name, G.config); }), Xt(g), Ee[g]; } function ce(g) { var E; if (!(g = g && g._locale && g._locale._abbr ? g._locale._abbr : g)) return Ve; if (!i(g)) { if (E = xn(g)) return E; g = [g]; } return _l(g); } function Pt(g) { var E = g._a; return E && m(g).overflow === -2 && (E = E[zt] < 0 || 11 < E[zt] ? zt : E[wt] < 1 || E[wt] > yt(E[Ft], E[zt]) ? wt : E[bt] < 0 || 24 < E[bt] || E[bt] === 24 && (E[Et] !== 0 || E[kt] !== 0 || E[Ut] !== 0) ? bt : E[Et] < 0 || 59 < E[Et] ? Et : E[kt] < 0 || 59 < E[kt] ? kt : E[Ut] < 0 || 999 < E[Ut] ? Ut : -1, m(g)._overflowDayOfYear && (E < Ft || wt < E) && (E = wt), m(g)._overflowWeeks && E === -1 && (E = gt), m(g)._overflowWeekday && E === -1 && (E = he), m(g).overflow = E), g; } var Ge = /^\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)?)?$/, rt = /^\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)?)?$/, os = /Z|[+-]\d\d(?::?\d\d)?/, ot = [["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]], Fr = [["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/]], vu = /^\/?Date\((-?\d+)/i, N0 = /^(?:(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}))$/, xu = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 }; function ku(g) { var E, I, O, G, ht, vt, Vt = g._i, Mt = Ge.exec(Vt) || rt.exec(Vt), Vt = ot.length, Ot = Fr.length; if (Mt) { for (m(g).iso = !0, E = 0, I = Vt; E < I; E++) if (ot[E][1].exec(Mt[1])) { G = ot[E][0], O = ot[E][2] !== !1; break; } if (G == null) g._isValid = !1; else { if (Mt[3]) { for (E = 0, I = Ot; E < I; E++) if (Fr[E][1].exec(Mt[3])) { ht = (Mt[2] || " ") + Fr[E][0]; break; } if (ht == null) return void (g._isValid = !1); } if (O || ht == null) { if (Mt[4]) { if (!os.exec(Mt[4])) return void (g._isValid = !1); vt = "Z"; } g._f = G + (ht || "") + (vt || ""), vl(g); } else g._isValid = !1; } } else g._isValid = !1; } function fr(g, E, I, O, G, ht) { return g = [function(vt) { vt = parseInt(vt, 10); { if (vt <= 49) return 2e3 + vt; if (vt <= 999) return 1900 + vt; } return vt; }(g), _e.indexOf(E), parseInt(I, 10), parseInt(O, 10), parseInt(G, 10)], ht && g.push(parseInt(ht, 10)), g; } function _i(g) { var E, I, O, G, ht = N0.exec(g._i.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "")); ht ? (E = fr(ht[4], ht[3], ht[2], ht[5], ht[6], ht[7]), I = ht[1], O = E, G = g, I && qt.indexOf(I) !== new Date(O[0], O[1], O[2]).getDay() ? (m(G).weekdayMismatch = !0, G._isValid = !1) : (g._a = E, g._tzm = (I = ht[8], O = ht[9], G = ht[10], I ? xu[I] : O ? 0 : 60 * (((I = parseInt(G, 10)) - (O = I % 100)) / 100) + O), g._d = Or.apply(null, g._a), g._d.setUTCMinutes(g._d.getUTCMinutes() - g._tzm), m(g).rfc2822 = !0)) : g._isValid = !1; } function vi(g, E, I) { return g != null ? g : E != null ? E : I; } function ls(g) { var E, I, O, G, ht, vt, Mt, Vt, Ot, de, ne, Ze = []; if (!g._d) { for (O = g, G = new Date(n.now()), I = O._useUTC ? [G.getUTCFullYear(), G.getUTCMonth(), G.getUTCDate()] : [G.getFullYear(), G.getMonth(), G.getDate()], g._w && g._a[wt] == null && g._a[zt] == null && ((G = (O = g)._w).GG != null || G.W != null || G.E != null ? (Vt = 1, Ot = 4, ht = vi(G.GG, O._a[Ft], $e(De(), 1, 4).year), vt = vi(G.W, 1), ((Mt = vi(G.E, 1)) < 1 || 7 < Mt) && (de = !0)) : (Vt = O._locale._week.dow, Ot = O._locale._week.doy, ne = $e(De(), Vt, Ot), ht = vi(G.gg, O._a[Ft], ne.year), vt = vi(G.w, ne.week), G.d != null ? ((Mt = G.d) < 0 || 6 < Mt) && (de = !0) : G.e != null ? (Mt = G.e + Vt, (G.e < 0 || 6 < G.e) && (de = !0)) : Mt = Vt), vt < 1 || vt > _r(ht, Vt, Ot) ? m(O)._overflowWeeks = !0 : de != null ? m(O)._overflowWeekday = !0 : (ne = se(ht, vt, Mt, Vt, Ot), O._a[Ft] = ne.year, O._dayOfYear = ne.dayOfYear)), g._dayOfYear != null && (G = vi(g._a[Ft], I[Ft]), (g._dayOfYear > ue(G) || g._dayOfYear === 0) && (m(g)._overflowDayOfYear = !0), de = Or(G, 0, g._dayOfYear), g._a[zt] = de.getUTCMonth(), g._a[wt] = de.getUTCDate()), E = 0; E < 3 && g._a[E] == null; ++E) g._a[E] = Ze[E] = I[E]; for (; E < 7; E++) g._a[E] = Ze[E] = g._a[E] == null ? E === 2 ? 1 : 0 : g._a[E]; g._a[bt] === 24 && g._a[Et] === 0 && g._a[kt] === 0 && g._a[Ut] === 0 && (g._nextDay = !0, g._a[bt] = 0), g._d = (g._useUTC ? Or : Ui).apply(null, Ze), ht = g._useUTC ? g._d.getUTCDay() : g._d.getDay(), g._tzm != null && g._d.setUTCMinutes(g._d.getUTCMinutes() - g._tzm), g._nextDay && (g._a[bt] = 24), g._w && g._w.d !== void 0 && g._w.d !== ht && (m(g).weekdayMismatch = !0); } } function vl(g) { if (g._f === n.ISO_8601) ku(g); else if (g._f === n.RFC_2822) _i(g); else { g._a = [], m(g).empty = !0; for (var E, I, O, G, ht, vt = "" + g._i, Mt = vt.length, Vt = 0, Ot = lt(g._f, g._locale).match(z) || [], de = Ot.length, ne = 0; ne < de; ne++) I = Ot[ne], (E = (vt.match(le(I, g)) || [])[0]) && (0 < (O = vt.substr(0, vt.indexOf(E))).length && m(g).unusedInput.push(O), vt = vt.slice(vt.indexOf(E) + E.length), Vt += E.length), J[I] ? (E ? m(g).empty = !1 : m(g).unusedTokens.push(I), O = I, ht = g, (G = E) != null && s($t, O) && $t[O](G, ht._a, ht, O)) : g._strict && !E && m(g).unusedTokens.push(I); m(g).charsLeftOver = Mt - Vt, 0 < vt.length && m(g).unusedInput.push(vt), g._a[bt] <= 12 && m(g).bigHour === !0 && 0 < g._a[bt] && (m(g).bigHour = void 0), m(g).parsedDateParts = g._a.slice(0), m(g).meridiem = g._meridiem, g._a[bt] = function(Ze, dr, jn) { return jn == null ? dr : Ze.meridiemHour != null ? Ze.meridiemHour(dr, jn) : Ze.isPM != null ? ((Ze = Ze.isPM(jn)) && dr < 12 && (dr += 12), dr = Ze || dr !== 12 ? dr : 0) : dr; }(g._locale, g._a[bt], g._meridiem), (Mt = m(g).era) !== null && (g._a[Ft] = g._locale.erasConvertYear(Mt, g._a[Ft])), ls(g), Pt(g); } } function wu(g) { var E, I, O, G = g._i, ht = g._f; return g._locale = g._locale || ce(g._l), G === null || ht === void 0 && G === "" ? y({ nullInput: !0 }) : (typeof G == "string" && (g._i = G = g._locale.preparse(G)), M(G) ? new C(Pt(G)) : (h(G) ? g._d = G : i(ht) ? function(vt) { var Mt, Vt, Ot, de, ne, Ze, dr = !1, jn = vt._f.length; if (jn === 0) return m(vt).invalidFormat = !0, vt._d = new Date(NaN); for (de = 0; de < jn; de++) ne = 0, Ze = !1, Mt = T({}, vt), vt._useUTC != null && (Mt._useUTC = vt._useUTC), Mt._f = vt._f[de], vl(Mt), _(Mt) && (Ze = !0), ne = (ne += m(Mt).charsLeftOver) + 10 * m(Mt).unusedTokens.length, m(Mt).score = ne, dr ? ne < Ot && (Ot = ne, Vt = Mt) : (Ot == null || ne < Ot || Ze) && (Ot = ne, Vt = Mt, Ze && (dr = !0)); f(vt, Vt || Mt); }(g) : ht ? vl(g) : l(ht = (G = g)._i) ? G._d = new Date(n.now()) : h(ht) ? G._d = new Date(ht.valueOf()) : typeof ht == "string" ? (I = G, (E = vu.exec(I._i)) !== null ? I._d = new Date(+E[1]) : (ku(I), I._isValid === !1 && (delete I._isValid, _i(I), I._isValid === !1 && (delete I._isValid, I._strict ? I._isValid = !1 : n.createFromInputFallback(I))))) : i(ht) ? (G._a = d(ht.slice(0), function(vt) { return parseInt(vt, 10); }), ls(G)) : a(ht) ? (E = G)._d || (O = (I = K(E._i)).day === void 0 ? I.date : I.day, E._a = d([I.year, I.month, O, I.hour, I.minute, I.second, I.millisecond], function(vt) { return vt && parseInt(vt, 10); }), ls(E)) : u(ht) ? G._d = new Date(ht) : n.createFromInputFallback(G), _(g) || (g._d = null), g)); } function Ir(g, E, I, O, G) { var ht = {}; return E !== !0 && E !== !1 || (O = E, E = void 0), I !== !0 && I !== !1 || (O = I, I = void 0), (a(g) && o(g) || i(g) && g.length === 0) && (g = void 0), ht._isAMomentObject = !0, ht._useUTC = ht._isUTC = G, ht._l = I, ht._i = g, ht._f = E, ht._strict = O, (G = new C(Pt(wu(G = ht))))._nextDay && (G.add(1, "d"), G._nextDay = void 0), G; } function De(g, E, I, O) { return Ir(g, E, I, O, !1); } n.createFromInputFallback = R("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(g) { g._d = new Date(g._i + (g._useUTC ? " UTC" : "")); }), n.ISO_8601 = function() { }, n.RFC_2822 = function() { }, It = R("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() { var g = De.apply(null, arguments); return this.isValid() && g.isValid() ? g < this ? this : g : y(); }), Lt = R("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() { var g = De.apply(null, arguments); return this.isValid() && g.isValid() ? this < g ? this : g : y(); }); function jr(g, E) { var I, O; if (!(E = E.length === 1 && i(E[0]) ? E[0] : E).length) return De(); for (I = E[0], O = 1; O < E.length; ++O) E[O].isValid() && !E[O][g](I) || (I = E[O]); return I; } var Hi = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"]; function Hn(E) { var E = K(E), I = E.year || 0, O = E.quarter || 0, G = E.month || 0, ht = E.week || E.isoWeek || 0, vt = E.day || 0, Mt = E.hour || 0, Vt = E.minute || 0, Ot = E.second || 0, de = E.millisecond || 0; this._isValid = function(ne) { var Ze, dr, jn = !1, V0 = Hi.length; for (Ze in ne) if (s(ne, Ze) && (Gt.call(Hi, Ze) === -1 || ne[Ze] != null && isNaN(ne[Ze]))) return !1; for (dr = 0; dr < V0; ++dr) if (ne[Hi[dr]]) { if (jn) return !1; parseFloat(ne[Hi[dr]]) !== q(ne[Hi[dr]]) && (jn = !0); } return !0; }(E), this._milliseconds = +de + 1e3 * Ot + 6e4 * Vt + 1e3 * Mt * 60 * 60, this._days = +vt + 7 * ht, this._months = +G + 3 * O + 12 * I, this._data = {}, this._locale = ce(), this._bubble(); } function Gi(g) { return g instanceof Hn; } function kn(g) { return g < 0 ? -1 * Math.round(-1 * g) : Math.round(g); } function xl(g, E) { Y(g, 0, 0, function() { var I = this.utcOffset(), O = "+"; return I < 0 && (I = -I, O = "-"), O + N(~~(I / 60), 2) + E + N(~~I % 60, 2); }); } xl("Z", ":"), xl("ZZ", ""), ft("Z", _t), ft("ZZ", _t), Qt(["Z", "ZZ"], function(g, E, I) { I._useUTC = !0, I._tzm = cs(_t, g); }); var to = /([\+\-]|\d\d)/gi; function cs(g, I) { var I = (I || "").match(g); return I === null ? null : (I = 60 * (g = ((I[I.length - 1] || []) + "").match(to) || ["-", 0, 0])[1] + q(g[2])) === 0 ? 0 : g[0] === "+" ? I : -I; } function wn(g, E) { var I; return E._isUTC ? (E = E.clone(), I = (M(g) || h(g) ? g : De(g)).valueOf() - E.valueOf(), E._d.setTime(E._d.valueOf() + I), n.updateOffset(E, !1), E) : De(g).local(); } function B0(g) { return -Math.round(g._d.getTimezoneOffset()); } function E_() { return !!this.isValid() && this._isUTC && this._offset === 0; } n.updateOffset = function() { }; var TR = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, ER = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function Gn(g, E) { var I, O = g, G = null; return Gi(g) ? O = { ms: g._milliseconds, d: g._days, M: g._months } : u(g) || !isNaN(+g) ? (O = {}, E ? O[E] = +g : O.milliseconds = +g) : (G = TR.exec(g)) ? (I = G[1] === "-" ? -1 : 1, O = { y: 0, d: q(G[wt]) * I, h: q(G[bt]) * I, m: q(G[Et]) * I, s: q(G[kt]) * I, ms: q(kn(1e3 * G[Ut])) * I }) : (G = ER.exec(g)) ? (I = G[1] === "-" ? -1 : 1, O = { y: us(G[2], I), M: us(G[3], I), w: us(G[4], I), d: us(G[5], I), h: us(G[6], I), m: us(G[7], I), s: us(G[8], I) }) : O == null ? O = {} : typeof O == "object" && ("from" in O || "to" in O) && (E = function(ht, vt) { var Mt; return !ht.isValid() || !vt.isValid() ? { milliseconds: 0, months: 0 } : (vt = wn(vt, ht), ht.isBefore(vt) ? Mt = C_(ht, vt) : ((Mt = C_(vt, ht)).milliseconds = -Mt.milliseconds, Mt.months = -Mt.months), Mt); }(De(O.from), De(O.to)), (O = {}).ms = E.milliseconds, O.M = E.months), G = new Hn(O), Gi(g) && s(g, "_locale") && (G._locale = g._locale), Gi(g) && s(g, "_isValid") && (G._isValid = g._isValid), G; } function us(g, E) { return g = g && parseFloat(g.replace(",", ".")), (isNaN(g) ? 0 : g) * E; } function C_(g, E) { var I = {}; return I.months = E.month() - g.month() + 12 * (E.year() - g.year()), g.clone().add(I.months, "M").isAfter(E) && --I.months, I.milliseconds = +E - +g.clone().add(I.months, "M"), I; } function S_(g, E) { return function(I, O) { var G; return O === null || isNaN(+O) || (L(E, "moment()." + E + "(period, number) is deprecated. Please use moment()." + E + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), G = I, I = O, O = G), A_(this, Gn(I, O), g), this; }; } function A_(g, vt, I, O) { var G = vt._milliseconds, ht = kn(vt._days), vt = kn(vt._months); g.isValid() && (O = O == null || O, vt && Wt(g, F(g, "Month") + vt * I), ht && j(g, "Date", F(g, "Date") + ht * I), G && g._d.setTime(g._d.valueOf() + G * I), O && n.updateOffset(g, ht || vt)); } Gn.fn = Hn.prototype, Gn.invalid = function() { return Gn(NaN); }, re = S_(1, "add"), Xe = S_(-1, "subtract"); function M_(g) { return typeof g == "string" || g instanceof String; } function CR(g) { return M(g) || h(g) || M_(g) || u(g) || function(E) { var I = i(E), O = !1; return I && (O = E.filter(function(G) { return !u(G) && M_(E); }).length === 0), I && O; }(g) || function(E) { var I, O, G = a(E) && !o(E), ht = !1, vt = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"], Mt = vt.length; for (I = 0; I < Mt; I += 1) O = vt[I], ht = ht || s(E, O); return G && ht; }(g) || g == null; } function Tu(g, G) { if (g.date() < G.date()) return -Tu(G, g); var I = 12 * (G.year() - g.year()) + (G.month() - g.month()), O = g.clone().add(I, "months"), G = G - O < 0 ? (G - O) / (O - g.clone().add(I - 1, "months")) : (G - O) / (g.clone().add(1 + I, "months") - O); return -(I + G) || 0; } function L_(g) { return g === void 0 ? this._locale._abbr : ((g = ce(g)) != null && (this._locale = g), this); } n.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", n.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]", st = R("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(g) { return g === void 0 ? this.localeData() : this.locale(g); }); function R_() { return this._locale; } var I_ = 126227808e5; function eo(g, E) { return (g % E + E) % E; } function N_(g, E, I) { return g < 100 && 0 <= g ? new Date(g + 400, E, I) - I_ : new Date(g, E, I).valueOf(); } function B_(g, E, I) { return g < 100 && 0 <= g ? Date.UTC(g + 400, E, I) - I_ : Date.UTC(g, E, I); } function D0(g, E) { return E.erasAbbrRegex(g); } function O0() { for (var g = [], E = [], I = [], O = [], G = this.eras(), ht = 0, vt = G.length; ht < vt; ++ht) E.push(Dt(G[ht].name)), g.push(Dt(G[ht].abbr)), I.push(Dt(G[ht].narrow)), O.push(Dt(G[ht].name)), O.push(Dt(G[ht].abbr)), O.push(Dt(G[ht].narrow)); this._erasRegex = new RegExp("^(" + O.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + E.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + g.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp("^(" + I.join("|") + ")", "i"); } function Eu(g, E) { Y(0, [g, g.length], 0, E); } function D_(g, E, I, O, G) { var ht; return g == null ? $e(this, O, G).year : (ht = _r(g, O, G), function(vt, Mt, Vt, Ot, de) { return vt = se(vt, Mt, Vt, Ot, de), Mt = Or(vt.year, 0, vt.dayOfYear), this.year(Mt.getUTCFullYear()), this.month(Mt.getUTCMonth()), this.date(Mt.getUTCDate()), this; }.call(this, g, E = ht < E ? ht : E, I, O, G)); } Y("N", 0, 0, "eraAbbr"), Y("NN", 0, 0, "eraAbbr"), Y("NNN", 0, 0, "eraAbbr"), Y("NNNN", 0, 0, "eraName"), Y("NNNNN", 0, 0, "eraNarrow"), Y("y", ["y", 1], "yo", "eraYear"), Y("y", ["yy", 2], 0, "eraYear"), Y("y", ["yyy", 3], 0, "eraYear"), Y("y", ["yyyy", 4], 0, "eraYear"), ft("N", D0), ft("NN", D0), ft("NNN", D0), ft("NNNN", function(g, E) { return E.erasNameRegex(g); }), ft("NNNNN", function(g, E) { return E.erasNarrowRegex(g); }), Qt(["N", "NN", "NNN", "NNNN", "NNNNN"], function(g, E, I, O) { O = I._locale.erasParse(g, O, I._strict), O ? m(I).era = O : m(I).invalidEra = g; }), ft("y", Ct), ft("yy", Ct), ft("yyy", Ct), ft("yyyy", Ct), ft("yo", function(g, E) { return E._eraYearOrdinalRegex || Ct; }), Qt(["y", "yy", "yyy", "yyyy"], Ft), Qt(["yo"], function(g, E, I, O) { var G; I._locale._eraYearOrdinalRegex && (G = g.match(I._locale._eraYearOrdinalRegex)), I._locale.eraYearOrdinalParse ? E[Ft] = I._locale.eraYearOrdinalParse(g, G) : E[Ft] = parseInt(g, 10); }), Y(0, ["gg", 2], 0, function() { return this.weekYear() % 100; }), Y(0, ["GG", 2], 0, function() { return this.isoWeekYear() % 100; }), Eu("gggg", "weekYear"), Eu("ggggg", "weekYear"), Eu("GGGG", "isoWeekYear"), Eu("GGGGG", "isoWeekYear"), W("weekYear", "gg"), W("isoWeekYear", "GG"), Z("weekYear", 1), Z("isoWeekYear", 1), ft("G", pt), ft("g", pt), ft("GG", at, fe), ft("gg", at, fe), ft("GGGG", Ca, hs), ft("gggg", Ca, hs), ft("GGGGG", Ta, Ea), ft("ggggg", Ta, Ea), we(["gggg", "ggggg", "GGGG", "GGGGG"], function(g, E, I, O) { E[O.substr(0, 2)] = q(g); }), we(["gg", "GG"], function(g, E, I, O) { E[O] = n.parseTwoDigitYear(g); }), Y("Q", 0, "Qo", "quarter"), W("quarter", "Q"), Z("quarter", 7), ft("Q", P), Qt("Q", function(g, E) { E[zt] = 3 * (q(g) - 1); }), Y("D", ["DD", 2], "Do", "date"), W("date", "D"), Z("date", 9), ft("D", at), ft("DD", at, fe), ft("Do", function(g, E) { return g ? E._dayOfMonthOrdinalParse || E._ordinalParse : E._dayOfMonthOrdinalParseLenient; }), Qt(["D", "DD"], wt), Qt("Do", function(g, E) { E[wt] = q(g.match(at)[0]); }), Ca = U("Date", !0), Y("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), W("dayOfYear", "DDD"), Z("dayOfYear", 4), ft("DDD", Rt), ft("DDDD", et), Qt(["DDD", "DDDD"], function(g, E, I) { I._dayOfYear = q(g); }), Y("m", ["mm", 2], 0, "minute"), W("minute", "m"), Z("minute", 14), ft("m", at), ft("mm", at, fe), Qt(["m", "mm"], Et); var wa, hs = U("Minutes", !1), Ta = (Y("s", ["ss", 2], 0, "second"), W("second", "s"), Z("second", 15), ft("s", at), ft("ss", at, fe), Qt(["s", "ss"], kt), U("Seconds", !1)); for (Y("S", 0, 0, function() { return ~~(this.millisecond() / 100); }), Y(0, ["SS", 2], 0, function() { return ~~(this.millisecond() / 10); }), Y(0, ["SSS", 3], 0, "millisecond"), Y(0, ["SSSS", 4], 0, function() { return 10 * this.millisecond(); }), Y(0, ["SSSSS", 5], 0, function() { return 100 * this.millisecond(); }), Y(0, ["SSSSSS", 6], 0, function() { return 1e3 * this.millisecond(); }), Y(0, ["SSSSSSS", 7], 0, function() { return 1e4 * this.millisecond(); }), Y(0, ["SSSSSSSS", 8], 0, function() { return 1e5 * this.millisecond(); }), Y(0, ["SSSSSSSSS", 9], 0, function() { return 1e6 * this.millisecond(); }), W("millisecond", "ms"), Z("millisecond", 16), ft("S", Rt, P), ft("SS", Rt, fe), ft("SSS", Rt, et), wa = "SSSS"; wa.length <= 9; wa += "S") ft(wa, Ct); function SR(g, E) { E[Ut] = q(1e3 * ("0." + g)); } for (wa = "S"; wa.length <= 9; wa += "S") Qt(wa, SR); Ea = U("Milliseconds", !1), Y("z", 0, 0, "zoneAbbr"), Y("zz", 0, 0, "zoneName"), P = C.prototype; function O_(g) { return g; } P.add = re, P.calendar = function(I, G) { arguments.length === 1 && (arguments[0] ? CR(arguments[0]) ? (I = arguments[0], G = void 0) : function(ht) { for (var vt = a(ht) && !o(ht), Mt = !1, Vt = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], Ot = 0; Ot < Vt.length; Ot += 1) Mt = Mt || s(ht, Vt[Ot]); return vt && Mt; }(arguments[0]) && (G = arguments[0], I = void 0) : G = I = void 0); var I = I || De(), O = wn(I, this).startOf("day"), O = n.calendarFormat(this, O) || "sameElse", G = G && (v(G[O]) ? G[O].call(this, I) : G[O]); return this.format(G || this.localeData().calendar(O, this, De(I))); }, P.clone = function() { return new C(this); }, P.diff = function(g, E, I) { var O, G, ht; if (!this.isValid()) return NaN; if (!(O = wn(g, this)).isValid()) return NaN; switch (G = 6e4 * (O.utcOffset() - this.utcOffset()), E = tt(E)) { case "year": ht = Tu(this, O) / 12; break; case "month": ht = Tu(this, O); break; case "quarter": ht = Tu(this, O) / 3; break; case "second": ht = (this - O) / 1e3; break; case "minute": ht = (this - O) / 6e4; break; case "hour": ht = (this - O) / 36e5; break; case "day": ht = (this - O - G) / 864e5; break; case "week": ht = (this - O - G) / 6048e5; break; default: ht = this - O; } return I ? ht : Q(ht); }, P.endOf = function(g) { var E, I; if ((g = tt(g)) === void 0 || g === "millisecond" || !this.isValid()) return this; switch (I = this._isUTC ? B_ : N_, g) { case "year": E = I(this.year() + 1, 0, 1) - 1; break; case "quarter": E = I(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; break; case "month": E = I(this.year(), this.month() + 1, 1) - 1; break; case "week": E = I(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; break; case "isoWeek": E = I(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; break; case "day": case "date": E = I(this.year(), this.month(), this.date() + 1) - 1; break; case "hour": E = this._d.valueOf(), E += 36e5 - eo(E + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - 1; break; case "minute": E = this._d.valueOf(), E += 6e4 - eo(E, 6e4) - 1; break; case "second": E = this._d.valueOf(), E += 1e3 - eo(E, 1e3) - 1; break; } return this._d.setTime(E), n.updateOffset(this, !0), this; }, P.format = function(g) { return g = g || (this.isUtc() ? n.defaultFormatUtc : n.defaultFormat), g = $(this, g), this.localeData().postformat(g); }, P.from = function(g, E) { return this.isValid() && (M(g) && g.isValid() || De(g).isValid()) ? Gn({ to: this, from: g }).locale(this.locale()).humanize(!E) : this.localeData().invalidDate(); }, P.fromNow = function(g) { return this.from(De(), g); }, P.to = function(g, E) { return this.isValid() && (M(g) && g.isValid() || De(g).isValid()) ? Gn({ from: this, to: g }).locale(this.locale()).humanize(!E) : this.localeData().invalidDate(); }, P.toNow = function(g) { return this.to(De(), g); }, P.get = function(g) { return v(this[g = tt(g)]) ? this[g]() : this; }, P.invalidAt = function() { return m(this).overflow; }, P.isAfter = function(g, E) { return g = M(g) ? g : De(g), !(!this.isValid() || !g.isValid()) && ((E = tt(E) || "millisecond") === "millisecond" ? this.valueOf() > g.valueOf() : g.valueOf() < this.clone().startOf(E).valueOf()); }, P.isBefore = function(g, E) { return g = M(g) ? g : De(g), !(!this.isValid() || !g.isValid()) && ((E = tt(E) || "millisecond") === "millisecond" ? this.valueOf() < g.valueOf() : this.clone().endOf(E).valueOf() < g.valueOf()); }, P.isBetween = function(g, E, I, O) { return g = M(g) ? g : De(g), E = M(E) ? E : De(E), !!(this.isValid() && g.isValid() && E.isValid()) && ((O = O || "()")[0] === "(" ? this.isAfter(g, I) : !this.isBefore(g, I)) && (O[1] === ")" ? this.isBefore(E, I) : !this.isAfter(E, I)); }, P.isSame = function(I, E) { var I = M(I) ? I : De(I); return !(!this.isValid() || !I.isValid()) && ((E = tt(E) || "millisecond") === "millisecond" ? this.valueOf() === I.valueOf() : (I = I.valueOf(), this.clone().startOf(E).valueOf() <= I && I <= this.clone().endOf(E).valueOf())); }, P.isSameOrAfter = function(g, E) { return this.isSame(g, E) || this.isAfter(g, E); }, P.isSameOrBefore = function(g, E) { return this.isSame(g, E) || this.isBefore(g, E); }, P.isValid = function() { return _(this); }, P.lang = st, P.locale = L_, P.localeData = R_, P.max = Lt, P.min = It, P.parsingFlags = function() { return f({}, m(this)); }, P.set = function(g, E) { if (typeof g == "object") for (var I = function(ht) { var vt, Mt = []; for (vt in ht) s(ht, vt) && Mt.push({ unit: vt, priority: it[vt] }); return Mt.sort(function(Vt, Ot) { return Vt.priority - Ot.priority; }), Mt; }(g = K(g)), O = I.length, G = 0; G < O; G++) this[I[G].unit](g[I[G].unit]); else if (v(this[g = tt(g)])) return this[g](E); return this; }, P.startOf = function(g) { var E, I; if ((g = tt(g)) === void 0 || g === "millisecond" || !this.isValid()) return this; switch (I = this._isUTC ? B_ : N_, g) { case "year": E = I(this.year(), 0, 1); break; case "quarter": E = I(this.year(), this.month() - this.month() % 3, 1); break; case "month": E = I(this.year(), this.month(), 1); break; case "week": E = I(this.year(), this.month(), this.date() - this.weekday()); break; case "isoWeek": E = I(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); break; case "day": case "date": E = I(this.year(), this.month(), this.date()); break; case "hour": E = this._d.valueOf(), E -= eo(E + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5); break; case "minute": E = this._d.valueOf(), E -= eo(E, 6e4); break; case "second": E = this._d.valueOf(), E -= eo(E, 1e3); break; } return this._d.setTime(E), n.updateOffset(this, !0), this; }, P.subtract = Xe, P.toArray = function() { var g = this; return [g.year(), g.month(), g.date(), g.hour(), g.minute(), g.second(), g.millisecond()]; }, P.toObject = function() { var g = this; return { years: g.year(), months: g.month(), date: g.date(), hours: g.hours(), minutes: g.minutes(), seconds: g.seconds(), milliseconds: g.milliseconds() }; }, P.toDate = function() { return new Date(this.valueOf()); }, P.toISOString = function(g) { if (!this.isValid()) return null; var E = (g = g !== !0) ? this.clone().utc() : this; return E.year() < 0 || 9999 < E.year() ? $(E, g ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ") : v(Date.prototype.toISOString) ? g ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", $(E, "Z")) : $(E, g ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"); }, P.inspect = function() { if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; var g, E = "moment", I = ""; return this.isLocal() || (E = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", I = "Z"), E = "[" + E + '("]', g = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", this.format(E + g + "-MM-DD[T]HH:mm:ss.SSS" + (I + '[")]')); }, typeof Symbol < "u" && Symbol.for != null && (P[Symbol.for("nodejs.util.inspect.custom")] = function() { return "Moment<" + this.format() + ">"; }), P.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, P.toString = function() { return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); }, P.unix = function() { return Math.floor(this.valueOf() / 1e3); }, P.valueOf = function() { return this._d.valueOf() - 6e4 * (this._offset || 0); }, P.creationData = function() { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict }; }, P.eraName = function() { for (var g, E = this.localeData().eras(), I = 0, O = E.length; I < O; ++I) if (g = this.clone().startOf("day").valueOf(), E[I].since <= g && g <= E[I].until || E[I].until <= g && g <= E[I].since) return E[I].name; return ""; }, P.eraNarrow = function() { for (var g, E = this.localeData().eras(), I = 0, O = E.length; I < O; ++I) if (g = this.clone().startOf("day").valueOf(), E[I].since <= g && g <= E[I].until || E[I].until <= g && g <= E[I].since) return E[I].narrow; return ""; }, P.eraAbbr = function() { for (var g, E = this.localeData().eras(), I = 0, O = E.length; I < O; ++I) if (g = this.clone().startOf("day").valueOf(), E[I].since <= g && g <= E[I].until || E[I].until <= g && g <= E[I].since) return E[I].abbr; return ""; }, P.eraYear = function() { for (var g, E, I = this.localeData().eras(), O = 0, G = I.length; O < G; ++O) if (g = I[O].since <= I[O].until ? 1 : -1, E = this.clone().startOf("day").valueOf(), I[O].since <= E && E <= I[O].until || I[O].until <= E && E <= I[O].since) return (this.year() - n(I[O].since).year()) * g + I[O].offset; return this.year(); }, P.year = Su, P.isLeapYear = function() { return V(this.year()); }, P.weekYear = function(g) { return D_.call(this, g, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy); }, P.isoWeekYear = function(g) { return D_.call(this, g, this.isoWeek(), this.isoWeekday(), 1, 4); }, P.quarter = P.quarters = function(g) { return g == null ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (g - 1) + this.month() % 3); }, P.month = ae, P.daysInMonth = function() { return yt(this.year(), this.month()); }, P.week = P.weeks = function(g) { var E = this.localeData().week(this); return g == null ? E : this.add(7 * (g - E), "d"); }, P.isoWeek = P.isoWeeks = function(g) { var E = $e(this, 1, 4).week; return g == null ? E : this.add(7 * (g - E), "d"); }, P.weeksInYear = function() { var g = this.localeData()._week; return _r(this.year(), g.dow, g.doy); }, P.weeksInWeekYear = function() { var g = this.localeData()._week; return _r(this.weekYear(), g.dow, g.doy); }, P.isoWeeksInYear = function() { return _r(this.year(), 1, 4); }, P.isoWeeksInISOWeekYear = function() { return _r(this.isoWeekYear(), 1, 4); }, P.date = Ca, P.day = P.days = function(g) { if (!this.isValid()) return g != null ? this : NaN; var E, I, O = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return g != null ? (E = g, I = this.localeData(), g = typeof E != "string" ? E : isNaN(E) ? typeof (E = I.weekdaysParse(E)) == "number" ? E : null : parseInt(E, 10), this.add(g - O, "d")) : O; }, P.weekday = function(g) { if (!this.isValid()) return g != null ? this : NaN; var E = (this.day() + 7 - this.localeData()._week.dow) % 7; return g == null ? E : this.add(g - E, "d"); }, P.isoWeekday = function(g) { return this.isValid() ? g != null ? (E = g, I = this.localeData(), I = typeof E == "string" ? I.weekdaysParse(E) % 7 || 7 : isNaN(E) ? null : E, this.day(this.day() % 7 ? I : I - 7)) : this.day() || 7 : g != null ? this : NaN; var E, I; }, P.dayOfYear = function(g) { var E = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; return g == null ? E : this.add(g - E, "d"); }, P.hour = P.hours = Tt, P.minute = P.minutes = hs, P.second = P.seconds = Ta, P.millisecond = P.milliseconds = Ea, P.utcOffset = function(g, E, I) { var O, G = this._offset || 0; if (!this.isValid()) return g != null ? this : NaN; if (g == null) return this._isUTC ? G : B0(this); if (typeof g == "string") { if ((g = cs(_t, g)) === null) return this; } else Math.abs(g) < 16 && !I && (g *= 60); return !this._isUTC && E && (O = B0(this)), this._offset = g, this._isUTC = !0, O != null && this.add(O, "m"), G !== g && (!E || this._changeInProgress ? A_(this, Gn(g - G, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, n.updateOffset(this, !0), this._changeInProgress = null)), this; }, P.utc = function(g) { return this.utcOffset(0, g); }, P.local = function(g) { return this._isUTC && (this.utcOffset(0, g), this._isUTC = !1, g && this.subtract(B0(this), "m")), this; }, P.parseZone = function() { var g; return this._tzm != null ? this.utcOffset(this._tzm, !1, !0) : typeof this._i == "string" && ((g = cs(mt, this._i)) != null ? this.utcOffset(g) : this.utcOffset(0, !0)), this; }, P.hasAlignedHourOffset = function(g) { return !!this.isValid() && (g = g ? De(g).utcOffset() : 0, (this.utcOffset() - g) % 60 == 0); }, P.isDST = function() { return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset(); }, P.isLocal = function() { return !!this.isValid() && !this._isUTC; }, P.isUtcOffset = function() { return !!this.isValid() && this._isUTC; }, P.isUtc = E_, P.isUTC = E_, P.zoneAbbr = function() { return this._isUTC ? "UTC" : ""; }, P.zoneName = function() { return this._isUTC ? "Coordinated Universal Time" : ""; }, P.dates = R("dates accessor is deprecated. Use date instead.", Ca), P.months = R("months accessor is deprecated. Use month instead", ae), P.years = R("years accessor is deprecated. Use year instead", Su), P.zone = R("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", function(g, E) { return g != null ? (this.utcOffset(g = typeof g != "string" ? -g : g, E), this) : -this.utcOffset(); }), P.isDSTShifted = R("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", function() { if (!l(this._isDSTShifted)) return this._isDSTShifted; var g, E = {}; return T(E, this), (E = wu(E))._a ? (g = (E._isUTC ? p : De)(E._a), this._isDSTShifted = this.isValid() && 0 < function(I, O, G) { for (var ht = Math.min(I.length, O.length), vt = Math.abs(I.length - O.length), Mt = 0, Vt = 0; Vt < ht; Vt++) (G && I[Vt] !== O[Vt] || !G && q(I[Vt]) !== q(O[Vt])) && Mt++; return Mt + vt; }(E._a, g.toArray())) : this._isDSTShifted = !1, this._isDSTShifted; }), fe = w.prototype; function Cu(g, E, I, ht) { var G = ce(), ht = p().set(ht, E); return G[I](ht, g); } function F_(g, E, I) { if (u(g) && (E = g, g = void 0), g = g || "", E != null) return Cu(g, E, I, "month"); for (var O = [], G = 0; G < 12; G++) O[G] = Cu(g, G, I, "month"); return O; } function F0(g, E, I, O) { E = (typeof g == "boolean" ? u(E) && (I = E, E = void 0) : (E = g, g = !1, u(I = E) && (I = E, E = void 0)), E || ""); var G, ht = ce(), vt = g ? ht._week.dow : 0, Mt = []; if (I != null) return Cu(E, (I + vt) % 7, O, "day"); for (G = 0; G < 7; G++) Mt[G] = Cu(E, (G + vt) % 7, O, "day"); return Mt; } fe.calendar = function(g, E, I) { return v(g = this._calendar[g] || this._calendar.sameElse) ? g.call(E, I) : g; }, fe.longDateFormat = function(g) { var E = this._longDateFormat[g], I = this._longDateFormat[g.toUpperCase()]; return E || !I ? E : (this._longDateFormat[g] = I.match(z).map(function(O) { return O === "MMMM" || O === "MM" || O === "DD" || O === "dddd" ? O.slice(1) : O; }).join(""), this._longDateFormat[g]); }, fe.invalidDate = function() { return this._invalidDate; }, fe.ordinal = function(g) { return this._ordinal.replace("%d", g); }, fe.preparse = O_, fe.postformat = O_, fe.relativeTime = function(g, E, I, O) { var G = this._relativeTime[I]; return v(G) ? G(g, E, I, O) : G.replace(/%d/i, g); }, fe.pastFuture = function(g, E) { return v(g = this._relativeTime[0 < g ? "future" : "past"]) ? g(E) : g.replace(/%s/i, E); }, fe.set = function(g) { var E, I; for (I in g) s(g, I) && (v(E = g[I]) ? this[I] = E : this["_" + I] = E); this._config = g, this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source); }, fe.eras = function(g, E) { for (var I, O = this._eras || ce("en")._eras, G = 0, ht = O.length; G < ht; ++G) { switch (typeof O[G].since) { case "string": I = n(O[G].since).startOf("day"), O[G].since = I.valueOf(); break; } switch (typeof O[G].until) { case "undefined": O[G].until = 1 / 0; break; case "string": I = n(O[G].until).startOf("day").valueOf(), O[G].until = I.valueOf(); break; } } return O; }, fe.erasParse = function(g, E, I) { var O, G, ht, vt, Mt, Vt = this.eras(); for (g = g.toUpperCase(), O = 0, G = Vt.length; O < G; ++O) if (ht = Vt[O].name.toUpperCase(), vt = Vt[O].abbr.toUpperCase(), Mt = Vt[O].narrow.toUpperCase(), I) switch (E) { case "N": case "NN": case "NNN": if (vt === g) return Vt[O]; break; case "NNNN": if (ht === g) return Vt[O]; break; case "NNNNN": if (Mt === g) return Vt[O]; break; } else if (0 <= [ht, vt, Mt].indexOf(g)) return Vt[O]; }, fe.erasConvertYear = function(g, E) { var I = g.since <= g.until ? 1 : -1; return E === void 0 ? n(g.since).year() : n(g.since).year() + (E - g.offset) * I; }, fe.erasAbbrRegex = function(g) { return s(this, "_erasAbbrRegex") || O0.call(this), g ? this._erasAbbrRegex : this._erasRegex; }, fe.erasNameRegex = function(g) { return s(this, "_erasNameRegex") || O0.call(this), g ? this._erasNameRegex : this._erasRegex; }, fe.erasNarrowRegex = function(g) { return s(this, "_erasNarrowRegex") || O0.call(this), g ? this._erasNarrowRegex : this._erasRegex; }, fe.months = function(g, E) { return g ? (i(this._months) ? this._months : this._months[(this._months.isFormat || ge).test(E) ? "format" : "standalone"])[g.month()] : i(this._months) ? this._months : this._months.standalone; }, fe.monthsShort = function(g, E) { return g ? (i(this._monthsShort) ? this._monthsShort : this._monthsShort[ge.test(E) ? "format" : "standalone"])[g.month()] : i(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone; }, fe.monthsParse = function(g, E, I) { var O, G; if (this._monthsParseExact) return function(ne, vt, Mt) { var Vt, Ot, de, ne = ne.toLocaleLowerCase(); if (!this._monthsParse) for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], Vt = 0; Vt < 12; ++Vt) de = p([2e3, Vt]), this._shortMonthsParse[Vt] = this.monthsShort(de, "").toLocaleLowerCase(), this._longMonthsParse[Vt] = this.months(de, "").toLocaleLowerCase(); return Mt ? vt === "MMM" ? (Ot = Gt.call(this._shortMonthsParse, ne)) !== -1 ? Ot : null : (Ot = Gt.call(this._longMonthsParse, ne)) !== -1 ? Ot : null : vt === "MMM" ? (Ot = Gt.call(this._shortMonthsParse, ne)) !== -1 || (Ot = Gt.call(this._longMonthsParse, ne)) !== -1 ? Ot : null : (Ot = Gt.call(this._longMonthsParse, ne)) !== -1 || (Ot = Gt.call(this._shortMonthsParse, ne)) !== -1 ? Ot : null; }.call(this, g, E, I); for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), O = 0; O < 12; O++) if (G = p([2e3, O]), I && !this._longMonthsParse[O] && (this._longMonthsParse[O] = new RegExp("^" + this.months(G, "").replace(".", "") + "$", "i"), this._shortMonthsParse[O] = new RegExp("^" + this.monthsShort(G, "").replace(".", "") + "$", "i")), I || this._monthsParse[O] || (G = "^" + this.months(G, "") + "|^" + this.monthsShort(G, ""), this._monthsParse[O] = new RegExp(G.replace(".", ""), "i")), I && E === "MMMM" && this._longMonthsParse[O].test(g) || I && E === "MMM" && this._shortMonthsParse[O].test(g) || !I && this._monthsParse[O].test(g)) return O; }, fe.monthsRegex = function(g) { return this._monthsParseExact ? (s(this, "_monthsRegex") || ye.call(this), g ? this._monthsStrictRegex : this._monthsRegex) : (s(this, "_monthsRegex") || (this._monthsRegex = Te), this._monthsStrictRegex && g ? this._monthsStrictRegex : this._monthsRegex); }, fe.monthsShortRegex = function(g) { return this._monthsParseExact ? (s(this, "_monthsRegex") || ye.call(this), g ? this._monthsShortStrictRegex : this._monthsShortRegex) : (s(this, "_monthsShortRegex") || (this._monthsShortRegex = be), this._monthsShortStrictRegex && g ? this._monthsShortStrictRegex : this._monthsShortRegex); }, fe.week = function(g) { return $e(g, this._week.dow, this._week.doy).week; }, fe.firstDayOfYear = function() { return this._week.doy; }, fe.firstDayOfWeek = function() { return this._week.dow; }, fe.weekdays = function(g, E) { return E = i(this._weekdays) ? this._weekdays : this._weekdays[g && g !== !0 && this._weekdays.isFormat.test(E) ? "format" : "standalone"], g === !0 ? He(E, this._week.dow) : g ? E[g.day()] : E; }, fe.weekdaysMin = function(g) { return g === !0 ? He(this._weekdaysMin, this._week.dow) : g ? this._weekdaysMin[g.day()] : this._weekdaysMin; }, fe.weekdaysShort = function(g) { return g === !0 ? He(this._weekdaysShort, this._week.dow) : g ? this._weekdaysShort[g.day()] : this._weekdaysShort; }, fe.weekdaysParse = function(g, E, I) { var O, G; if (this._weekdaysParseExact) return function(ne, vt, Mt) { var Vt, Ot, de, ne = ne.toLocaleLowerCase(); if (!this._weekdaysParse) for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], Vt = 0; Vt < 7; ++Vt) de = p([2e3, 1]).day(Vt), this._minWeekdaysParse[Vt] = this.weekdaysMin(de, "").toLocaleLowerCase(), this._shortWeekdaysParse[Vt] = this.weekdaysShort(de, "").toLocaleLowerCase(), this._weekdaysParse[Vt] = this.weekdays(de, "").toLocaleLowerCase(); return Mt ? vt === "dddd" ? (Ot = Gt.call(this._weekdaysParse, ne)) !== -1 ? Ot : null : vt === "ddd" ? (Ot = Gt.call(this._shortWeekdaysParse, ne)) !== -1 ? Ot : null : (Ot = Gt.call(this._minWeekdaysParse, ne)) !== -1 ? Ot : null : vt === "dddd" ? (Ot = Gt.call(this._weekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._shortWeekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._minWeekdaysParse, ne)) !== -1 ? Ot : null : vt === "ddd" ? (Ot = Gt.call(this._shortWeekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._weekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._minWeekdaysParse, ne)) !== -1 ? Ot : null : (Ot = Gt.call(this._minWeekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._weekdaysParse, ne)) !== -1 || (Ot = Gt.call(this._shortWeekdaysParse, ne)) !== -1 ? Ot : null; }.call(this, g, E, I); for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), O = 0; O < 7; O++) if (G = p([2e3, 1]).day(O), I && !this._fullWeekdaysParse[O] && (this._fullWeekdaysParse[O] = new RegExp("^" + this.weekdays(G, "").replace(".", "\\.?") + "$", "i"), this._shortWeekdaysParse[O] = new RegExp("^" + this.weekdaysShort(G, "").replace(".", "\\.?") + "$", "i"), this._minWeekdaysParse[O] = new RegExp("^" + this.weekdaysMin(G, "").replace(".", "\\.?") + "$", "i")), this._weekdaysParse[O] || (G = "^" + this.weekdays(G, "") + "|^" + this.weekdaysShort(G, "") + "|^" + this.weekdaysMin(G, ""), this._weekdaysParse[O] = new RegExp(G.replace(".", ""), "i")), I && E === "dddd" && this._fullWeekdaysParse[O].test(g) || I && E === "ddd" && this._shortWeekdaysParse[O].test(g) || I && E === "dd" && this._minWeekdaysParse[O].test(g) || !I && this._weekdaysParse[O].test(g)) return O; }, fe.weekdaysRegex = function(g) { return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || ze.call(this), g ? this._weekdaysStrictRegex : this._weekdaysRegex) : (s(this, "_weekdaysRegex") || (this._weekdaysRegex = At), this._weekdaysStrictRegex && g ? this._weekdaysStrictRegex : this._weekdaysRegex); }, fe.weekdaysShortRegex = function(g) { return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || ze.call(this), g ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (s(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Nt), this._weekdaysShortStrictRegex && g ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex); }, fe.weekdaysMinRegex = function(g) { return this._weekdaysParseExact ? (s(this, "_weekdaysRegex") || ze.call(this), g ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (s(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Jt), this._weekdaysMinStrictRegex && g ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex); }, fe.isPM = function(g) { return (g + "").toLowerCase().charAt(0) === "p"; }, fe.meridiem = function(g, E, I) { return 11 < g ? I ? "pm" : "PM" : I ? "am" : "AM"; }, Xt("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(g) { var E = g % 10; return g + (q(g % 100 / 10) === 1 ? "th" : E == 1 ? "st" : E == 2 ? "nd" : E == 3 ? "rd" : "th"); } }), n.lang = R("moment.lang is deprecated. Use moment.locale instead.", Xt), n.langData = R("moment.langData is deprecated. Use moment.localeData instead.", ce); var ji = Math.abs; function P_(g, E, I, O) { return E = Gn(E, I), g._milliseconds += O * E._milliseconds, g._days += O * E._days, g._months += O * E._months, g._bubble(); } function q_(g) { return g < 0 ? Math.floor(g) : Math.ceil(g); } function V_(g) { return 4800 * g / 146097; } function P0(g) { return 146097 * g / 4800; } function $i(g) { return function() { return this.as(g); }; } Rt = $i("ms"), et = $i("s"), re = $i("m"), Lt = $i("h"), It = $i("d"), Xe = $i("w"), Tt = $i("M"), hs = $i("Q"), Ta = $i("y"); function fs(g) { return function() { return this.isValid() ? this._data[g] : NaN; }; } var Ea = fs("milliseconds"), Ca = fs("seconds"), Su = fs("minutes"), fe = fs("hours"), AR = fs("days"), MR = fs("months"), LR = fs("years"), Xi = Math.round, ro = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; function RR(g, E, I, O) { var Ot = Gn(g).abs(), de = Xi(Ot.as("s")), G = Xi(Ot.as("m")), ht = Xi(Ot.as("h")), vt = Xi(Ot.as("d")), Mt = Xi(Ot.as("M")), Vt = Xi(Ot.as("w")), Ot = Xi(Ot.as("y")), de = (de <= I.ss ? ["s", de] : de < I.s && ["ss", de]) || G <= 1 && ["m"] || G < I.m && ["mm", G] || ht <= 1 && ["h"] || ht < I.h && ["hh", ht] || vt <= 1 && ["d"] || vt < I.d && ["dd", vt]; return (de = (de = I.w != null ? de || Vt <= 1 && ["w"] || Vt < I.w && ["ww", Vt] : de) || Mt <= 1 && ["M"] || Mt < I.M && ["MM", Mt] || Ot <= 1 && ["y"] || ["yy", Ot])[2] = E, de[3] = 0 < +g, de[4] = O, function(ne, Ze, dr, jn, V0) { return V0.relativeTime(Ze || 1, !!dr, ne, jn); }.apply(null, de); } var q0 = Math.abs; function no(g) { return (0 < g) - (g < 0) || +g; } function Au() { if (!this.isValid()) return this.localeData().invalidDate(); var g, E, I, O, G, ht, vt, Mt = q0(this._milliseconds) / 1e3, Vt = q0(this._days), Ot = q0(this._months), de = this.asSeconds(); return de ? (g = Q(Mt / 60), E = Q(g / 60), Mt %= 60, g %= 60, I = Q(Ot / 12), Ot %= 12, O = Mt ? Mt.toFixed(3).replace(/\.?0+$/, "") : "", G = no(this._months) !== no(de) ? "-" : "", ht = no(this._days) !== no(de) ? "-" : "", vt = no(this._milliseconds) !== no(de) ? "-" : "", (de < 0 ? "-" : "") + "P" + (I ? G + I + "Y" : "") + (Ot ? G + Ot + "M" : "") + (Vt ? ht + Vt + "D" : "") + (E || g || Mt ? "T" : "") + (E ? vt + E + "H" : "") + (g ? vt + g + "M" : "") + (Mt ? vt + O + "S" : "")) : "P0D"; } var Be = Hn.prototype; return Be.isValid = function() { return this._isValid; }, Be.abs = function() { var g = this._data; return this._milliseconds = ji(this._milliseconds), this._days = ji(this._days), this._months = ji(this._months), g.milliseconds = ji(g.milliseconds), g.seconds = ji(g.seconds), g.minutes = ji(g.minutes), g.hours = ji(g.hours), g.months = ji(g.months), g.years = ji(g.years), this; }, Be.add = function(g, E) { return P_(this, g, E, 1); }, Be.subtract = function(g, E) { return P_(this, g, E, -1); }, Be.as = function(g) { if (!this.isValid()) return NaN; var E, I, O = this._milliseconds; if ((g = tt(g)) === "month" || g === "quarter" || g === "year") switch (E = this._days + O / 864e5, I = this._months + V_(E), g) { case "month": return I; case "quarter": return I / 3; case "year": return I / 12; } else switch (E = this._days + Math.round(P0(this._months)), g) { case "week": return E / 7 + O / 6048e5; case "day": return E + O / 864e5; case "hour": return 24 * E + O / 36e5; case "minute": return 1440 * E + O / 6e4; case "second": return 86400 * E + O / 1e3; case "millisecond": return Math.floor(864e5 * E) + O; default: throw new Error("Unknown unit " + g); } }, Be.asMilliseconds = Rt, Be.asSeconds = et, Be.asMinutes = re, Be.asHours = Lt, Be.asDays = It, Be.asWeeks = Xe, Be.asMonths = Tt, Be.asQuarters = hs, Be.asYears = Ta, Be.valueOf = function() { return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * q(this._months / 12) : NaN; }, Be._bubble = function() { var g = this._milliseconds, E = this._days, I = this._months, O = this._data; return 0 <= g && 0 <= E && 0 <= I || g <= 0 && E <= 0 && I <= 0 || (g += 864e5 * q_(P0(I) + E), I = E = 0), O.milliseconds = g % 1e3, g = Q(g / 1e3), O.seconds = g % 60, g = Q(g / 60), O.minutes = g % 60, g = Q(g / 60), O.hours = g % 24, E += Q(g / 24), I += g = Q(V_(E)), E -= q_(P0(g)), g = Q(I / 12), I %= 12, O.days = E, O.months = I, O.years = g, this; }, Be.clone = function() { return Gn(this); }, Be.get = function(g) { return g = tt(g), this.isValid() ? this[g + "s"]() : NaN; }, Be.milliseconds = Ea, Be.seconds = Ca, Be.minutes = Su, Be.hours = fe, Be.days = AR, Be.weeks = function() { return Q(this.days() / 7); }, Be.months = MR, Be.years = LR, Be.humanize = function(g, E) { if (!this.isValid()) return this.localeData().invalidDate(); var I = !1, O = ro; return typeof g == "object" && (E = g, g = !1), typeof g == "boolean" && (I = g), typeof E == "object" && (O = Object.assign({}, ro, E), E.s != null && E.ss == null && (O.ss = E.s - 1)), g = this.localeData(), E = RR(this, !I, O, g), I && (E = g.pastFuture(+this, E)), g.postformat(E); }, Be.toISOString = Au, Be.toString = Au, Be.toJSON = Au, Be.locale = L_, Be.localeData = R_, Be.toIsoString = R("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", Au), Be.lang = st, Y("X", 0, 0, "unix"), Y("x", 0, 0, "valueOf"), ft("x", pt), ft("X", /[+-]?\d+(\.\d{1,3})?/), Qt("X", function(g, E, I) { I._d = new Date(1e3 * parseFloat(g)); }), Qt("x", function(g, E, I) { I._d = new Date(q(g)); }), n.version = "2.29.4", r = De, n.fn = P, n.min = function() { return jr("isBefore", [].slice.call(arguments, 0)); }, n.max = function() { return jr("isAfter", [].slice.call(arguments, 0)); }, n.now = function() { return Date.now ? Date.now() : +new Date(); }, n.utc = p, n.unix = function(g) { return De(1e3 * g); }, n.months = function(g, E) { return F_(g, E, "months"); }, n.isDate = h, n.locale = Xt, n.invalid = y, n.duration = Gn, n.isMoment = M, n.weekdays = function(g, E, I) { return F0(g, E, I, "weekdays"); }, n.parseZone = function() { return De.apply(null, arguments).parseZone(); }, n.localeData = ce, n.isDuration = Gi, n.monthsShort = function(g, E) { return F_(g, E, "monthsShort"); }, n.weekdaysMin = function(g, E, I) { return F0(g, E, I, "weekdaysMin"); }, n.defineLocale = te, n.updateLocale = function(g, E) { var I, O; return E != null ? (O = Wi, Ee[g] != null && Ee[g].parentLocale != null ? Ee[g].set(B(Ee[g]._config, E)) : (E = B(O = (I = xn(g)) != null ? I._config : O, E), I == null && (E.abbr = g), (O = new w(E)).parentLocale = Ee[g], Ee[g] = O), Xt(g)) : Ee[g] != null && (Ee[g].parentLocale != null ? (Ee[g] = Ee[g].parentLocale, g === Xt() && Xt(g)) : Ee[g] != null && delete Ee[g]), Ee[g]; }, n.locales = function() { return D(Ee); }, n.weekdaysShort = function(g, E, I) { return F0(g, E, I, "weekdaysShort"); }, n.normalizeUnits = tt, n.relativeTimeRounding = function(g) { return g === void 0 ? Xi : typeof g == "function" && (Xi = g, !0); }, n.relativeTimeThreshold = function(g, E) { return ro[g] !== void 0 && (E === void 0 ? ro[g] : (ro[g] = E, g === "s" && (ro.ss = E - 1), !0)); }, n.calendarFormat = function(g, E) { return (g = g.diff(E, "days", !0)) < -6 ? "sameElse" : g < -1 ? "lastWeek" : g < 0 ? "lastDay" : g < 1 ? "sameDay" : g < 2 ? "nextDay" : g < 7 ? "nextWeek" : "sameElse"; }, n.prototype = P, n.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" }, n; }); })(Vw); const ai = Vw.exports, Ki = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, H = { trace: (...t) => { }, debug: (...t) => { }, info: (...t) => { }, warn: (...t) => { }, error: (...t) => { }, fatal: (...t) => { } }, $b = function(t = "fatal") { let e = Ki.fatal; typeof t == "string" ? (t = t.toLowerCase(), t in Ki && (e = Ki[t])) : typeof t == "number" && (e = t), H.trace = () => { }, H.debug = () => { }, H.info = () => { }, H.warn = () => { }, H.error = () => { }, H.fatal = () => { }, e <= Ki.fatal && (H.fatal = console.error ? console.error.bind(console, Ln("FATAL"), "color: orange") : console.log.bind(console, "\x1B[35m", Ln("FATAL"))), e <= Ki.error && (H.error = console.error ? console.error.bind(console, Ln("ERROR"), "color: orange") : console.log.bind(console, "\x1B[31m", Ln("ERROR"))), e <= Ki.warn && (H.warn = console.warn ? console.warn.bind(console, Ln("WARN"), "color: orange") : console.log.bind(console, "\x1B[33m", Ln("WARN"))), e <= Ki.info && (H.info = console.info ? console.info.bind(console, Ln("INFO"), "color: lightblue") : console.log.bind(console, "\x1B[34m", Ln("INFO"))), e <= Ki.debug && (H.debug = console.debug ? console.debug.bind(console, Ln("DEBUG"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Ln("DEBUG"))), e <= Ki.trace && (H.trace = console.debug ? console.debug.bind(console, Ln("TRACE"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Ln("TRACE"))); }, Ln = (t) => `%c${ai().format("ss.SSS")} : ${t} : `; var Xb = {}; Object.defineProperty(Xb, "__esModule", { value: !0 }); var qi = Xb.sanitizeUrl = void 0, DR = /^([^\w]*)(javascript|data|vbscript)/im, OR = /&#(\w+)(^\w|;)?/g, FR = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, PR = /^([^:]+):/gm, qR = [".", "/"]; function VR(t) { return qR.indexOf(t[0]) > -1; } function zR(t) { return t.replace(OR, function(e, r) { return String.fromCharCode(r); }); } function YR(t) { var e = zR(t || "").replace(FR, "").trim(); if (!e) return "about:blank"; if (VR(e)) return e; var r = e.match(PR); if (!r) return e; var n = r[0]; return DR.test(n) ? "about:blank" : e; } qi = Xb.sanitizeUrl = YR; function tr(t, e) { return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function zw(t, e) { return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function l1(t) { let e, r, n; t.length !== 2 ? (e = tr, r = (o, l) => tr(t(o), l), n = (o, l) => t(o) - l) : (e = t === tr || t === zw ? t : UR, r = t, n = t); function i(o, l, u = 0, h = o.length) { if (u < h) { if (e(l, l) !== 0) return h; do { const d = u + h >>> 1; r(o[d], l) < 0 ? u = d + 1 : h = d; } while (u < h); } return u; } function a(o, l, u = 0, h = o.length) { if (u < h) { if (e(l, l) !== 0) return h; do { const d = u + h >>> 1; r(o[d], l) <= 0 ? u = d + 1 : h = d; } while (u < h); } return u; } function s(o, l, u = 0, h = o.length) { const d = i(o, l, u, h - 1); return d > u && n(o[d - 1], l) > -n(o[d], l) ? d - 1 : d; } return { left: i, center: s, right: a }; } function UR() { return 0; } function Yw(t) { return t === null ? NaN : +t; } function* Uw(t, e) { if (e === void 0) for (let r of t) r != null && (r = +r) >= r && (yield r); else { let r = -1; for (let n of t) (n = e(n, ++r, t)) != null && (n = +n) >= n && (yield n); } } const Ww = l1(tr), Hw = Ww.right, WR = Ww.left, HR = l1(Yw).center, Us = Hw; function GR(t, e) { if (!((e = +e) >= 0)) throw new RangeError("invalid r"); let r = t.length; if (!((r = Math.floor(r)) >= 0)) throw new RangeError("invalid length"); if (!r || !e) return t; const n = Kb(e), i = t.slice(); return n(t, i, 0, r, 1), n(i, t, 0, r, 1), n(t, i, 0, r, 1), t; } const Gw = jw(Kb), jR = jw($R); function jw(t) { return function(e, r, n = r) { if (!((r = +r) >= 0)) throw new RangeError("invalid rx"); if (!((n = +n) >= 0)) throw new RangeError("invalid ry"); let { data: i, width: a, height: s } = e; if (!((a = Math.floor(a)) >= 0)) throw new RangeError("invalid width"); if (!((s = Math.floor(s !== void 0 ? s : i.length / a)) >= 0)) throw new RangeError("invalid height"); if (!a || !s || !r && !n) return e; const o = r && t(r), l = n && t(n), u = i.slice(); return o && l ? (ao(o, u, i, a, s), ao(o, i, u, a, s), ao(o, u, i, a, s), so(l, i, u, a, s), so(l, u, i, a, s), so(l, i, u, a, s)) : o ? (ao(o, i, u, a, s), ao(o, u, i, a, s), ao(o, i, u, a, s)) : l && (so(l, i, u, a, s), so(l, u, i, a, s), so(l, i, u, a, s)), e; }; } function ao(t, e, r, n, i) { for (let a = 0, s = n * i; a < s; ) t(e, r, a, a += n, 1); } function so(t, e, r, n, i) { for (let a = 0, s = n * i; a < n; ++a) t(e, r, a, a + s, n); } function $R(t) { const e = Kb(t); return (r, n, i, a, s) => { i <<= 2, a <<= 2, s <<= 2, e(r, n, i + 0, a + 0, s), e(r, n, i + 1, a + 1, s), e(r, n, i + 2, a + 2, s), e(r, n, i + 3, a + 3, s); }; } function Kb(t) { const e = Math.floor(t); if (e === t) return XR(t); const r = t - e, n = 2 * t + 1; return (i, a, s, o, l) => { if (!((o -= l) >= s)) return; let u = e * a[s]; const h = l * e, d = h + l; for (let f = s, p = s + h; f < p; f += l) u += a[Math.min(o, f)]; for (let f = s, p = o; f <= p; f += l) u += a[Math.min(o, f + h)], i[f] = (u + r * (a[Math.max(s, f - d)] + a[Math.min(o, f + d)])) / n, u -= a[Math.max(s, f - h)]; }; } function XR(t) { const e = 2 * t + 1; return (r, n, i, a, s) => { if (!((a -= s) >= i)) return; let o = t * n[i]; const l = s * t; for (let u = i, h = i + l; u < h; u += s) o += n[Math.min(a, u)]; for (let u = i, h = a; u <= h; u += s) o += n[Math.min(a, u + l)], r[u] = o / e, o -= n[Math.max(i, u - l)]; }; } function c1(t, e) { let r = 0; if (e === void 0) for (let n of t) n != null && (n = +n) >= n && ++r; else { let n = -1; for (let i of t) (i = e(i, ++n, t)) != null && (i = +i) >= i && ++r; } return r; } function KR(t) { return t.length | 0; } function ZR(t) { return !(t > 0); } function QR(t) { return typeof t != "object" || "length" in t ? t : Array.from(t); } function JR(t) { return (e) => t(...e); } function tI(...t) { const e = typeof t[t.length - 1] == "function" && JR(t.pop()); t = t.map(QR); const r = t.map(KR), n = t.length - 1, i = new Array(n + 1).fill(0), a = []; if (n < 0 || r.some(ZR)) return a; for (; ; ) { a.push(i.map((o, l) => t[l][o])); let s = n; for (; ++i[s] === r[s]; ) { if (s === 0) return e ? a.map(e) : a; i[s--] = 0; } } } function eI(t, e) { var r = 0, n = 0; return Float64Array.from(t, e === void 0 ? (i) => r += +i || 0 : (i) => r += +e(i, n++, t) || 0); } function $w(t, e) { let r = 0, n, i = 0, a = 0; if (e === void 0) for (let s of t) s != null && (s = +s) >= s && (n = s - i, i += n / ++r, a += n * (s - i)); else { let s = -1; for (let o of t) (o = e(o, ++s, t)) != null && (o = +o) >= o && (n = o - i, i += n / ++r, a += n * (o - i)); } if (r > 1) return a / (r - 1); } function Xw(t, e) { const r = $w(t, e); return r && Math.sqrt(r); } function Ql(t, e) { let r, n; if (e === void 0) for (const i of t) i != null && (r === void 0 ? i >= i && (r = n = i) : (r > i && (r = i), n < i && (n = i))); else { let i = -1; for (let a of t) (a = e(a, ++i, t)) != null && (r === void 0 ? a >= a && (r = n = a) : (r > a && (r = a), n < a && (n = a))); } return [r, n]; } class wr { constructor() { this._partials = new Float64Array(32), this._n = 0; } add(e) { const r = this._partials; let n = 0; for (let i = 0; i < this._n && i < 32; i++) { const a = r[i], s = e + a, o = Math.abs(e) < Math.abs(a) ? e - (s - a) : a - (s - e); o && (r[n++] = o), e = s; } return r[n] = e, this._n = n + 1, this; } valueOf() { const e = this._partials; let r = this._n, n, i, a, s = 0; if (r > 0) { for (s = e[--r]; r > 0 && (n = s, i = e[--r], s = n + i, a = i - (s - n), !a); ) ; r > 0 && (a < 0 && e[r - 1] < 0 || a > 0 && e[r - 1] > 0) && (i = a * 2, n = s + i, i == n - s && (s = n)); } return s; } } function rI(t, e) { const r = new wr(); if (e === void 0) for (let n of t) (n = +n) && r.add(n); else { let n = -1; for (let i of t) (i = +e(i, ++n, t)) && r.add(i); } return +r; } function nI(t, e) { const r = new wr(); let n = -1; return Float64Array.from( t, e === void 0 ? (i) => r.add(+i || 0) : (i) => r.add(+e(i, ++n, t) || 0) ); } class dc extends Map { constructor(e, r = Qw) { if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: r } }), e != null) for (const [n, i] of e) this.set(n, i); } get(e) { return super.get(ym(this, e)); } has(e) { return super.has(ym(this, e)); } set(e, r) { return super.set(Kw(this, e), r); } delete(e) { return super.delete(Zw(this, e)); } } class Ss extends Set { constructor(e, r = Qw) { if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: r } }), e != null) for (const n of e) this.add(n); } has(e) { return super.has(ym(this, e)); } add(e) { return super.add(Kw(this, e)); } delete(e) { return super.delete(Zw(this, e)); } } function ym({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) ? t.get(n) : r; } function Kw({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) ? t.get(n) : (t.set(n, r), r); } function Zw({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) && (r = t.get(n), t.delete(n)), r; } function Qw(t) { return t !== null && typeof t == "object" ? t.valueOf() : t; } function Ro(t) { return t; } function Jw(t, ...e) { return il(t, Ro, Ro, e); } function t9(t, ...e) { return il(t, Array.from, Ro, e); } function e9(t, e) { for (let r = 1, n = e.length; r < n; ++r) t = t.flatMap((i) => i.pop().map(([a, s]) => [...i, a, s])); return t; } function iI(t, ...e) { return e9(t9(t, ...e), e); } function aI(t, e, ...r) { return e9(n9(t, e, ...r), r); } function r9(t, e, ...r) { return il(t, Ro, e, r); } function n9(t, e, ...r) { return il(t, Array.from, e, r); } function sI(t, ...e) { return il(t, Ro, i9, e); } function oI(t, ...e) { return il(t, Array.from, i9, e); } function i9(t) { if (t.length !== 1) throw new Error("duplicate key"); return t[0]; } function il(t, e, r, n) { return function i(a, s) { if (s >= n.length) return r(a); const o = new dc(), l = n[s++]; let u = -1; for (const h of a) { const d = l(h, ++u, a), f = o.get(d); f ? f.push(h) : o.set(d, [h]); } for (const [h, d] of o) o.set(h, i(d, s)); return e(o); }(t, 0); } function a9(t, e) { return Array.from(e, (r) => t[r]); } function mm(t, ...e) { if (typeof t[Symbol.iterator] != "function") throw new TypeError("values is not iterable"); t = Array.from(t); let [r] = e; if (r && r.length !== 2 || e.length > 1) { const n = Uint32Array.from(t, (i, a) => a); return e.length > 1 ? (e = e.map((i) => t.map(i)), n.sort((i, a) => { for (const s of e) { const o = Io(s[i], s[a]); if (o) return o; } })) : (r = t.map(r), n.sort((i, a) => Io(r[i], r[a]))), a9(t, n); } return t.sort(Zb(r)); } function Zb(t = tr) { if (t === tr) return Io; if (typeof t != "function") throw new TypeError("compare is not a function"); return (e, r) => { const n = t(e, r); return n || n === 0 ? n : (t(r, r) === 0) - (t(e, e) === 0); }; } function Io(t, e) { return (t == null || !(t >= t)) - (e == null || !(e >= e)) || (t < e ? -1 : t > e ? 1 : 0); } function lI(t, e, r) { return (e.length !== 2 ? mm(r9(t, e, r), ([n, i], [a, s]) => tr(i, s) || tr(n, a)) : mm(Jw(t, r), ([n, i], [a, s]) => e(i, s) || tr(n, a))).map(([n]) => n); } var cI = Array.prototype, uI = cI.slice; function Mu(t) { return () => t; } var bm = Math.sqrt(50), _m = Math.sqrt(10), vm = Math.sqrt(2); function As(t, e, r) { var n, i = -1, a, s, o; if (e = +e, t = +t, r = +r, t === e && r > 0) return [t]; if ((n = e < t) && (a = t, t = e, e = a), (o = No(t, e, r)) === 0 || !isFinite(o)) return []; if (o > 0) { let l = Math.round(t / o), u = Math.round(e / o); for (l * o < t && ++l, u * o > e && --u, s = new Array(a = u - l + 1); ++i < a; ) s[i] = (l + i) * o; } else { o = -o; let l = Math.round(t * o), u = Math.round(e * o); for (l / o < t && ++l, u / o > e && --u, s = new Array(a = u - l + 1); ++i < a; ) s[i] = (l + i) / o; } return n && s.reverse(), s; } function No(t, e, r) { var n = (e - t) / Math.max(0, r), i = Math.floor(Math.log(n) / Math.LN10), a = n / Math.pow(10, i); return i >= 0 ? (a >= bm ? 10 : a >= _m ? 5 : a >= vm ? 2 : 1) * Math.pow(10, i) : -Math.pow(10, -i) / (a >= bm ? 10 : a >= _m ? 5 : a >= vm ? 2 : 1); } function pc(t, e, r) { var n = Math.abs(e - t) / Math.max(0, r), i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), a = n / i; return a >= bm ? i *= 10 : a >= _m ? i *= 5 : a >= vm && (i *= 2), e < t ? -i : i; } function s9(t, e, r) { let n; for (; ; ) { const i = No(t, e, r); if (i === n || i === 0 || !isFinite(i)) return [t, e]; i > 0 ? (t = Math.floor(t / i) * i, e = Math.ceil(e / i) * i) : i < 0 && (t = Math.ceil(t * i) / i, e = Math.floor(e * i) / i), n = i; } } function Qb(t) { return Math.ceil(Math.log(c1(t)) / Math.LN2) + 1; } function z_() { var t = Ro, e = Ql, r = Qb; function n(i) { Array.isArray(i) || (i = Array.from(i)); var a, s = i.length, o, l, u = new Array(s); for (a = 0; a < s; ++a) u[a] = t(i[a], a, i); var h = e(u), d = h[0], f = h[1], p = r(u, d, f); if (!Array.isArray(p)) { const b = f, x = +p; if (e === Ql && ([d, f] = s9(d, f, x)), p = As(d, f, x), p[0] <= d && (l = No(d, f, x)), p[p.length - 1] >= f) if (b >= f && e === Ql) { const k = No(d, f, x); isFinite(k) && (k > 0 ? f = (Math.floor(f / k) + 1) * k : k < 0 && (f = (Math.ceil(f * -k) + 1) / -k)); } else p.pop(); } for (var m = p.length; p[0] <= d; ) p.shift(), --m; for (; p[m - 1] > f; ) p.pop(), --m; var _ = new Array(m + 1), y; for (a = 0; a <= m; ++a) y = _[a] = [], y.x0 = a > 0 ? p[a - 1] : d, y.x1 = a < m ? p[a] : f; if (isFinite(l)) { if (l > 0) for (a = 0; a < s; ++a) (o = u[a]) != null && d <= o && o <= f && _[Math.min(m, Math.floor((o - d) / l))].push(i[a]); else if (l < 0) { for (a = 0; a < s; ++a) if ((o = u[a]) != null && d <= o && o <= f) { const b = Math.floor((d - o) * l); _[Math.min(m, b + (p[b] <= o))].push(i[a]); } } } else for (a = 0; a < s; ++a) (o = u[a]) != null && d <= o && o <= f && _[Us(p, o, 0, m)].push(i[a]); return _; } return n.value = function(i) { return arguments.length ? (t = typeof i == "function" ? i : Mu(i), n) : t; }, n.domain = function(i) { return arguments.length ? (e = typeof i == "function" ? i : Mu([i[0], i[1]]), n) : e; }, n.thresholds = function(i) { return arguments.length ? (r = typeof i == "function" ? i : Array.isArray(i) ? Mu(uI.call(i)) : Mu(i), n) : r; }, n; } function Bo(t, e) { let r; if (e === void 0) for (const n of t) n != null && (r < n || r === void 0 && n >= n) && (r = n); else { let n = -1; for (let i of t) (i = e(i, ++n, t)) != null && (r < i || r === void 0 && i >= i) && (r = i); } return r; } function Jb(t, e) { let r, n = -1, i = -1; if (e === void 0) for (const a of t) ++i, a != null && (r < a || r === void 0 && a >= a) && (r = a, n = i); else for (let a of t) (a = e(a, ++i, t)) != null && (r < a || r === void 0 && a >= a) && (r = a, n = i); return n; } function gc(t, e) { let r; if (e === void 0) for (const n of t) n != null && (r > n || r === void 0 && n >= n) && (r = n); else { let n = -1; for (let i of t) (i = e(i, ++n, t)) != null && (r > i || r === void 0 && i >= i) && (r = i); } return r; } function t3(t, e) { let r, n = -1, i = -1; if (e === void 0) for (const a of t) ++i, a != null && (r > a || r === void 0 && a >= a) && (r = a, n = i); else for (let a of t) (a = e(a, ++i, t)) != null && (r > a || r === void 0 && a >= a) && (r = a, n = i); return n; } function u1(t, e, r = 0, n = t.length - 1, i) { for (i = i === void 0 ? Io : Zb(i); n > r; ) { if (n - r > 600) { const l = n - r + 1, u = e - r + 1, h = Math.log(l), d = 0.5 * Math.exp(2 * h / 3), f = 0.5 * Math.sqrt(h * d * (l - d) / l) * (u - l / 2 < 0 ? -1 : 1), p = Math.max(r, Math.floor(e - u * d / l + f)), m = Math.min(n, Math.floor(e + (l - u) * d / l + f)); u1(t, e, p, m, i); } const a = t[e]; let s = r, o = n; for (kl(t, r, e), i(t[n], a) > 0 && kl(t, r, n); s < o; ) { for (kl(t, s, o), ++s, --o; i(t[s], a) < 0; ) ++s; for (; i(t[o], a) > 0; ) --o; } i(t[r], a) === 0 ? kl(t, r, o) : (++o, kl(t, o, n)), o <= e && (r = o + 1), e <= o && (n = o - 1); } return t; } function kl(t, e, r) { const n = t[e]; t[e] = t[r], t[r] = n; } function o9(t, e = tr) { let r, n = !1; if (e.length === 1) { let i; for (const a of t) { const s = e(a); (n ? tr(s, i) > 0 : tr(s, s) === 0) && (r = a, i = s, n = !0); } } else for (const i of t) (n ? e(i, r) > 0 : e(i, i) === 0) && (r = i, n = !0); return r; } function yc(t, e, r) { if (t = Float64Array.from(Uw(t, r)), !!(n = t.length)) { if ((e = +e) <= 0 || n < 2) return gc(t); if (e >= 1) return Bo(t); var n, i = (n - 1) * e, a = Math.floor(i), s = Bo(u1(t, a).subarray(0, a + 1)), o = gc(t.subarray(a + 1)); return s + (o - s) * (i - a); } } function l9(t, e, r = Yw) { if (!!(n = t.length)) { if ((e = +e) <= 0 || n < 2) return +r(t[0], 0, t); if (e >= 1) return +r(t[n - 1], n - 1, t); var n, i = (n - 1) * e, a = Math.floor(i), s = +r(t[a], a, t), o = +r(t[a + 1], a + 1, t); return s + (o - s) * (i - a); } } function c9(t, e, r) { if (t = Float64Array.from(Uw(t, r)), !!(n = t.length)) { if ((e = +e) <= 0 || n < 2) return t3(t); if (e >= 1) return Jb(t); var n, i = Math.floor((n - 1) * e), a = (o, l) => Io(t[o], t[l]), s = u1(Uint32Array.from(t, (o, l) => l), i, 0, n - 1, a); return o9(s.subarray(0, i + 1), (o) => t[o]); } } function hI(t, e, r) { return Math.ceil((r - e) / (2 * (yc(t, 0.75) - yc(t, 0.25)) * Math.pow(c1(t), -1 / 3))); } function fI(t, e, r) { return Math.ceil((r - e) * Math.cbrt(c1(t)) / (3.49 * Xw(t))); } function dI(t, e) { let r = 0, n = 0; if (e === void 0) for (let i of t) i != null && (i = +i) >= i && (++r, n += i); else { let i = -1; for (let a of t) (a = e(a, ++i, t)) != null && (a = +a) >= a && (++r, n += a); } if (r) return n / r; } function pI(t, e) { return yc(t, 0.5, e); } function gI(t, e) { return c9(t, 0.5, e); } function* yI(t) { for (const e of t) yield* e; } function e3(t) { return Array.from(yI(t)); } function mI(t, e) { const r = new dc(); if (e === void 0) for (let a of t) a != null && a >= a && r.set(a, (r.get(a) || 0) + 1); else { let a = -1; for (let s of t) (s = e(s, ++a, t)) != null && s >= s && r.set(s, (r.get(s) || 0) + 1); } let n, i = 0; for (const [a, s] of r) s > i && (i = s, n = a); return n; } function bI(t, e = _I) { const r = []; let n, i = !1; for (const a of t) i && r.push(e(n, a)), n = a, i = !0; return r; } function _I(t, e) { return [t, e]; } function Da(t, e, r) { t = +t, e = +e, r = (i = arguments.length) < 2 ? (e = t, t = 0, 1) : i < 3 ? 1 : +r; for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r; return a; } function vI(t, e = tr) { if (typeof t[Symbol.iterator] != "function") throw new TypeError("values is not iterable"); let r = Array.from(t); const n = new Float64Array(r.length); e.length !== 2 && (r = r.map(e), e = tr); const i = (o, l) => e(r[o], r[l]); let a, s; return Uint32Array.from(r, (o, l) => l).sort(e === tr ? (o, l) => Io(r[o], r[l]) : Zb(i)).forEach((o, l) => { const u = i(o, a === void 0 ? o : a); u >= 0 ? ((a === void 0 || u > 0) && (a = o, s = l), n[o] = s) : n[o] = NaN; }), n; } function xI(t, e = tr) { let r, n = !1; if (e.length === 1) { let i; for (const a of t) { const s = e(a); (n ? tr(s, i) < 0 : tr(s, s) === 0) && (r = a, i = s, n = !0); } } else for (const i of t) (n ? e(i, r) < 0 : e(i, i) === 0) && (r = i, n = !0); return r; } function u9(t, e = tr) { if (e.length === 1) return t3(t, e); let r, n = -1, i = -1; for (const a of t) ++i, (n < 0 ? e(a, a) === 0 : e(a, r) < 0) && (r = a, n = i); return n; } function kI(t, e = tr) { if (e.length === 1) return Jb(t, e); let r, n = -1, i = -1; for (const a of t) ++i, (n < 0 ? e(a, a) === 0 : e(a, r) > 0) && (r = a, n = i); return n; } function wI(t, e) { const r = u9(t, e); return r < 0 ? void 0 : r; } const TI = h9(Math.random); function h9(t) { return function(r, n = 0, i = r.length) { let a = i - (n = +n); for (; a; ) { const s = t() * a-- | 0, o = r[a + n]; r[a + n] = r[s + n], r[s + n] = o; } return r; }; } function EI(t, e) { let r = 0; if (e === void 0) for (let n of t) (n = +n) && (r += n); else { let n = -1; for (let i of t) (i = +e(i, ++n, t)) && (r += i); } return r; } function f9(t) { if (!(a = t.length)) return []; for (var e = -1, r = gc(t, CI), n = new Array(r); ++e < r; ) for (var i = -1, a, s = n[e] = new Array(a); ++i < a; ) s[i] = t[i][e]; return n; } function CI(t) { return t.length; } function SI() { return f9(arguments); } function AI(t, e) { if (typeof e != "function") throw new TypeError("test is not a function"); let r = -1; for (const n of t) if (!e(n, ++r, t)) return !1; return !0; } function MI(t, e) { if (typeof e != "function") throw new TypeError("test is not a function"); let r = -1; for (const n of t) if (e(n, ++r, t)) return !0; return !1; } function LI(t, e) { if (typeof e != "function") throw new TypeError("test is not a function"); const r = []; let n = -1; for (const i of t) e(i, ++n, t) && r.push(i); return r; } function RI(t, e) { if (typeof t[Symbol.iterator] != "function") throw new TypeError("values is not iterable"); if (typeof e != "function") throw new TypeError("mapper is not a function"); return Array.from(t, (r, n) => e(r, n, t)); } function II(t, e, r) { if (typeof e != "function") throw new TypeError("reducer is not a function"); const n = t[Symbol.iterator](); let i, a, s = -1; if (arguments.length < 3) { if ({ done: i, value: r } = n.next(), i) return; ++s; } for (; { done: i, value: a } = n.next(), !i; ) r = e(r, a, ++s, t); return r; } function NI(t) { if (typeof t[Symbol.iterator] != "function") throw new TypeError("values is not iterable"); return Array.from(t).reverse(); } function BI(t, ...e) { t = new Ss(t); for (const r of e) for (const n of r) t.delete(n); return t; } function DI(t, e) { const r = e[Symbol.iterator](), n = new Ss(); for (const i of t) { if (n.has(i)) return !1; let a, s; for (; ({ value: a, done: s } = r.next()) && !s; ) { if (Object.is(i, a)) return !1; n.add(a); } } return !0; } function OI(t, ...e) { t = new Ss(t), e = e.map(FI); t: for (const r of t) for (const n of e) if (!n.has(r)) { t.delete(r); continue t; } return t; } function FI(t) { return t instanceof Ss ? t : new Ss(t); } function d9(t, e) { const r = t[Symbol.iterator](), n = /* @__PURE__ */ new Set(); for (const i of e) { const a = Y_(i); if (n.has(a)) continue; let s, o; for (; { value: s, done: o } = r.next(); ) { if (o) return !1; const l = Y_(s); if (n.add(l), Object.is(a, l)) break; } } return !0; } function Y_(t) { return t !== null && typeof t == "object" ? t.valueOf() : t; } function PI(t, e) { return d9(e, t); } function qI(...t) { const e = new Ss(); for (const r of t) for (const n of r) e.add(n); return e; } function VI(t) { return t; } var dh = 1, ph = 2, xm = 3, Fl = 4, U_ = 1e-6; function zI(t) { return "translate(" + t + ",0)"; } function YI(t) { return "translate(0," + t + ")"; } function UI(t) { return (e) => +t(e); } function WI(t, e) { return e = Math.max(0, t.bandwidth() - e * 2) / 2, t.round() && (e = Math.round(e)), (r) => +t(r) + e; } function HI() { return !this.__axis; } function h1(t, e) { var r = [], n = null, i = null, a = 6, s = 6, o = 3, l = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : 0.5, u = t === dh || t === Fl ? -1 : 1, h = t === Fl || t === ph ? "x" : "y", d = t === dh || t === xm ? zI : YI; function f(p) { var m = n == null ? e.ticks ? e.ticks.apply(e, r) : e.domain() : n, _ = i == null ? e.tickFormat ? e.tickFormat.apply(e, r) : VI : i, y = Math.max(a, 0) + o, b = e.range(), x = +b[0] + l, k = +b[b.length - 1] + l, T = (e.bandwidth ? WI : UI)(e.copy(), l), C = p.selection ? p.selection() : p, M = C.selectAll(".domain").data([null]), S = C.selectAll(".tick").data(m, e).order(), R = S.exit(), A = S.enter().append("g").attr("class", "tick"), L = S.select("line"), v = S.select("text"); M = M.merge(M.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), S = S.merge(A), L = L.merge(A.append("line").attr("stroke", "currentColor").attr(h + "2", u * a)), v = v.merge(A.append("text").attr("fill", "currentColor").attr(h, u * y).attr("dy", t === dh ? "0em" : t === xm ? "0.71em" : "0.32em")), p !== C && (M = M.transition(p), S = S.transition(p), L = L.transition(p), v = v.transition(p), R = R.transition(p).attr("opacity", U_).attr("transform", function(B) { return isFinite(B = T(B)) ? d(B + l) : this.getAttribute("transform"); }), A.attr("opacity", U_).attr("transform", function(B) { var w = this.parentNode.__axis; return d((w && isFinite(w = w(B)) ? w : T(B)) + l); })), R.remove(), M.attr("d", t === Fl || t === ph ? s ? "M" + u * s + "," + x + "H" + l + "V" + k + "H" + u * s : "M" + l + "," + x + "V" + k : s ? "M" + x + "," + u * s + "V" + l + "H" + k + "V" + u * s : "M" + x + "," + l + "H" + k), S.attr("opacity", 1).attr("transform", function(B) { return d(T(B) + l); }), L.attr(h + "2", u * a), v.attr(h, u * y).text(_), C.filter(HI).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === ph ? "start" : t === Fl ? "end" : "middle"), C.each(function() { this.__axis = T; }); } return f.scale = function(p) { return arguments.length ? (e = p, f) : e; }, f.ticks = function() { return r = Array.from(arguments), f; }, f.tickArguments = function(p) { return arguments.length ? (r = p == null ? [] : Array.from(p), f) : r.slice(); }, f.tickValues = function(p) { return arguments.length ? (n = p == null ? null : Array.from(p), f) : n && n.slice(); }, f.tickFormat = function(p) { return arguments.length ? (i = p, f) : i; }, f.tickSize = function(p) { return arguments.length ? (a = s = +p, f) : a; }, f.tickSizeInner = function(p) { return arguments.length ? (a = +p, f) : a; }, f.tickSizeOuter = function(p) { return arguments.length ? (s = +p, f) : s; }, f.tickPadding = function(p) { return arguments.length ? (o = +p, f) : o; }, f.offset = function(p) { return arguments.length ? (l = +p, f) : l; }, f; } function p9(t) { return h1(dh, t); } function GI(t) { return h1(ph, t); } function g9(t) { return h1(xm, t); } function jI(t) { return h1(Fl, t); } var $I = { value: () => { } }; function Ws() { for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) { if (!(n = arguments[t] + "") || n in r || /[\s.]/.test(n)) throw new Error("illegal type: " + n); r[n] = []; } return new gh(r); } function gh(t) { this._ = t; } function XI(t, e) { return t.trim().split(/^|\s+/).map(function(r) { var n = "", i = r.indexOf("."); if (i >= 0 && (n = r.slice(i + 1), r = r.slice(0, i)), r && !e.hasOwnProperty(r)) throw new Error("unknown type: " + r); return { type: r, name: n }; }); } gh.prototype = Ws.prototype = { constructor: gh, on: function(t, e) { var r = this._, n = XI(t + "", r), i, a = -1, s = n.length; if (arguments.length < 2) { for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = KI(r[i], t.name))) return i; return; } if (e != null && typeof e != "function") throw new Error("invalid callback: " + e); for (; ++a < s; ) if (i = (t = n[a]).type) r[i] = W_(r[i], t.name, e); else if (e == null) for (i in r) r[i] = W_(r[i], t.name, null); return this; }, copy: function() { var t = {}, e = this._; for (var r in e) t[r] = e[r].slice(); return new gh(t); }, call: function(t, e) { if ((i = arguments.length - 2) > 0) for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2]; if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r); }, apply: function(t, e, r) { if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r); } }; function KI(t, e) { for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value; } function W_(t, e, r) { for (var n = 0, i = t.length; n < i; ++n) if (t[n].name === e) { t[n] = $I, t = t.slice(0, n).concat(t.slice(n + 1)); break; } return r != null && t.push({ name: e, value: r }), t; } var km = "http://www.w3.org/1999/xhtml"; const wm = { svg: "http://www.w3.org/2000/svg", xhtml: km, xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/" }; function Xc(t) { var e = t += "", r = e.indexOf(":"); return r >= 0 && (e = t.slice(0, r)) !== "xmlns" && (t = t.slice(r + 1)), wm.hasOwnProperty(e) ? { space: wm[e], local: t } : t; } function ZI(t) { return function() { var e = this.ownerDocument, r = this.namespaceURI; return r === km && e.documentElement.namespaceURI === km ? e.createElement(t) : e.createElementNS(r, t); }; } function QI(t) { return function() { return this.ownerDocument.createElementNS(t.space, t.local); }; } function f1(t) { var e = Xc(t); return (e.local ? QI : ZI)(e); } function JI() { } function d1(t) { return t == null ? JI : function() { return this.querySelector(t); }; } function tN(t) { typeof t != "function" && (t = d1(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var a = e[i], s = a.length, o = n[i] = new Array(s), l, u, h = 0; h < s; ++h) (l = a[h]) && (u = t.call(l, l.__data__, h, a)) && ("__data__" in l && (u.__data__ = l.__data__), o[h] = u); return new an(n, this._parents); } function y9(t) { return t == null ? [] : Array.isArray(t) ? t : Array.from(t); } function eN() { return []; } function r3(t) { return t == null ? eN : function() { return this.querySelectorAll(t); }; } function rN(t) { return function() { return y9(t.apply(this, arguments)); }; } function nN(t) { typeof t == "function" ? t = rN(t) : t = r3(t); for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a) for (var s = e[a], o = s.length, l, u = 0; u < o; ++u) (l = s[u]) && (n.push(t.call(l, l.__data__, u, s)), i.push(l)); return new an(n, i); } function n3(t) { return function() { return this.matches(t); }; } function m9(t) { return function(e) { return e.matches(t); }; } var iN = Array.prototype.find; function aN(t) { return function() { return iN.call(this.children, t); }; } function sN() { return this.firstElementChild; } function oN(t) { return this.select(t == null ? sN : aN(typeof t == "function" ? t : m9(t))); } var lN = Array.prototype.filter; function cN() { return Array.from(this.children); } function uN(t) { return function() { return lN.call(this.children, t); }; } function hN(t) { return this.selectAll(t == null ? cN : uN(typeof t == "function" ? t : m9(t))); } function fN(t) { typeof t != "function" && (t = n3(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var a = e[i], s = a.length, o = n[i] = [], l, u = 0; u < s; ++u) (l = a[u]) && t.call(l, l.__data__, u, a) && o.push(l); return new an(n, this._parents); } function b9(t) { return new Array(t.length); } function dN() { return new an(this._enter || this._groups.map(b9), this._parents); } function zh(t, e) { this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = e; } zh.prototype = { constructor: zh, appendChild: function(t) { return this._parent.insertBefore(t, this._next); }, insertBefore: function(t, e) { return this._parent.insertBefore(t, e); }, querySelector: function(t) { return this._parent.querySelector(t); }, querySelectorAll: function(t) { return this._parent.querySelectorAll(t); } }; function pN(t) { return function() { return t; }; } function gN(t, e, r, n, i, a) { for (var s = 0, o, l = e.length, u = a.length; s < u; ++s) (o = e[s]) ? (o.__data__ = a[s], n[s] = o) : r[s] = new zh(t, a[s]); for (; s < l; ++s) (o = e[s]) && (i[s] = o); } function yN(t, e, r, n, i, a, s) { var o, l, u = /* @__PURE__ */ new Map(), h = e.length, d = a.length, f = new Array(h), p; for (o = 0; o < h; ++o) (l = e[o]) && (f[o] = p = s.call(l, l.__data__, o, e) + "", u.has(p) ? i[o] = l : u.set(p, l)); for (o = 0; o < d; ++o) p = s.call(t, a[o], o, a) + "", (l = u.get(p)) ? (n[o] = l, l.__data__ = a[o], u.delete(p)) : r[o] = new zh(t, a[o]); for (o = 0; o < h; ++o) (l = e[o]) && u.get(f[o]) === l && (i[o] = l); } function mN(t) { return t.__data__; } function bN(t, e) { if (!arguments.length) return Array.from(this, mN); var r = e ? yN : gN, n = this._parents, i = this._groups; typeof t != "function" && (t = pN(t)); for (var a = i.length, s = new Array(a), o = new Array(a), l = new Array(a), u = 0; u < a; ++u) { var h = n[u], d = i[u], f = d.length, p = _N(t.call(h, h && h.__data__, u, n)), m = p.length, _ = o[u] = new Array(m), y = s[u] = new Array(m), b = l[u] = new Array(f); r(h, d, _, y, b, p, e); for (var x = 0, k = 0, T, C; x < m; ++x) if (T = _[x]) { for (x >= k && (k = x + 1); !(C = y[k]) && ++k < m; ) ; T._next = C || null; } } return s = new an(s, n), s._enter = o, s._exit = l, s; } function _N(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function vN() { return new an(this._exit || this._groups.map(b9), this._parents); } function xN(t, e, r) { var n = this.enter(), i = this, a = this.exit(); return typeof t == "function" ? (n = t(n), n && (n = n.selection())) : n = n.append(t + ""), e != null && (i = e(i), i && (i = i.selection())), r == null ? a.remove() : r(a), n && i ? n.merge(i).order() : i; } function kN(t) { for (var e = t.selection ? t.selection() : t, r = this._groups, n = e._groups, i = r.length, a = n.length, s = Math.min(i, a), o = new Array(i), l = 0; l < s; ++l) for (var u = r[l], h = n[l], d = u.length, f = o[l] = new Array(d), p, m = 0; m < d; ++m) (p = u[m] || h[m]) && (f[m] = p); for (; l < i; ++l) o[l] = r[l]; return new an(o, this._parents); } function wN() { for (var t = this._groups, e = -1, r = t.length; ++e < r; ) for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; ) (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), a = s); return this; } function TN(t) { t || (t = EN); function e(d, f) { return d && f ? t(d.__data__, f.__data__) : !d - !f; } for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) { for (var s = r[a], o = s.length, l = i[a] = new Array(o), u, h = 0; h < o; ++h) (u = s[h]) && (l[h] = u); l.sort(e); } return new an(i, this._parents).order(); } function EN(t, e) { return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function CN() { var t = arguments[0]; return arguments[0] = this, t.apply(null, arguments), this; } function SN() { return Array.from(this); } function AN() { for (var t = this._groups, e = 0, r = t.length; e < r; ++e) for (var n = t[e], i = 0, a = n.length; i < a; ++i) { var s = n[i]; if (s) return s; } return null; } function MN() { let t = 0; for (const e of this) ++t; return t; } function LN() { return !this.node(); } function RN(t) { for (var e = this._groups, r = 0, n = e.length; r < n; ++r) for (var i = e[r], a = 0, s = i.length, o; a < s; ++a) (o = i[a]) && t.call(o, o.__data__, a, i); return this; } function IN(t) { return function() { this.removeAttribute(t); }; } function NN(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function BN(t, e) { return function() { this.setAttribute(t, e); }; } function DN(t, e) { return function() { this.setAttributeNS(t.space, t.local, e); }; } function ON(t, e) { return function() { var r = e.apply(this, arguments); r == null ? this.removeAttribute(t) : this.setAttribute(t, r); }; } function FN(t, e) { return function() { var r = e.apply(this, arguments); r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r); }; } function PN(t, e) { var r = Xc(t); if (arguments.length < 2) { var n = this.node(); return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r); } return this.each((e == null ? r.local ? NN : IN : typeof e == "function" ? r.local ? FN : ON : r.local ? DN : BN)(r, e)); } function i3(t) { return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView; } function qN(t) { return function() { this.style.removeProperty(t); }; } function VN(t, e, r) { return function() { this.style.setProperty(t, e, r); }; } function zN(t, e, r) { return function() { var n = e.apply(this, arguments); n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r); }; } function YN(t, e, r) { return arguments.length > 1 ? this.each((e == null ? qN : typeof e == "function" ? zN : VN)(t, e, r == null ? "" : r)) : Ms(this.node(), t); } function Ms(t, e) { return t.style.getPropertyValue(e) || i3(t).getComputedStyle(t, null).getPropertyValue(e); } function UN(t) { return function() { delete this[t]; }; } function WN(t, e) { return function() { this[t] = e; }; } function HN(t, e) { return function() { var r = e.apply(this, arguments); r == null ? delete this[t] : this[t] = r; }; } function GN(t, e) { return arguments.length > 1 ? this.each((e == null ? UN : typeof e == "function" ? HN : WN)(t, e)) : this.node()[t]; } function _9(t) { return t.trim().split(/^|\s+/); } function a3(t) { return t.classList || new v9(t); } function v9(t) { this._node = t, this._names = _9(t.getAttribute("class") || ""); } v9.prototype = { add: function(t) { var e = this._names.indexOf(t); e < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))); }, remove: function(t) { var e = this._names.indexOf(t); e >= 0 && (this._names.splice(e, 1), this._node.setAttribute("class", this._names.join(" "))); }, contains: function(t) { return this._names.indexOf(t) >= 0; } }; function x9(t, e) { for (var r = a3(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]); } function k9(t, e) { for (var r = a3(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]); } function jN(t) { return function() { x9(this, t); }; } function $N(t) { return function() { k9(this, t); }; } function XN(t, e) { return function() { (e.apply(this, arguments) ? x9 : k9)(this, t); }; } function KN(t, e) { var r = _9(t + ""); if (arguments.length < 2) { for (var n = a3(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1; return !0; } return this.each((typeof e == "function" ? XN : e ? jN : $N)(r, e)); } function ZN() { this.textContent = ""; } function QN(t) { return function() { this.textContent = t; }; } function JN(t) { return function() { var e = t.apply(this, arguments); this.textContent = e == null ? "" : e; }; } function tB(t) { return arguments.length ? this.each(t == null ? ZN : (typeof t == "function" ? JN : QN)(t)) : this.node().textContent; } function eB() { this.innerHTML = ""; } function rB(t) { return function() { this.innerHTML = t; }; } function nB(t) { return function() { var e = t.apply(this, arguments); this.innerHTML = e == null ? "" : e; }; } function iB(t) { return arguments.length ? this.each(t == null ? eB : (typeof t == "function" ? nB : rB)(t)) : this.node().innerHTML; } function aB() { this.nextSibling && this.parentNode.appendChild(this); } function sB() { return this.each(aB); } function oB() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); } function lB() { return this.each(oB); } function cB(t) { var e = typeof t == "function" ? t : f1(t); return this.select(function() { return this.appendChild(e.apply(this, arguments)); }); } function uB() { return null; } function hB(t, e) { var r = typeof t == "function" ? t : f1(t), n = e == null ? uB : typeof e == "function" ? e : d1(e); return this.select(function() { return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null); }); } function fB() { var t = this.parentNode; t && t.removeChild(this); } function dB() { return this.each(fB); } function pB() { var t = this.cloneNode(!1), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function gB() { var t = this.cloneNode(!0), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function yB(t) { return this.select(t ? gB : pB); } function mB(t) { return arguments.length ? this.property("__data__", t) : this.node().__data__; } function bB(t) { return function(e) { t.call(this, e, this.__data__); }; } function _B(t) { return t.trim().split(/^|\s+/).map(function(e) { var r = "", n = e.indexOf("."); return n >= 0 && (r = e.slice(n + 1), e = e.slice(0, n)), { type: e, name: r }; }); } function vB(t) { return function() { var e = this.__on; if (!!e) { for (var r = 0, n = -1, i = e.length, a; r < i; ++r) a = e[r], (!t.type || a.type === t.type) && a.name === t.name ? this.removeEventListener(a.type, a.listener, a.options) : e[++n] = a; ++n ? e.length = n : delete this.__on; } }; } function xB(t, e, r) { return function() { var n = this.__on, i, a = bB(e); if (n) { for (var s = 0, o = n.length; s < o; ++s) if ((i = n[s]).type === t.type && i.name === t.name) { this.removeEventListener(i.type, i.listener, i.options), this.addEventListener(i.type, i.listener = a, i.options = r), i.value = e; return; } } this.addEventListener(t.type, a, r), i = { type: t.type, name: t.name, value: e, listener: a, options: r }, n ? n.push(i) : this.__on = [i]; }; } function kB(t, e, r) { var n = _B(t + ""), i, a = n.length, s; if (arguments.length < 2) { var o = this.node().__on; if (o) { for (var l = 0, u = o.length, h; l < u; ++l) for (i = 0, h = o[l]; i < a; ++i) if ((s = n[i]).type === h.type && s.name === h.name) return h.value; } return; } for (o = e ? xB : vB, i = 0; i < a; ++i) this.each(o(n[i], e, r)); return this; } function w9(t, e, r) { var n = i3(t), i = n.CustomEvent; typeof i == "function" ? i = new i(e, r) : (i = n.document.createEvent("Event"), r ? (i.initEvent(e, r.bubbles, r.cancelable), i.detail = r.detail) : i.initEvent(e, !1, !1)), t.dispatchEvent(i); } function wB(t, e) { return function() { return w9(this, t, e); }; } function TB(t, e) { return function() { return w9(this, t, e.apply(this, arguments)); }; } function EB(t, e) { return this.each((typeof e == "function" ? TB : wB)(t, e)); } function* CB() { for (var t = this._groups, e = 0, r = t.length; e < r; ++e) for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s); } var s3 = [null]; function an(t, e) { this._groups = t, this._parents = e; } function Hs() { return new an([[document.documentElement]], s3); } function SB() { return this; } an.prototype = Hs.prototype = { constructor: an, select: tN, selectAll: nN, selectChild: oN, selectChildren: hN, filter: fN, data: bN, enter: dN, exit: vN, join: xN, merge: kN, selection: SB, order: wN, sort: TN, call: CN, nodes: SN, node: AN, size: MN, empty: LN, each: RN, attr: PN, style: YN, property: GN, classed: KN, text: tB, html: iB, raise: sB, lower: lB, append: cB, insert: hB, remove: dB, clone: yB, datum: mB, on: kB, dispatch: EB, [Symbol.iterator]: CB }; function St(t) { return typeof t == "string" ? new an([[document.querySelector(t)]], [document.documentElement]) : new an([[t]], s3); } function AB(t) { return St(f1(t).call(document.documentElement)); } var MB = 0; function T9() { return new Tm(); } function Tm() { this._ = "@" + (++MB).toString(36); } Tm.prototype = T9.prototype = { constructor: Tm, get: function(t) { for (var e = this._; !(e in t); ) if (!(t = t.parentNode)) return; return t[e]; }, set: function(t, e) { return t[this._] = e; }, remove: function(t) { return this._ in t && delete t[this._]; }, toString: function() { return this._; } }; function E9(t) { let e; for (; e = t.sourceEvent; ) t = e; return t; } function Cn(t, e) { if (t = E9(t), e === void 0 && (e = t.currentTarget), e) { var r = e.ownerSVGElement || e; if (r.createSVGPoint) { var n = r.createSVGPoint(); return n.x = t.clientX, n.y = t.clientY, n = n.matrixTransform(e.getScreenCTM().inverse()), [n.x, n.y]; } if (e.getBoundingClientRect) { var i = e.getBoundingClientRect(); return [t.clientX - i.left - e.clientLeft, t.clientY - i.top - e.clientTop]; } } return [t.pageX, t.pageY]; } function LB(t, e) { return t.target && (t = E9(t), e === void 0 && (e = t.currentTarget), t = t.touches || [t]), Array.from(t, (r) => Cn(r, e)); } function p1(t) { return typeof t == "string" ? new an([document.querySelectorAll(t)], [document.documentElement]) : new an([y9(t)], s3); } const RB = { passive: !1 }, mc = { capture: !0, passive: !1 }; function z0(t) { t.stopImmediatePropagation(); } function ko(t) { t.preventDefault(), t.stopImmediatePropagation(); } function g1(t) { var e = t.document.documentElement, r = St(t).on("dragstart.drag", ko, mc); "onselectstart" in e ? r.on("selectstart.drag", ko, mc) : (e.__noselect = e.style.MozUserSelect, e.style.MozUserSelect = "none"); } function y1(t, e) { var r = t.document.documentElement, n = St(t).on("dragstart.drag", null); e && (n.on("click.drag", ko, mc), setTimeout(function() { n.on("click.drag", null); }, 0)), "onselectstart" in r ? n.on("selectstart.drag", null) : (r.style.MozUserSelect = r.__noselect, delete r.__noselect); } const Lu = (t) => () => t; function Em(t, { sourceEvent: e, subject: r, target: n, identifier: i, active: a, x: s, y: o, dx: l, dy: u, dispatch: h }) { Object.defineProperties(this, { type: { value: t, enumerable: !0, configurable: !0 }, sourceEvent: { value: e, enumerable: !0, configurable: !0 }, subject: { value: r, enumerable: !0, configurable: !0 }, target: { value: n, enumerable: !0, configurable: !0 }, identifier: { value: i, enumerable: !0, configurable: !0 }, active: { value: a, enumerable: !0, configurable: !0 }, x: { value: s, enumerable: !0, configurable: !0 }, y: { value: o, enumerable: !0, configurable: !0 }, dx: { value: l, enumerable: !0, configurable: !0 }, dy: { value: u, enumerable: !0, configurable: !0 }, _: { value: h } }); } Em.prototype.on = function() { var t = this._.on.apply(this._, arguments); return t === this._ ? this : t; }; function IB(t) { return !t.ctrlKey && !t.button; } function NB() { return this.parentNode; } function BB(t, e) { return e == null ? { x: t.x, y: t.y } : e; } function DB() { return navigator.maxTouchPoints || "ontouchstart" in this; } function OB() { var t = IB, e = NB, r = BB, n = DB, i = {}, a = Ws("start", "drag", "end"), s = 0, o, l, u, h, d = 0; function f(T) { T.on("mousedown.drag", p).filter(n).on("touchstart.drag", y).on("touchmove.drag", b, RB).on("touchend.drag touchcancel.drag", x).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); } function p(T, C) { if (!(h || !t.call(this, T, C))) { var M = k(this, e.call(this, T, C), T, C, "mouse"); !M || (St(T.view).on("mousemove.drag", m, mc).on("mouseup.drag", _, mc), g1(T.view), z0(T), u = !1, o = T.clientX, l = T.clientY, M("start", T)); } } function m(T) { if (ko(T), !u) { var C = T.clientX - o, M = T.clientY - l; u = C * C + M * M > d; } i.mouse("drag", T); } function _(T) { St(T.view).on("mousemove.drag mouseup.drag", null), y1(T.view, u), ko(T), i.mouse("end", T); } function y(T, C) { if (!!t.call(this, T, C)) { var M = T.changedTouches, S = e.call(this, T, C), R = M.length, A, L; for (A = 0; A < R; ++A) (L = k(this, S, T, C, M[A].identifier, M[A])) && (z0(T), L("start", T, M[A])); } } function b(T) { var C = T.changedTouches, M = C.length, S, R; for (S = 0; S < M; ++S) (R = i[C[S].identifier]) && (ko(T), R("drag", T, C[S])); } function x(T) { var C = T.changedTouches, M = C.length, S, R; for (h && clearTimeout(h), h = setTimeout(function() { h = null; }, 500), S = 0; S < M; ++S) (R = i[C[S].identifier]) && (z0(T), R("end", T, C[S])); } function k(T, C, M, S, R, A) { var L = a.copy(), v = Cn(A || M, C), B, w, D; if ((D = r.call(T, new Em("beforestart", { sourceEvent: M, target: f, identifier: R, active: s, x: v[0], y: v[1], dx: 0, dy: 0, dispatch: L }), S)) != null) return B = D.x - v[0] || 0, w = D.y - v[1] || 0, function N(z, X, ct) { var J = v, Y; switch (z) { case "start": i[R] = N, Y = s++; break; case "end": delete i[R], --s; case "drag": v = Cn(ct || X, C), Y = s; break; } L.call( z, T, new Em(z, { sourceEvent: X, subject: D, target: f, identifier: R, active: Y, x: v[0] + B, y: v[1] + w, dx: v[0] - J[0], dy: v[1] - J[1], dispatch: L }), S ); }; } return f.filter = function(T) { return arguments.length ? (t = typeof T == "function" ? T : Lu(!!T), f) : t; }, f.container = function(T) { return arguments.length ? (e = typeof T == "function" ? T : Lu(T), f) : e; }, f.subject = function(T) { return arguments.length ? (r = typeof T == "function" ? T : Lu(T), f) : r; }, f.touchable = function(T) { return arguments.length ? (n = typeof T == "function" ? T : Lu(!!T), f) : n; }, f.on = function() { var T = a.on.apply(a, arguments); return T === a ? f : T; }, f.clickDistance = function(T) { return arguments.length ? (d = (T = +T) * T, f) : Math.sqrt(d); }, f; } function al(t, e, r) { t.prototype = e.prototype = r, r.constructor = t; } function Kc(t, e) { var r = Object.create(t.prototype); for (var n in e) r[n] = e[n]; return r; } function Qa() { } var Ls = 0.7, Do = 1 / Ls, wo = "\\s*([+-]?\\d+)\\s*", bc = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", Li = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", FB = /^#([0-9a-f]{3,8})$/, PB = new RegExp(`^rgb\\(${wo},${wo},${wo}\\)$`), qB = new RegExp(`^rgb\\(${Li},${Li},${Li}\\)$`), VB = new RegExp(`^rgba\\(${wo},${wo},${wo},${bc}\\)$`), zB = new RegExp(`^rgba\\(${Li},${Li},${Li},${bc}\\)$`), YB = new RegExp(`^hsl\\(${bc},${Li},${Li}\\)$`), UB = new RegExp(`^hsla\\(${bc},${Li},${Li},${bc}\\)$`), H_ = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, darkkhaki: 12433259, darkmagenta: 9109643, darkolivegreen: 5597999, darkorange: 16747520, darkorchid: 10040012, darkred: 9109504, darksalmon: 15308410, darkseagreen: 9419919, darkslateblue: 4734347, darkslategray: 3100495, darkslategrey: 3100495, darkturquoise: 52945, darkviolet: 9699539, deeppink: 16716947, deepskyblue: 49151, dimgray: 6908265, dimgrey: 6908265, dodgerblue: 2003199, firebrick: 11674146, floralwhite: 16775920, forestgreen: 2263842, fuchsia: 16711935, gainsboro: 14474460, ghostwhite: 16316671, gold: 16766720, goldenrod: 14329120, gray: 8421504, green: 32768, greenyellow: 11403055, grey: 8421504, honeydew: 15794160, hotpink: 16738740, indianred: 13458524, indigo: 4915330, ivory: 16777200, khaki: 15787660, lavender: 15132410, lavenderblush: 16773365, lawngreen: 8190976, lemonchiffon: 16775885, lightblue: 11393254, lightcoral: 15761536, lightcyan: 14745599, lightgoldenrodyellow: 16448210, lightgray: 13882323, lightgreen: 9498256, lightgrey: 13882323, lightpink: 16758465, lightsalmon: 16752762, lightseagreen: 2142890, lightskyblue: 8900346, lightslategray: 7833753, lightslategrey: 7833753, lightsteelblue: 11584734, lightyellow: 16777184, lime: 65280, limegreen: 3329330, linen: 16445670, magenta: 16711935, maroon: 8388608, mediumaquamarine: 6737322, mediumblue: 205, mediumorchid: 12211667, mediumpurple: 9662683, mediumseagreen: 3978097, mediumslateblue: 8087790, mediumspringgreen: 64154, mediumturquoise: 4772300, mediumvioletred: 13047173, midnightblue: 1644912, mintcream: 16121850, mistyrose: 16770273, moccasin: 16770229, navajowhite: 16768685, navy: 128, oldlace: 16643558, olive: 8421376, olivedrab: 7048739, orange: 16753920, orangered: 16729344, orchid: 14315734, palegoldenrod: 15657130, palegreen: 10025880, paleturquoise: 11529966, palevioletred: 14381203, papayawhip: 16773077, peachpuff: 16767673, peru: 13468991, pink: 16761035, plum: 14524637, powderblue: 11591910, purple: 8388736, rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, saddlebrown: 9127187, salmon: 16416882, sandybrown: 16032864, seagreen: 3050327, seashell: 16774638, sienna: 10506797, silver: 12632256, skyblue: 8900331, slateblue: 6970061, slategray: 7372944, slategrey: 7372944, snow: 16775930, springgreen: 65407, steelblue: 4620980, tan: 13808780, teal: 32896, thistle: 14204888, tomato: 16737095, turquoise: 4251856, violet: 15631086, wheat: 16113331, white: 16777215, whitesmoke: 16119285, yellow: 16776960, yellowgreen: 10145074 }; al(Qa, Wa, { copy(t) { return Object.assign(new this.constructor(), this, t); }, displayable() { return this.rgb().displayable(); }, hex: G_, formatHex: G_, formatHex8: WB, formatHsl: HB, formatRgb: j_, toString: j_ }); function G_() { return this.rgb().formatHex(); } function WB() { return this.rgb().formatHex8(); } function HB() { return C9(this).formatHsl(); } function j_() { return this.rgb().formatRgb(); } function Wa(t) { var e, r; return t = (t + "").trim().toLowerCase(), (e = FB.exec(t)) ? (r = e[1].length, e = parseInt(e[1], 16), r === 6 ? $_(e) : r === 3 ? new Sr(e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, (e & 15) << 4 | e & 15, 1) : r === 8 ? Ru(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, (e & 255) / 255) : r === 4 ? Ru(e >> 12 & 15 | e >> 8 & 240, e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, ((e & 15) << 4 | e & 15) / 255) : null) : (e = PB.exec(t)) ? new Sr(e[1], e[2], e[3], 1) : (e = qB.exec(t)) ? new Sr(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, 1) : (e = VB.exec(t)) ? Ru(e[1], e[2], e[3], e[4]) : (e = zB.exec(t)) ? Ru(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, e[4]) : (e = YB.exec(t)) ? Z_(e[1], e[2] / 100, e[3] / 100, 1) : (e = UB.exec(t)) ? Z_(e[1], e[2] / 100, e[3] / 100, e[4]) : H_.hasOwnProperty(t) ? $_(H_[t]) : t === "transparent" ? new Sr(NaN, NaN, NaN, 0) : null; } function $_(t) { return new Sr(t >> 16 & 255, t >> 8 & 255, t & 255, 1); } function Ru(t, e, r, n) { return n <= 0 && (t = e = r = NaN), new Sr(t, e, r, n); } function o3(t) { return t instanceof Qa || (t = Wa(t)), t ? (t = t.rgb(), new Sr(t.r, t.g, t.b, t.opacity)) : new Sr(); } function Oo(t, e, r, n) { return arguments.length === 1 ? o3(t) : new Sr(t, e, r, n == null ? 1 : n); } function Sr(t, e, r, n) { this.r = +t, this.g = +e, this.b = +r, this.opacity = +n; } al(Sr, Oo, Kc(Qa, { brighter(t) { return t = t == null ? Do : Math.pow(Do, t), new Sr(this.r * t, this.g * t, this.b * t, this.opacity); }, darker(t) { return t = t == null ? Ls : Math.pow(Ls, t), new Sr(this.r * t, this.g * t, this.b * t, this.opacity); }, rgb() { return this; }, clamp() { return new Sr(ws(this.r), ws(this.g), ws(this.b), Yh(this.opacity)); }, displayable() { return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1; }, hex: X_, formatHex: X_, formatHex8: GB, formatRgb: K_, toString: K_ })); function X_() { return `#${xs(this.r)}${xs(this.g)}${xs(this.b)}`; } function GB() { return `#${xs(this.r)}${xs(this.g)}${xs(this.b)}${xs((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; } function K_() { const t = Yh(this.opacity); return `${t === 1 ? "rgb(" : "rgba("}${ws(this.r)}, ${ws(this.g)}, ${ws(this.b)}${t === 1 ? ")" : `, ${t})`}`; } function Yh(t) { return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); } function ws(t) { return Math.max(0, Math.min(255, Math.round(t) || 0)); } function xs(t) { return t = ws(t), (t < 16 ? "0" : "") + t.toString(16); } function Z_(t, e, r, n) { return n <= 0 ? t = e = r = NaN : r <= 0 || r >= 1 ? t = e = NaN : e <= 0 && (t = NaN), new Xn(t, e, r, n); } function C9(t) { if (t instanceof Xn) return new Xn(t.h, t.s, t.l, t.opacity); if (t instanceof Qa || (t = Wa(t)), !t) return new Xn(); if (t instanceof Xn) return t; t = t.rgb(); var e = t.r / 255, r = t.g / 255, n = t.b / 255, i = Math.min(e, r, n), a = Math.max(e, r, n), s = NaN, o = a - i, l = (a + i) / 2; return o ? (e === a ? s = (r - n) / o + (r < n) * 6 : r === a ? s = (n - e) / o + 2 : s = (e - r) / o + 4, o /= l < 0.5 ? a + i : 2 - a - i, s *= 60) : o = l > 0 && l < 1 ? 0 : s, new Xn(s, o, l, t.opacity); } function Uh(t, e, r, n) { return arguments.length === 1 ? C9(t) : new Xn(t, e, r, n == null ? 1 : n); } function Xn(t, e, r, n) { this.h = +t, this.s = +e, this.l = +r, this.opacity = +n; } al(Xn, Uh, Kc(Qa, { brighter(t) { return t = t == null ? Do : Math.pow(Do, t), new Xn(this.h, this.s, this.l * t, this.opacity); }, darker(t) { return t = t == null ? Ls : Math.pow(Ls, t), new Xn(this.h, this.s, this.l * t, this.opacity); }, rgb() { var t = this.h % 360 + (this.h < 0) * 360, e = isNaN(t) || isNaN(this.s) ? 0 : this.s, r = this.l, n = r + (r < 0.5 ? r : 1 - r) * e, i = 2 * r - n; return new Sr( Y0(t >= 240 ? t - 240 : t + 120, i, n), Y0(t, i, n), Y0(t < 120 ? t + 240 : t - 120, i, n), this.opacity ); }, clamp() { return new Xn(Q_(this.h), Iu(this.s), Iu(this.l), Yh(this.opacity)); }, displayable() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1; }, formatHsl() { const t = Yh(this.opacity); return `${t === 1 ? "hsl(" : "hsla("}${Q_(this.h)}, ${Iu(this.s) * 100}%, ${Iu(this.l) * 100}%${t === 1 ? ")" : `, ${t})`}`; } })); function Q_(t) { return t = (t || 0) % 360, t < 0 ? t + 360 : t; } function Iu(t) { return Math.max(0, Math.min(1, t || 0)); } function Y0(t, e, r) { return (t < 60 ? e + (r - e) * t / 60 : t < 180 ? r : t < 240 ? e + (r - e) * (240 - t) / 60 : e) * 255; } const S9 = Math.PI / 180, A9 = 180 / Math.PI, Wh = 18, M9 = 0.96422, L9 = 1, R9 = 0.82521, I9 = 4 / 29, To = 6 / 29, N9 = 3 * To * To, jB = To * To * To; function B9(t) { if (t instanceof ri) return new ri(t.l, t.a, t.b, t.opacity); if (t instanceof Si) return O9(t); t instanceof Sr || (t = o3(t)); var e = G0(t.r), r = G0(t.g), n = G0(t.b), i = U0((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / L9), a, s; return e === r && r === n ? a = s = i : (a = U0((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / M9), s = U0((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / R9)), new ri(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity); } function $B(t, e) { return new ri(t, 0, 0, e == null ? 1 : e); } function Hh(t, e, r, n) { return arguments.length === 1 ? B9(t) : new ri(t, e, r, n == null ? 1 : n); } function ri(t, e, r, n) { this.l = +t, this.a = +e, this.b = +r, this.opacity = +n; } al(ri, Hh, Kc(Qa, { brighter(t) { return new ri(this.l + Wh * (t == null ? 1 : t), this.a, this.b, this.opacity); }, darker(t) { return new ri(this.l - Wh * (t == null ? 1 : t), this.a, this.b, this.opacity); }, rgb() { var t = (this.l + 16) / 116, e = isNaN(this.a) ? t : t + this.a / 500, r = isNaN(this.b) ? t : t - this.b / 200; return e = M9 * W0(e), t = L9 * W0(t), r = R9 * W0(r), new Sr( H0(3.1338561 * e - 1.6168667 * t - 0.4906146 * r), H0(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), H0(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), this.opacity ); } })); function U0(t) { return t > jB ? Math.pow(t, 1 / 3) : t / N9 + I9; } function W0(t) { return t > To ? t * t * t : N9 * (t - I9); } function H0(t) { return 255 * (t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055); } function G0(t) { return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); } function D9(t) { if (t instanceof Si) return new Si(t.h, t.c, t.l, t.opacity); if (t instanceof ri || (t = B9(t)), t.a === 0 && t.b === 0) return new Si(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); var e = Math.atan2(t.b, t.a) * A9; return new Si(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity); } function XB(t, e, r, n) { return arguments.length === 1 ? D9(t) : new Si(r, e, t, n == null ? 1 : n); } function Gh(t, e, r, n) { return arguments.length === 1 ? D9(t) : new Si(t, e, r, n == null ? 1 : n); } function Si(t, e, r, n) { this.h = +t, this.c = +e, this.l = +r, this.opacity = +n; } function O9(t) { if (isNaN(t.h)) return new ri(t.l, 0, 0, t.opacity); var e = t.h * S9; return new ri(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); } al(Si, Gh, Kc(Qa, { brighter(t) { return new Si(this.h, this.c, this.l + Wh * (t == null ? 1 : t), this.opacity); }, darker(t) { return new Si(this.h, this.c, this.l - Wh * (t == null ? 1 : t), this.opacity); }, rgb() { return O9(this).rgb(); } })); var F9 = -0.14861, l3 = 1.78277, c3 = -0.29227, m1 = -0.90649, _c = 1.97294, J_ = _c * m1, t5 = _c * l3, e5 = l3 * c3 - m1 * F9; function KB(t) { if (t instanceof Ts) return new Ts(t.h, t.s, t.l, t.opacity); t instanceof Sr || (t = o3(t)); var e = t.r / 255, r = t.g / 255, n = t.b / 255, i = (e5 * n + J_ * e - t5 * r) / (e5 + J_ - t5), a = n - i, s = (_c * (r - i) - c3 * a) / m1, o = Math.sqrt(s * s + a * a) / (_c * i * (1 - i)), l = o ? Math.atan2(s, a) * A9 - 120 : NaN; return new Ts(l < 0 ? l + 360 : l, o, i, t.opacity); } function si(t, e, r, n) { return arguments.length === 1 ? KB(t) : new Ts(t, e, r, n == null ? 1 : n); } function Ts(t, e, r, n) { this.h = +t, this.s = +e, this.l = +r, this.opacity = +n; } al(Ts, si, Kc(Qa, { brighter(t) { return t = t == null ? Do : Math.pow(Do, t), new Ts(this.h, this.s, this.l * t, this.opacity); }, darker(t) { return t = t == null ? Ls : Math.pow(Ls, t), new Ts(this.h, this.s, this.l * t, this.opacity); }, rgb() { var t = isNaN(this.h) ? 0 : (this.h + 120) * S9, e = +this.l, r = isNaN(this.s) ? 0 : this.s * e * (1 - e), n = Math.cos(t), i = Math.sin(t); return new Sr( 255 * (e + r * (F9 * n + l3 * i)), 255 * (e + r * (c3 * n + m1 * i)), 255 * (e + r * (_c * n)), this.opacity ); } })); function P9(t, e, r, n, i) { var a = t * t, s = a * t; return ((1 - 3 * t + 3 * a - s) * e + (4 - 6 * a + 3 * s) * r + (1 + 3 * t + 3 * a - 3 * s) * n + s * i) / 6; } function q9(t) { var e = t.length - 1; return function(r) { var n = r <= 0 ? r = 0 : r >= 1 ? (r = 1, e - 1) : Math.floor(r * e), i = t[n], a = t[n + 1], s = n > 0 ? t[n - 1] : 2 * i - a, o = n < e - 1 ? t[n + 2] : 2 * a - i; return P9((r - n / e) * e, s, i, a, o); }; } function V9(t) { var e = t.length; return function(r) { var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e), i = t[(n + e - 1) % e], a = t[n % e], s = t[(n + 1) % e], o = t[(n + 2) % e]; return P9((r - n / e) * e, i, a, s, o); }; } const b1 = (t) => () => t; function z9(t, e) { return function(r) { return t + r * e; }; } function ZB(t, e, r) { return t = Math.pow(t, r), e = Math.pow(e, r) - t, r = 1 / r, function(n) { return Math.pow(t + n * e, r); }; } function _1(t, e) { var r = e - t; return r ? z9(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : b1(isNaN(t) ? e : t); } function QB(t) { return (t = +t) == 1 ? Ar : function(e, r) { return r - e ? ZB(e, r, t) : b1(isNaN(e) ? r : e); }; } function Ar(t, e) { var r = e - t; return r ? z9(t, r) : b1(isNaN(t) ? e : t); } const vc = function t(e) { var r = QB(e); function n(i, a) { var s = r((i = Oo(i)).r, (a = Oo(a)).r), o = r(i.g, a.g), l = r(i.b, a.b), u = Ar(i.opacity, a.opacity); return function(h) { return i.r = s(h), i.g = o(h), i.b = l(h), i.opacity = u(h), i + ""; }; } return n.gamma = t, n; }(1); function Y9(t) { return function(e) { var r = e.length, n = new Array(r), i = new Array(r), a = new Array(r), s, o; for (s = 0; s < r; ++s) o = Oo(e[s]), n[s] = o.r || 0, i[s] = o.g || 0, a[s] = o.b || 0; return n = t(n), i = t(i), a = t(a), o.opacity = 1, function(l) { return o.r = n(l), o.g = i(l), o.b = a(l), o + ""; }; }; } var U9 = Y9(q9), JB = Y9(V9); function u3(t, e) { e || (e = []); var r = t ? Math.min(e.length, t.length) : 0, n = e.slice(), i; return function(a) { for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a; return n; }; } function W9(t) { return ArrayBuffer.isView(t) && !(t instanceof DataView); } function tD(t, e) { return (W9(e) ? u3 : H9)(t, e); } function H9(t, e) { var r = e ? e.length : 0, n = t ? Math.min(r, t.length) : 0, i = new Array(n), a = new Array(r), s; for (s = 0; s < n; ++s) i[s] = Ja(t[s], e[s]); for (; s < r; ++s) a[s] = e[s]; return function(o) { for (s = 0; s < n; ++s) a[s] = i[s](o); return a; }; } function G9(t, e) { var r = new Date(); return t = +t, e = +e, function(n) { return r.setTime(t * (1 - n) + e * n), r; }; } function Dn(t, e) { return t = +t, e = +e, function(r) { return t * (1 - r) + e * r; }; } function j9(t, e) { var r = {}, n = {}, i; (t === null || typeof t != "object") && (t = {}), (e === null || typeof e != "object") && (e = {}); for (i in e) i in t ? r[i] = Ja(t[i], e[i]) : n[i] = e[i]; return function(a) { for (i in r) n[i] = r[i](a); return n; }; } var Cm = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, j0 = new RegExp(Cm.source, "g"); function eD(t) { return function() { return t; }; } function rD(t) { return function(e) { return t(e) + ""; }; } function h3(t, e) { var r = Cm.lastIndex = j0.lastIndex = 0, n, i, a, s = -1, o = [], l = []; for (t = t + "", e = e + ""; (n = Cm.exec(t)) && (i = j0.exec(e)); ) (a = i.index) > r && (a = e.slice(r, a), o[s] ? o[s] += a : o[++s] = a), (n = n[0]) === (i = i[0]) ? o[s] ? o[s] += i : o[++s] = i : (o[++s] = null, l.push({ i: s, x: Dn(n, i) })), r = j0.lastIndex; return r < e.length && (a = e.slice(r), o[s] ? o[s] += a : o[++s] = a), o.length < 2 ? l[0] ? rD(l[0].x) : eD(e) : (e = l.length, function(u) { for (var h = 0, d; h < e; ++h) o[(d = l[h]).i] = d.x(u); return o.join(""); }); } function Ja(t, e) { var r = typeof e, n; return e == null || r === "boolean" ? b1(e) : (r === "number" ? Dn : r === "string" ? (n = Wa(e)) ? (e = n, vc) : h3 : e instanceof Wa ? vc : e instanceof Date ? G9 : W9(e) ? u3 : Array.isArray(e) ? H9 : typeof e.valueOf != "function" && typeof e.toString != "function" || isNaN(e) ? j9 : Dn)(t, e); } function nD(t) { var e = t.length; return function(r) { return t[Math.max(0, Math.min(e - 1, Math.floor(r * e)))]; }; } function iD(t, e) { var r = _1(+t, +e); return function(n) { var i = r(n); return i - 360 * Math.floor(i / 360); }; } function v1(t, e) { return t = +t, e = +e, function(r) { return Math.round(t * (1 - r) + e * r); }; } var r5 = 180 / Math.PI, Sm = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function $9(t, e, r, n, i, a) { var s, o, l; return (s = Math.sqrt(t * t + e * e)) && (t /= s, e /= s), (l = t * r + e * n) && (r -= t * l, n -= e * l), (o = Math.sqrt(r * r + n * n)) && (r /= o, n /= o, l /= o), t * n < e * r && (t = -t, e = -e, l = -l, s = -s), { translateX: i, translateY: a, rotate: Math.atan2(e, t) * r5, skewX: Math.atan(l) * r5, scaleX: s, scaleY: o }; } var Nu; function aD(t) { const e = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + ""); return e.isIdentity ? Sm : $9(e.a, e.b, e.c, e.d, e.e, e.f); } function sD(t) { return t == null || (Nu || (Nu = document.createElementNS("http://www.w3.org/2000/svg", "g")), Nu.setAttribute("transform", t), !(t = Nu.transform.baseVal.consolidate())) ? Sm : (t = t.matrix, $9(t.a, t.b, t.c, t.d, t.e, t.f)); } function X9(t, e, r, n) { function i(u) { return u.length ? u.pop() + " " : ""; } function a(u, h, d, f, p, m) { if (u !== d || h !== f) { var _ = p.push("translate(", null, e, null, r); m.push({ i: _ - 4, x: Dn(u, d) }, { i: _ - 2, x: Dn(h, f) }); } else (d || f) && p.push("translate(" + d + e + f + r); } function s(u, h, d, f) { u !== h ? (u - h > 180 ? h += 360 : h - u > 180 && (u += 360), f.push({ i: d.push(i(d) + "rotate(", null, n) - 2, x: Dn(u, h) })) : h && d.push(i(d) + "rotate(" + h + n); } function o(u, h, d, f) { u !== h ? f.push({ i: d.push(i(d) + "skewX(", null, n) - 2, x: Dn(u, h) }) : h && d.push(i(d) + "skewX(" + h + n); } function l(u, h, d, f, p, m) { if (u !== d || h !== f) { var _ = p.push(i(p) + "scale(", null, ",", null, ")"); m.push({ i: _ - 4, x: Dn(u, d) }, { i: _ - 2, x: Dn(h, f) }); } else (d !== 1 || f !== 1) && p.push(i(p) + "scale(" + d + "," + f + ")"); } return function(u, h) { var d = [], f = []; return u = t(u), h = t(h), a(u.translateX, u.translateY, h.translateX, h.translateY, d, f), s(u.rotate, h.rotate, d, f), o(u.skewX, h.skewX, d, f), l(u.scaleX, u.scaleY, h.scaleX, h.scaleY, d, f), u = h = null, function(p) { for (var m = -1, _ = f.length, y; ++m < _; ) d[(y = f[m]).i] = y.x(p); return d.join(""); }; }; } var K9 = X9(aD, "px, ", "px)", "deg)"), Z9 = X9(sD, ", ", ")", ")"), oD = 1e-12; function n5(t) { return ((t = Math.exp(t)) + 1 / t) / 2; } function lD(t) { return ((t = Math.exp(t)) - 1 / t) / 2; } function cD(t) { return ((t = Math.exp(2 * t)) - 1) / (t + 1); } const Q9 = function t(e, r, n) { function i(a, s) { var o = a[0], l = a[1], u = a[2], h = s[0], d = s[1], f = s[2], p = h - o, m = d - l, _ = p * p + m * m, y, b; if (_ < oD) b = Math.log(f / u) / e, y = function(S) { return [ o + S * p, l + S * m, u * Math.exp(e * S * b) ]; }; else { var x = Math.sqrt(_), k = (f * f - u * u + n * _) / (2 * u * r * x), T = (f * f - u * u - n * _) / (2 * f * r * x), C = Math.log(Math.sqrt(k * k + 1) - k), M = Math.log(Math.sqrt(T * T + 1) - T); b = (M - C) / e, y = function(S) { var R = S * b, A = n5(C), L = u / (r * x) * (A * cD(e * R + C) - lD(C)); return [ o + L * p, l + L * m, u * A / n5(e * R + C) ]; }; } return y.duration = b * 1e3 * e / Math.SQRT2, y; } return i.rho = function(a) { var s = Math.max(1e-3, +a), o = s * s, l = o * o; return t(s, o, l); }, i; }(Math.SQRT2, 2, 4); function J9(t) { return function(e, r) { var n = t((e = Uh(e)).h, (r = Uh(r)).h), i = Ar(e.s, r.s), a = Ar(e.l, r.l), s = Ar(e.opacity, r.opacity); return function(o) { return e.h = n(o), e.s = i(o), e.l = a(o), e.opacity = s(o), e + ""; }; }; } const uD = J9(_1); var hD = J9(Ar); function fD(t, e) { var r = Ar((t = Hh(t)).l, (e = Hh(e)).l), n = Ar(t.a, e.a), i = Ar(t.b, e.b), a = Ar(t.opacity, e.opacity); return function(s) { return t.l = r(s), t.a = n(s), t.b = i(s), t.opacity = a(s), t + ""; }; } function tT(t) { return function(e, r) { var n = t((e = Gh(e)).h, (r = Gh(r)).h), i = Ar(e.c, r.c), a = Ar(e.l, r.l), s = Ar(e.opacity, r.opacity); return function(o) { return e.h = n(o), e.c = i(o), e.l = a(o), e.opacity = s(o), e + ""; }; }; } const eT = tT(_1); var dD = tT(Ar); function rT(t) { return function e(r) { r = +r; function n(i, a) { var s = t((i = si(i)).h, (a = si(a)).h), o = Ar(i.s, a.s), l = Ar(i.l, a.l), u = Ar(i.opacity, a.opacity); return function(h) { return i.h = s(h), i.s = o(h), i.l = l(Math.pow(h, r)), i.opacity = u(h), i + ""; }; } return n.gamma = e, n; }(1); } const pD = rT(_1); var x1 = rT(Ar); function nT(t, e) { e === void 0 && (e = t, t = Ja); for (var r = 0, n = e.length - 1, i = e[0], a = new Array(n < 0 ? 0 : n); r < n; ) a[r] = t(i, i = e[++r]); return function(s) { var o = Math.max(0, Math.min(n - 1, Math.floor(s *= n))); return a[o](s - o); }; } function gD(t, e) { for (var r = new Array(e), n = 0; n < e; ++n) r[n] = t(n / (e - 1)); return r; } var Fo = 0, Pl = 0, wl = 0, iT = 1e3, jh, ql, $h = 0, Rs = 0, k1 = 0, xc = typeof performance == "object" && performance.now ? performance : Date, aT = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(t) { setTimeout(t, 17); }; function Zc() { return Rs || (aT(yD), Rs = xc.now() + k1); } function yD() { Rs = 0; } function kc() { this._call = this._time = this._next = null; } kc.prototype = w1.prototype = { constructor: kc, restart: function(t, e, r) { if (typeof t != "function") throw new TypeError("callback is not a function"); r = (r == null ? Zc() : +r) + (e == null ? 0 : +e), !this._next && ql !== this && (ql ? ql._next = this : jh = this, ql = this), this._call = t, this._time = r, Am(); }, stop: function() { this._call && (this._call = null, this._time = 1 / 0, Am()); } }; function w1(t, e, r) { var n = new kc(); return n.restart(t, e, r), n; } function sT() { Zc(), ++Fo; for (var t = jh, e; t; ) (e = Rs - t._time) >= 0 && t._call.call(void 0, e), t = t._next; --Fo; } function i5() { Rs = ($h = xc.now()) + k1, Fo = Pl = 0; try { sT(); } finally { Fo = 0, bD(), Rs = 0; } } function mD() { var t = xc.now(), e = t - $h; e > iT && (k1 -= e, $h = t); } function bD() { for (var t, e = jh, r, n = 1 / 0; e; ) e._call ? (n > e._time && (n = e._time), t = e, e = e._next) : (r = e._next, e._next = null, e = t ? t._next = r : jh = r); ql = t, Am(n); } function Am(t) { if (!Fo) { Pl && (Pl = clearTimeout(Pl)); var e = t - Rs; e > 24 ? (t < 1 / 0 && (Pl = setTimeout(i5, t - xc.now() - k1)), wl && (wl = clearInterval(wl))) : (wl || ($h = xc.now(), wl = setInterval(mD, iT)), Fo = 1, aT(i5)); } } function Mm(t, e, r) { var n = new kc(); return e = e == null ? 0 : +e, n.restart((i) => { n.stop(), t(i + e); }, e, r), n; } function _D(t, e, r) { var n = new kc(), i = e; return e == null ? (n.restart(t, e, r), n) : (n._restart = n.restart, n.restart = function(a, s, o) { s = +s, o = o == null ? Zc() : +o, n._restart(function l(u) { u += i, n._restart(l, i += s, o), a(u); }, s, o); }, n.restart(t, e, r), n); } var vD = Ws("start", "end", "cancel", "interrupt"), xD = [], oT = 0, Lm = 1, Rm = 2, yh = 3, a5 = 4, Im = 5, mh = 6; function T1(t, e, r, n, i, a) { var s = t.__transition; if (!s) t.__transition = {}; else if (r in s) return; kD(t, r, { name: e, index: n, group: i, on: vD, tween: xD, time: a.time, delay: a.delay, duration: a.duration, ease: a.ease, timer: null, state: oT }); } function f3(t, e) { var r = hi(t, e); if (r.state > oT) throw new Error("too late; already scheduled"); return r; } function Vi(t, e) { var r = hi(t, e); if (r.state > yh) throw new Error("too late; already running"); return r; } function hi(t, e) { var r = t.__transition; if (!r || !(r = r[e])) throw new Error("transition not found"); return r; } function kD(t, e, r) { var n = t.__transition, i; n[e] = r, r.timer = w1(a, 0, r.time); function a(u) { r.state = Lm, r.timer.restart(s, r.delay, r.time), r.delay <= u && s(u - r.delay); } function s(u) { var h, d, f, p; if (r.state !== Lm) return l(); for (h in n) if (p = n[h], p.name === r.name) { if (p.state === yh) return Mm(s); p.state === a5 ? (p.state = mh, p.timer.stop(), p.on.call("interrupt", t, t.__data__, p.index, p.group), delete n[h]) : +h < e && (p.state = mh, p.timer.stop(), p.on.call("cancel", t, t.__data__, p.index, p.group), delete n[h]); } if (Mm(function() { r.state === yh && (r.state = a5, r.timer.restart(o, r.delay, r.time), o(u)); }), r.state = Rm, r.on.call("start", t, t.__data__, r.index, r.group), r.state === Rm) { for (r.state = yh, i = new Array(f = r.tween.length), h = 0, d = -1; h < f; ++h) (p = r.tween[h].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = p); i.length = d + 1; } } function o(u) { for (var h = u < r.duration ? r.ease.call(null, u / r.duration) : (r.timer.restart(l), r.state = Im, 1), d = -1, f = i.length; ++d < f; ) i[d].call(t, h); r.state === Im && (r.on.call("end", t, t.__data__, r.index, r.group), l()); } function l() { r.state = mh, r.timer.stop(), delete n[e]; for (var u in n) return; delete t.__transition; } } function Es(t, e) { var r = t.__transition, n, i, a = !0, s; if (!!r) { e = e == null ? null : e + ""; for (s in r) { if ((n = r[s]).name !== e) { a = !1; continue; } i = n.state > Rm && n.state < Im, n.state = mh, n.timer.stop(), n.on.call(i ? "interrupt" : "cancel", t, t.__data__, n.index, n.group), delete r[s]; } a && delete t.__transition; } } function wD(t) { return this.each(function() { Es(this, t); }); } function TD(t, e) { var r, n; return function() { var i = Vi(this, t), a = i.tween; if (a !== r) { n = r = a; for (var s = 0, o = n.length; s < o; ++s) if (n[s].name === e) { n = n.slice(), n.splice(s, 1); break; } } i.tween = n; }; } function ED(t, e, r) { var n, i; if (typeof r != "function") throw new Error(); return function() { var a = Vi(this, t), s = a.tween; if (s !== n) { i = (n = s).slice(); for (var o = { name: e, value: r }, l = 0, u = i.length; l < u; ++l) if (i[l].name === e) { i[l] = o; break; } l === u && i.push(o); } a.tween = i; }; } function CD(t, e) { var r = this._id; if (t += "", arguments.length < 2) { for (var n = hi(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i) if ((s = n[i]).name === t) return s.value; return null; } return this.each((e == null ? TD : ED)(r, t, e)); } function d3(t, e, r) { var n = t._id; return t.each(function() { var i = Vi(this, n); (i.value || (i.value = {}))[e] = r.apply(this, arguments); }), function(i) { return hi(i, n).value[e]; }; } function lT(t, e) { var r; return (typeof e == "number" ? Dn : e instanceof Wa ? vc : (r = Wa(e)) ? (e = r, vc) : h3)(t, e); } function SD(t) { return function() { this.removeAttribute(t); }; } function AD(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function MD(t, e, r) { var n, i = r + "", a; return function() { var s = this.getAttribute(t); return s === i ? null : s === n ? a : a = e(n = s, r); }; } function LD(t, e, r) { var n, i = r + "", a; return function() { var s = this.getAttributeNS(t.space, t.local); return s === i ? null : s === n ? a : a = e(n = s, r); }; } function RD(t, e, r) { var n, i, a; return function() { var s, o = r(this), l; return o == null ? void this.removeAttribute(t) : (s = this.getAttribute(t), l = o + "", s === l ? null : s === n && l === i ? a : (i = l, a = e(n = s, o))); }; } function ID(t, e, r) { var n, i, a; return function() { var s, o = r(this), l; return o == null ? void this.removeAttributeNS(t.space, t.local) : (s = this.getAttributeNS(t.space, t.local), l = o + "", s === l ? null : s === n && l === i ? a : (i = l, a = e(n = s, o))); }; } function ND(t, e) { var r = Xc(t), n = r === "transform" ? Z9 : lT; return this.attrTween(t, typeof e == "function" ? (r.local ? ID : RD)(r, n, d3(this, "attr." + t, e)) : e == null ? (r.local ? AD : SD)(r) : (r.local ? LD : MD)(r, n, e)); } function BD(t, e) { return function(r) { this.setAttribute(t, e.call(this, r)); }; } function DD(t, e) { return function(r) { this.setAttributeNS(t.space, t.local, e.call(this, r)); }; } function OD(t, e) { var r, n; function i() { var a = e.apply(this, arguments); return a !== n && (r = (n = a) && DD(t, a)), r; } return i._value = e, i; } function FD(t, e) { var r, n; function i() { var a = e.apply(this, arguments); return a !== n && (r = (n = a) && BD(t, a)), r; } return i._value = e, i; } function PD(t, e) { var r = "attr." + t; if (arguments.length < 2) return (r = this.tween(r)) && r._value; if (e == null) return this.tween(r, null); if (typeof e != "function") throw new Error(); var n = Xc(t); return this.tween(r, (n.local ? OD : FD)(n, e)); } function qD(t, e) { return function() { f3(this, t).delay = +e.apply(this, arguments); }; } function VD(t, e) { return e = +e, function() { f3(this, t).delay = e; }; } function zD(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? qD : VD)(e, t)) : hi(this.node(), e).delay; } function YD(t, e) { return function() { Vi(this, t).duration = +e.apply(this, arguments); }; } function UD(t, e) { return e = +e, function() { Vi(this, t).duration = e; }; } function WD(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? YD : UD)(e, t)) : hi(this.node(), e).duration; } function HD(t, e) { if (typeof e != "function") throw new Error(); return function() { Vi(this, t).ease = e; }; } function GD(t) { var e = this._id; return arguments.length ? this.each(HD(e, t)) : hi(this.node(), e).ease; } function jD(t, e) { return function() { var r = e.apply(this, arguments); if (typeof r != "function") throw new Error(); Vi(this, t).ease = r; }; } function $D(t) { if (typeof t != "function") throw new Error(); return this.each(jD(this._id, t)); } function XD(t) { typeof t != "function" && (t = n3(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var a = e[i], s = a.length, o = n[i] = [], l, u = 0; u < s; ++u) (l = a[u]) && t.call(l, l.__data__, u, a) && o.push(l); return new Bi(n, this._parents, this._name, this._id); } function KD(t) { if (t._id !== this._id) throw new Error(); for (var e = this._groups, r = t._groups, n = e.length, i = r.length, a = Math.min(n, i), s = new Array(n), o = 0; o < a; ++o) for (var l = e[o], u = r[o], h = l.length, d = s[o] = new Array(h), f, p = 0; p < h; ++p) (f = l[p] || u[p]) && (d[p] = f); for (; o < n; ++o) s[o] = e[o]; return new Bi(s, this._parents, this._name, this._id); } function ZD(t) { return (t + "").trim().split(/^|\s+/).every(function(e) { var r = e.indexOf("."); return r >= 0 && (e = e.slice(0, r)), !e || e === "start"; }); } function QD(t, e, r) { var n, i, a = ZD(e) ? f3 : Vi; return function() { var s = a(this, t), o = s.on; o !== n && (i = (n = o).copy()).on(e, r), s.on = i; }; } function JD(t, e) { var r = this._id; return arguments.length < 2 ? hi(this.node(), r).on.on(t) : this.each(QD(r, t, e)); } function tO(t) { return function() { var e = this.parentNode; for (var r in this.__transition) if (+r !== t) return; e && e.removeChild(this); }; } function eO() { return this.on("end.remove", tO(this._id)); } function rO(t) { var e = this._name, r = this._id; typeof t != "function" && (t = d1(t)); for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s) for (var o = n[s], l = o.length, u = a[s] = new Array(l), h, d, f = 0; f < l; ++f) (h = o[f]) && (d = t.call(h, h.__data__, f, o)) && ("__data__" in h && (d.__data__ = h.__data__), u[f] = d, T1(u[f], e, r, f, u, hi(h, r))); return new Bi(a, this._parents, e, r); } function nO(t) { var e = this._name, r = this._id; typeof t != "function" && (t = r3(t)); for (var n = this._groups, i = n.length, a = [], s = [], o = 0; o < i; ++o) for (var l = n[o], u = l.length, h, d = 0; d < u; ++d) if (h = l[d]) { for (var f = t.call(h, h.__data__, d, l), p, m = hi(h, r), _ = 0, y = f.length; _ < y; ++_) (p = f[_]) && T1(p, e, r, _, f, m); a.push(f), s.push(h); } return new Bi(a, s, e, r); } var iO = Hs.prototype.constructor; function aO() { return new iO(this._groups, this._parents); } function sO(t, e) { var r, n, i; return function() { var a = Ms(this, t), s = (this.style.removeProperty(t), Ms(this, t)); return a === s ? null : a === r && s === n ? i : i = e(r = a, n = s); }; } function cT(t) { return function() { this.style.removeProperty(t); }; } function oO(t, e, r) { var n, i = r + "", a; return function() { var s = Ms(this, t); return s === i ? null : s === n ? a : a = e(n = s, r); }; } function lO(t, e, r) { var n, i, a; return function() { var s = Ms(this, t), o = r(this), l = o + ""; return o == null && (l = o = (this.style.removeProperty(t), Ms(this, t))), s === l ? null : s === n && l === i ? a : (i = l, a = e(n = s, o)); }; } function cO(t, e) { var r, n, i, a = "style." + e, s = "end." + a, o; return function() { var l = Vi(this, t), u = l.on, h = l.value[a] == null ? o || (o = cT(e)) : void 0; (u !== r || i !== h) && (n = (r = u).copy()).on(s, i = h), l.on = n; }; } function uO(t, e, r) { var n = (t += "") == "transform" ? K9 : lT; return e == null ? this.styleTween(t, sO(t, n)).on("end.style." + t, cT(t)) : typeof e == "function" ? this.styleTween(t, lO(t, n, d3(this, "style." + t, e))).each(cO(this._id, t)) : this.styleTween(t, oO(t, n, e), r).on("end.style." + t, null); } function hO(t, e, r) { return function(n) { this.style.setProperty(t, e.call(this, n), r); }; } function fO(t, e, r) { var n, i; function a() { var s = e.apply(this, arguments); return s !== i && (n = (i = s) && hO(t, s, r)), n; } return a._value = e, a; } function dO(t, e, r) { var n = "style." + (t += ""); if (arguments.length < 2) return (n = this.tween(n)) && n._value; if (e == null) return this.tween(n, null); if (typeof e != "function") throw new Error(); return this.tween(n, fO(t, e, r == null ? "" : r)); } function pO(t) { return function() { this.textContent = t; }; } function gO(t) { return function() { var e = t(this); this.textContent = e == null ? "" : e; }; } function yO(t) { return this.tween("text", typeof t == "function" ? gO(d3(this, "text", t)) : pO(t == null ? "" : t + "")); } function mO(t) { return function(e) { this.textContent = t.call(this, e); }; } function bO(t) { var e, r; function n() { var i = t.apply(this, arguments); return i !== r && (e = (r = i) && mO(i)), e; } return n._value = t, n; } function _O(t) { var e = "text"; if (arguments.length < 1) return (e = this.tween(e)) && e._value; if (t == null) return this.tween(e, null); if (typeof t != "function") throw new Error(); return this.tween(e, bO(t)); } function vO() { for (var t = this._name, e = this._id, r = hT(), n = this._groups, i = n.length, a = 0; a < i; ++a) for (var s = n[a], o = s.length, l, u = 0; u < o; ++u) if (l = s[u]) { var h = hi(l, e); T1(l, t, r, u, s, { time: h.time + h.delay + h.duration, delay: 0, duration: h.duration, ease: h.ease }); } return new Bi(n, this._parents, t, r); } function xO() { var t, e, r = this, n = r._id, i = r.size(); return new Promise(function(a, s) { var o = { value: s }, l = { value: function() { --i === 0 && a(); } }; r.each(function() { var u = Vi(this, n), h = u.on; h !== t && (e = (t = h).copy(), e._.cancel.push(o), e._.interrupt.push(o), e._.end.push(l)), u.on = e; }), i === 0 && a(); }); } var kO = 0; function Bi(t, e, r, n) { this._groups = t, this._parents = e, this._name = r, this._id = n; } function uT(t) { return Hs().transition(t); } function hT() { return ++kO; } var Zi = Hs.prototype; Bi.prototype = uT.prototype = { constructor: Bi, select: rO, selectAll: nO, selectChild: Zi.selectChild, selectChildren: Zi.selectChildren, filter: XD, merge: KD, selection: aO, transition: vO, call: Zi.call, nodes: Zi.nodes, node: Zi.node, size: Zi.size, empty: Zi.empty, each: Zi.each, on: JD, attr: ND, attrTween: PD, style: uO, styleTween: dO, text: yO, textTween: _O, remove: eO, tween: CD, delay: zD, duration: WD, ease: GD, easeVarying: $D, end: xO, [Symbol.iterator]: Zi[Symbol.iterator] }; const wO = (t) => +t; function TO(t) { return t * t; } function EO(t) { return t * (2 - t); } function s5(t) { return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2; } function CO(t) { return t * t * t; } function SO(t) { return --t * t * t + 1; } function Nm(t) { return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; } var p3 = 3, AO = function t(e) { e = +e; function r(n) { return Math.pow(n, e); } return r.exponent = t, r; }(p3), MO = function t(e) { e = +e; function r(n) { return 1 - Math.pow(1 - n, e); } return r.exponent = t, r; }(p3), o5 = function t(e) { e = +e; function r(n) { return ((n *= 2) <= 1 ? Math.pow(n, e) : 2 - Math.pow(2 - n, e)) / 2; } return r.exponent = t, r; }(p3), fT = Math.PI, dT = fT / 2; function LO(t) { return +t == 1 ? 1 : 1 - Math.cos(t * dT); } function RO(t) { return Math.sin(t * dT); } function l5(t) { return (1 - Math.cos(fT * t)) / 2; } function Ha(t) { return (Math.pow(2, -10 * t) - 9765625e-10) * 1.0009775171065494; } function IO(t) { return Ha(1 - +t); } function NO(t) { return 1 - Ha(t); } function c5(t) { return ((t *= 2) <= 1 ? Ha(1 - t) : 2 - Ha(t - 1)) / 2; } function BO(t) { return 1 - Math.sqrt(1 - t * t); } function DO(t) { return Math.sqrt(1 - --t * t); } function u5(t) { return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2; } var Bm = 4 / 11, OO = 6 / 11, FO = 8 / 11, PO = 3 / 4, qO = 9 / 11, VO = 10 / 11, zO = 15 / 16, YO = 21 / 22, UO = 63 / 64, Bu = 1 / Bm / Bm; function WO(t) { return 1 - wc(1 - t); } function wc(t) { return (t = +t) < Bm ? Bu * t * t : t < FO ? Bu * (t -= OO) * t + PO : t < VO ? Bu * (t -= qO) * t + zO : Bu * (t -= YO) * t + UO; } function HO(t) { return ((t *= 2) <= 1 ? 1 - wc(1 - t) : wc(t - 1) + 1) / 2; } var g3 = 1.70158, GO = function t(e) { e = +e; function r(n) { return (n = +n) * n * (e * (n - 1) + n); } return r.overshoot = t, r; }(g3), jO = function t(e) { e = +e; function r(n) { return --n * n * ((n + 1) * e + n) + 1; } return r.overshoot = t, r; }(g3), h5 = function t(e) { e = +e; function r(n) { return ((n *= 2) < 1 ? n * n * ((e + 1) * n - e) : (n -= 2) * n * ((e + 1) * n + e) + 2) / 2; } return r.overshoot = t, r; }(g3), Po = 2 * Math.PI, y3 = 1, m3 = 0.3, $O = function t(e, r) { var n = Math.asin(1 / (e = Math.max(1, e))) * (r /= Po); function i(a) { return e * Ha(- --a) * Math.sin((n - a) / r); } return i.amplitude = function(a) { return t(a, r * Po); }, i.period = function(a) { return t(e, a); }, i; }(y3, m3), f5 = function t(e, r) { var n = Math.asin(1 / (e = Math.max(1, e))) * (r /= Po); function i(a) { return 1 - e * Ha(a = +a) * Math.sin((a + n) / r); } return i.amplitude = function(a) { return t(a, r * Po); }, i.period = function(a) { return t(e, a); }, i; }(y3, m3), XO = function t(e, r) { var n = Math.asin(1 / (e = Math.max(1, e))) * (r /= Po); function i(a) { return ((a = a * 2 - 1) < 0 ? e * Ha(-a) * Math.sin((n - a) / r) : 2 - e * Ha(a) * Math.sin((n + a) / r)) / 2; } return i.amplitude = function(a) { return t(a, r * Po); }, i.period = function(a) { return t(e, a); }, i; }(y3, m3), KO = { time: null, delay: 0, duration: 250, ease: Nm }; function ZO(t, e) { for (var r; !(r = t.__transition) || !(r = r[e]); ) if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`); return r; } function QO(t) { var e, r; t instanceof Bi ? (e = t._id, t = t._name) : (e = hT(), (r = KO).time = Zc(), t = t == null ? null : t + ""); for (var n = this._groups, i = n.length, a = 0; a < i; ++a) for (var s = n[a], o = s.length, l, u = 0; u < o; ++u) (l = s[u]) && T1(l, t, e, u, s, r || ZO(l, e)); return new Bi(n, this._parents, t, e); } Hs.prototype.interrupt = wD; Hs.prototype.transition = QO; var JO = [null]; function tF(t, e) { var r = t.__transition, n, i; if (r) { e = e == null ? null : e + ""; for (i in r) if ((n = r[i]).state > Lm && n.name === e) return new Bi([[t]], JO, e, +i); } return null; } const $0 = (t) => () => t; function eF(t, { sourceEvent: e, target: r, selection: n, mode: i, dispatch: a }) { Object.defineProperties(this, { type: { value: t, enumerable: !0, configurable: !0 }, sourceEvent: { value: e, enumerable: !0, configurable: !0 }, target: { value: r, enumerable: !0, configurable: !0 }, selection: { value: n, enumerable: !0, configurable: !0 }, mode: { value: i, enumerable: !0, configurable: !0 }, _: { value: a } }); } function rF(t) { t.stopImmediatePropagation(); } function X0(t) { t.preventDefault(), t.stopImmediatePropagation(); } var d5 = { name: "drag" }, K0 = { name: "space" }, oo = { name: "handle" }, lo = { name: "center" }; const { abs: p5, max: Pr, min: qr } = Math; function g5(t) { return [+t[0], +t[1]]; } function Dm(t) { return [g5(t[0]), g5(t[1])]; } var bh = { name: "x", handles: ["w", "e"].map(Tc), input: function(t, e) { return t == null ? null : [[+t[0], e[0][1]], [+t[1], e[1][1]]]; }, output: function(t) { return t && [t[0][0], t[1][0]]; } }, _h = { name: "y", handles: ["n", "s"].map(Tc), input: function(t, e) { return t == null ? null : [[e[0][0], +t[0]], [e[1][0], +t[1]]]; }, output: function(t) { return t && [t[0][1], t[1][1]]; } }, nF = { name: "xy", handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(Tc), input: function(t) { return t == null ? null : Dm(t); }, output: function(t) { return t; } }, Qi = { overlay: "crosshair", selection: "move", n: "ns-resize", e: "ew-resize", s: "ns-resize", w: "ew-resize", nw: "nwse-resize", ne: "nesw-resize", se: "nwse-resize", sw: "nesw-resize" }, y5 = { e: "w", w: "e", nw: "ne", ne: "nw", se: "sw", sw: "se" }, m5 = { n: "s", s: "n", nw: "sw", ne: "se", se: "ne", sw: "nw" }, iF = { overlay: 1, selection: 1, n: null, e: 1, s: null, w: -1, nw: -1, ne: 1, se: 1, sw: -1 }, aF = { overlay: 1, selection: 1, n: -1, e: null, s: 1, w: null, nw: -1, ne: -1, se: 1, sw: 1 }; function Tc(t) { return { type: t }; } function sF(t) { return !t.ctrlKey && !t.button; } function oF() { var t = this.ownerSVGElement || this; return t.hasAttribute("viewBox") ? (t = t.viewBox.baseVal, [[t.x, t.y], [t.x + t.width, t.y + t.height]]) : [[0, 0], [t.width.baseVal.value, t.height.baseVal.value]]; } function lF() { return navigator.maxTouchPoints || "ontouchstart" in this; } function Z0(t) { for (; !t.__brush; ) if (!(t = t.parentNode)) return; return t.__brush; } function cF(t) { return t[0][0] === t[1][0] || t[0][1] === t[1][1]; } function uF(t) { var e = t.__brush; return e ? e.dim.output(e.selection) : null; } function hF() { return b3(bh); } function fF() { return b3(_h); } function dF() { return b3(nF); } function b3(t) { var e = oF, r = sF, n = lF, i = !0, a = Ws("start", "brush", "end"), s = 6, o; function l(y) { var b = y.property("__brush", _).selectAll(".overlay").data([Tc("overlay")]); b.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", Qi.overlay).merge(b).each(function() { var k = Z0(this).extent; St(this).attr("x", k[0][0]).attr("y", k[0][1]).attr("width", k[1][0] - k[0][0]).attr("height", k[1][1] - k[0][1]); }), y.selectAll(".selection").data([Tc("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", Qi.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); var x = y.selectAll(".handle").data(t.handles, function(k) { return k.type; }); x.exit().remove(), x.enter().append("rect").attr("class", function(k) { return "handle handle--" + k.type; }).attr("cursor", function(k) { return Qi[k.type]; }), y.each(u).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", f).filter(n).on("touchstart.brush", f).on("touchmove.brush", p).on("touchend.brush touchcancel.brush", m).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); } l.move = function(y, b, x) { y.tween ? y.on("start.brush", function(k) { h(this, arguments).beforestart().start(k); }).on("interrupt.brush end.brush", function(k) { h(this, arguments).end(k); }).tween("brush", function() { var k = this, T = k.__brush, C = h(k, arguments), M = T.selection, S = t.input(typeof b == "function" ? b.apply(this, arguments) : b, T.extent), R = Ja(M, S); function A(L) { T.selection = L === 1 && S === null ? null : R(L), u.call(k), C.brush(); } return M !== null && S !== null ? A : A(1); }) : y.each(function() { var k = this, T = arguments, C = k.__brush, M = t.input(typeof b == "function" ? b.apply(k, T) : b, C.extent), S = h(k, T).beforestart(); Es(k), C.selection = M === null ? null : M, u.call(k), S.start(x).brush(x).end(x); }); }, l.clear = function(y, b) { l.move(y, null, b); }; function u() { var y = St(this), b = Z0(this).selection; b ? (y.selectAll(".selection").style("display", null).attr("x", b[0][0]).attr("y", b[0][1]).attr("width", b[1][0] - b[0][0]).attr("height", b[1][1] - b[0][1]), y.selectAll(".handle").style("display", null).attr("x", function(x) { return x.type[x.type.length - 1] === "e" ? b[1][0] - s / 2 : b[0][0] - s / 2; }).attr("y", function(x) { return x.type[0] === "s" ? b[1][1] - s / 2 : b[0][1] - s / 2; }).attr("width", function(x) { return x.type === "n" || x.type === "s" ? b[1][0] - b[0][0] + s : s; }).attr("height", function(x) { return x.type === "e" || x.type === "w" ? b[1][1] - b[0][1] + s : s; })) : y.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); } function h(y, b, x) { var k = y.__brush.emitter; return k && (!x || !k.clean) ? k : new d(y, b, x); } function d(y, b, x) { this.that = y, this.args = b, this.state = y.__brush, this.active = 0, this.clean = x; } d.prototype = { beforestart: function() { return ++this.active === 1 && (this.state.emitter = this, this.starting = !0), this; }, start: function(y, b) { return this.starting ? (this.starting = !1, this.emit("start", y, b)) : this.emit("brush", y), this; }, brush: function(y, b) { return this.emit("brush", y, b), this; }, end: function(y, b) { return --this.active === 0 && (delete this.state.emitter, this.emit("end", y, b)), this; }, emit: function(y, b, x) { var k = St(this.that).datum(); a.call( y, this.that, new eF(y, { sourceEvent: b, target: l, selection: t.output(this.state.selection), mode: x, dispatch: a }), k ); } }; function f(y) { if (o && !y.touches || !r.apply(this, arguments)) return; var b = this, x = y.target.__data__.type, k = (i && y.metaKey ? x = "overlay" : x) === "selection" ? d5 : i && y.altKey ? lo : oo, T = t === _h ? null : iF[x], C = t === bh ? null : aF[x], M = Z0(b), S = M.extent, R = M.selection, A = S[0][0], L, v, B = S[0][1], w, D, N = S[1][0], z, X, ct = S[1][1], J, Y, $ = 0, lt = 0, ut, W = T && C && i && y.shiftKey, tt, K, it = Array.from(y.touches || [y], (at) => { const It = at.identifier; return at = Cn(at, b), at.point0 = at.slice(), at.identifier = It, at; }); Es(b); var Z = h(b, arguments, !0).beforestart(); if (x === "overlay") { R && (ut = !0); const at = [it[0], it[1] || it[0]]; M.selection = R = [[ L = t === _h ? A : qr(at[0][0], at[1][0]), w = t === bh ? B : qr(at[0][1], at[1][1]) ], [ z = t === _h ? N : Pr(at[0][0], at[1][0]), J = t === bh ? ct : Pr(at[0][1], at[1][1]) ]], it.length > 1 && F(y); } else L = R[0][0], w = R[0][1], z = R[1][0], J = R[1][1]; v = L, D = w, X = z, Y = J; var V = St(b).attr("pointer-events", "none"), Q = V.selectAll(".overlay").attr("cursor", Qi[x]); if (y.touches) Z.moved = U, Z.ended = j; else { var q = St(y.view).on("mousemove.brush", U, !0).on("mouseup.brush", j, !0); i && q.on("keydown.brush", P, !0).on("keyup.brush", et, !0), g1(y.view); } u.call(b), Z.start(y, k.name); function U(at) { for (const It of at.changedTouches || [at]) for (const Lt of it) Lt.identifier === It.identifier && (Lt.cur = Cn(It, b)); if (W && !tt && !K && it.length === 1) { const It = it[0]; p5(It.cur[0] - It[0]) > p5(It.cur[1] - It[1]) ? K = !0 : tt = !0; } for (const It of it) It.cur && (It[0] = It.cur[0], It[1] = It.cur[1]); ut = !0, X0(at), F(at); } function F(at) { const It = it[0], Lt = It.point0; var Rt; switch ($ = It[0] - Lt[0], lt = It[1] - Lt[1], k) { case K0: case d5: { T && ($ = Pr(A - L, qr(N - z, $)), v = L + $, X = z + $), C && (lt = Pr(B - w, qr(ct - J, lt)), D = w + lt, Y = J + lt); break; } case oo: { it[1] ? (T && (v = Pr(A, qr(N, it[0][0])), X = Pr(A, qr(N, it[1][0])), T = 1), C && (D = Pr(B, qr(ct, it[0][1])), Y = Pr(B, qr(ct, it[1][1])), C = 1)) : (T < 0 ? ($ = Pr(A - L, qr(N - L, $)), v = L + $, X = z) : T > 0 && ($ = Pr(A - z, qr(N - z, $)), v = L, X = z + $), C < 0 ? (lt = Pr(B - w, qr(ct - w, lt)), D = w + lt, Y = J) : C > 0 && (lt = Pr(B - J, qr(ct - J, lt)), D = w, Y = J + lt)); break; } case lo: { T && (v = Pr(A, qr(N, L - $ * T)), X = Pr(A, qr(N, z + $ * T))), C && (D = Pr(B, qr(ct, w - lt * C)), Y = Pr(B, qr(ct, J + lt * C))); break; } } X < v && (T *= -1, Rt = L, L = z, z = Rt, Rt = v, v = X, X = Rt, x in y5 && Q.attr("cursor", Qi[x = y5[x]])), Y < D && (C *= -1, Rt = w, w = J, J = Rt, Rt = D, D = Y, Y = Rt, x in m5 && Q.attr("cursor", Qi[x = m5[x]])), M.selection && (R = M.selection), tt && (v = R[0][0], X = R[1][0]), K && (D = R[0][1], Y = R[1][1]), (R[0][0] !== v || R[0][1] !== D || R[1][0] !== X || R[1][1] !== Y) && (M.selection = [[v, D], [X, Y]], u.call(b), Z.brush(at, k.name)); } function j(at) { if (rF(at), at.touches) { if (at.touches.length) return; o && clearTimeout(o), o = setTimeout(function() { o = null; }, 500); } else y1(at.view, ut), q.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); V.attr("pointer-events", "all"), Q.attr("cursor", Qi.overlay), M.selection && (R = M.selection), cF(R) && (M.selection = null, u.call(b)), Z.end(at, k.name); } function P(at) { switch (at.keyCode) { case 16: { W = T && C; break; } case 18: { k === oo && (T && (z = X - $ * T, L = v + $ * T), C && (J = Y - lt * C, w = D + lt * C), k = lo, F(at)); break; } case 32: { (k === oo || k === lo) && (T < 0 ? z = X - $ : T > 0 && (L = v - $), C < 0 ? J = Y - lt : C > 0 && (w = D - lt), k = K0, Q.attr("cursor", Qi.selection), F(at)); break; } default: return; } X0(at); } function et(at) { switch (at.keyCode) { case 16: { W && (tt = K = W = !1, F(at)); break; } case 18: { k === lo && (T < 0 ? z = X : T > 0 && (L = v), C < 0 ? J = Y : C > 0 && (w = D), k = oo, F(at)); break; } case 32: { k === K0 && (at.altKey ? (T && (z = X - $ * T, L = v + $ * T), C && (J = Y - lt * C, w = D + lt * C), k = lo) : (T < 0 ? z = X : T > 0 && (L = v), C < 0 ? J = Y : C > 0 && (w = D), k = oo), Q.attr("cursor", Qi[x]), F(at)); break; } default: return; } X0(at); } } function p(y) { h(this, arguments).moved(y); } function m(y) { h(this, arguments).ended(y); } function _() { var y = this.__brush || { selection: null }; return y.extent = Dm(e.apply(this, arguments)), y.dim = t, y; } return l.extent = function(y) { return arguments.length ? (e = typeof y == "function" ? y : $0(Dm(y)), l) : e; }, l.filter = function(y) { return arguments.length ? (r = typeof y == "function" ? y : $0(!!y), l) : r; }, l.touchable = function(y) { return arguments.length ? (n = typeof y == "function" ? y : $0(!!y), l) : n; }, l.handleSize = function(y) { return arguments.length ? (s = +y, l) : s; }, l.keyModifiers = function(y) { return arguments.length ? (i = !!y, l) : i; }, l.on = function() { var y = a.on.apply(a, arguments); return y === a ? l : y; }, l; } var b5 = Math.abs, co = Math.cos, uo = Math.sin, pT = Math.PI, Du = pT / 2, _5 = pT * 2, v5 = Math.max, Q0 = 1e-12; function J0(t, e) { return Array.from({ length: e - t }, (r, n) => t + n); } function pF(t) { return function(e, r) { return t( e.source.value + e.target.value, r.source.value + r.target.value ); }; } function gF() { return _3(!1, !1); } function yF() { return _3(!1, !0); } function mF() { return _3(!0, !1); } function _3(t, e) { var r = 0, n = null, i = null, a = null; function s(o) { var l = o.length, u = new Array(l), h = J0(0, l), d = new Array(l * l), f = new Array(l), p = 0, m; o = Float64Array.from({ length: l * l }, e ? (_, y) => o[y % l][y / l | 0] : (_, y) => o[y / l | 0][y % l]); for (let _ = 0; _ < l; ++_) { let y = 0; for (let b = 0; b < l; ++b) y += o[_ * l + b] + t * o[b * l + _]; p += u[_] = y; } p = v5(0, _5 - r * l) / p, m = p ? r : _5 / l; { let _ = 0; n && h.sort((y, b) => n(u[y], u[b])); for (const y of h) { const b = _; if (t) { const x = J0(~l + 1, l).filter((k) => k < 0 ? o[~k * l + y] : o[y * l + k]); i && x.sort((k, T) => i(k < 0 ? -o[~k * l + y] : o[y * l + k], T < 0 ? -o[~T * l + y] : o[y * l + T])); for (const k of x) if (k < 0) { const T = d[~k * l + y] || (d[~k * l + y] = { source: null, target: null }); T.target = { index: y, startAngle: _, endAngle: _ += o[~k * l + y] * p, value: o[~k * l + y] }; } else { const T = d[y * l + k] || (d[y * l + k] = { source: null, target: null }); T.source = { index: y, startAngle: _, endAngle: _ += o[y * l + k] * p, value: o[y * l + k] }; } f[y] = { index: y, startAngle: b, endAngle: _, value: u[y] }; } else { const x = J0(0, l).filter((k) => o[y * l + k] || o[k * l + y]); i && x.sort((k, T) => i(o[y * l + k], o[y * l + T])); for (const k of x) { let T; if (y < k ? (T = d[y * l + k] || (d[y * l + k] = { source: null, target: null }), T.source = { index: y, startAngle: _, endAngle: _ += o[y * l + k] * p, value: o[y * l + k] }) : (T = d[k * l + y] || (d[k * l + y] = { source: null, target: null }), T.target = { index: y, startAngle: _, endAngle: _ += o[y * l + k] * p, value: o[y * l + k] }, y === k && (T.source = T.target)), T.source && T.target && T.source.value < T.target.value) { const C = T.source; T.source = T.target, T.target = C; } } f[y] = { index: y, startAngle: b, endAngle: _, value: u[y] }; } _ += m; } } return d = Object.values(d), d.groups = f, a ? d.sort(a) : d; } return s.padAngle = function(o) { return arguments.length ? (r = v5(0, o), s) : r; }, s.sortGroups = function(o) { return arguments.length ? (n = o, s) : n; }, s.sortSubgroups = function(o) { return arguments.length ? (i = o, s) : i; }, s.sortChords = function(o) { return arguments.length ? (o == null ? a = null : (a = pF(o))._ = o, s) : a && a._; }, s; } const Om = Math.PI, Fm = 2 * Om, ys = 1e-6, bF = Fm - ys; function Pm() { this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = ""; } function ts() { return new Pm(); } Pm.prototype = ts.prototype = { constructor: Pm, moveTo: function(t, e) { this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e); }, closePath: function() { this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z"); }, lineTo: function(t, e) { this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +e); }, quadraticCurveTo: function(t, e, r, n) { this._ += "Q" + +t + "," + +e + "," + (this._x1 = +r) + "," + (this._y1 = +n); }, bezierCurveTo: function(t, e, r, n, i, a) { this._ += "C" + +t + "," + +e + "," + +r + "," + +n + "," + (this._x1 = +i) + "," + (this._y1 = +a); }, arcTo: function(t, e, r, n, i) { t = +t, e = +e, r = +r, n = +n, i = +i; var a = this._x1, s = this._y1, o = r - t, l = n - e, u = a - t, h = s - e, d = u * u + h * h; if (i < 0) throw new Error("negative radius: " + i); if (this._x1 === null) this._ += "M" + (this._x1 = t) + "," + (this._y1 = e); else if (d > ys) if (!(Math.abs(h * o - l * u) > ys) || !i) this._ += "L" + (this._x1 = t) + "," + (this._y1 = e); else { var f = r - a, p = n - s, m = o * o + l * l, _ = f * f + p * p, y = Math.sqrt(m), b = Math.sqrt(d), x = i * Math.tan((Om - Math.acos((m + d - _) / (2 * y * b))) / 2), k = x / b, T = x / y; Math.abs(k - 1) > ys && (this._ += "L" + (t + k * u) + "," + (e + k * h)), this._ += "A" + i + "," + i + ",0,0," + +(h * f > u * p) + "," + (this._x1 = t + T * o) + "," + (this._y1 = e + T * l); } }, arc: function(t, e, r, n, i, a) { t = +t, e = +e, r = +r, a = !!a; var s = r * Math.cos(n), o = r * Math.sin(n), l = t + s, u = e + o, h = 1 ^ a, d = a ? n - i : i - n; if (r < 0) throw new Error("negative radius: " + r); this._x1 === null ? this._ += "M" + l + "," + u : (Math.abs(this._x1 - l) > ys || Math.abs(this._y1 - u) > ys) && (this._ += "L" + l + "," + u), r && (d < 0 && (d = d % Fm + Fm), d > bF ? this._ += "A" + r + "," + r + ",0,1," + h + "," + (t - s) + "," + (e - o) + "A" + r + "," + r + ",0,1," + h + "," + (this._x1 = l) + "," + (this._y1 = u) : d > ys && (this._ += "A" + r + "," + r + ",0," + +(d >= Om) + "," + h + "," + (this._x1 = t + r * Math.cos(i)) + "," + (this._y1 = e + r * Math.sin(i)))); }, rect: function(t, e, r, n) { this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + "h" + +r + "v" + +n + "h" + -r + "Z"; }, toString: function() { return this._; } }; var _F = Array.prototype.slice; function ds(t) { return function() { return t; }; } function vF(t) { return t.source; } function xF(t) { return t.target; } function x5(t) { return t.radius; } function kF(t) { return t.startAngle; } function wF(t) { return t.endAngle; } function TF() { return 0; } function EF() { return 10; } function gT(t) { var e = vF, r = xF, n = x5, i = x5, a = kF, s = wF, o = TF, l = null; function u() { var h, d = e.apply(this, arguments), f = r.apply(this, arguments), p = o.apply(this, arguments) / 2, m = _F.call(arguments), _ = +n.apply(this, (m[0] = d, m)), y = a.apply(this, m) - Du, b = s.apply(this, m) - Du, x = +i.apply(this, (m[0] = f, m)), k = a.apply(this, m) - Du, T = s.apply(this, m) - Du; if (l || (l = h = ts()), p > Q0 && (b5(b - y) > p * 2 + Q0 ? b > y ? (y += p, b -= p) : (y -= p, b += p) : y = b = (y + b) / 2, b5(T - k) > p * 2 + Q0 ? T > k ? (k += p, T -= p) : (k -= p, T += p) : k = T = (k + T) / 2), l.moveTo(_ * co(y), _ * uo(y)), l.arc(0, 0, _, y, b), y !== k || b !== T) if (t) { var C = +t.apply(this, arguments), M = x - C, S = (k + T) / 2; l.quadraticCurveTo(0, 0, M * co(k), M * uo(k)), l.lineTo(x * co(S), x * uo(S)), l.lineTo(M * co(T), M * uo(T)); } else l.quadraticCurveTo(0, 0, x * co(k), x * uo(k)), l.arc(0, 0, x, k, T); if (l.quadraticCurveTo(0, 0, _ * co(y), _ * uo(y)), l.closePath(), h) return l = null, h + "" || null; } return t && (u.headRadius = function(h) { return arguments.length ? (t = typeof h == "function" ? h : ds(+h), u) : t; }), u.radius = function(h) { return arguments.length ? (n = i = typeof h == "function" ? h : ds(+h), u) : n; }, u.sourceRadius = function(h) { return arguments.length ? (n = typeof h == "function" ? h : ds(+h), u) : n; }, u.targetRadius = function(h) { return arguments.length ? (i = typeof h == "function" ? h : ds(+h), u) : i; }, u.startAngle = function(h) { return arguments.length ? (a = typeof h == "function" ? h : ds(+h), u) : a; }, u.endAngle = function(h) { return arguments.length ? (s = typeof h == "function" ? h : ds(+h), u) : s; }, u.padAngle = function(h) { return arguments.length ? (o = typeof h == "function" ? h : ds(+h), u) : o; }, u.source = function(h) { return arguments.length ? (e = h, u) : e; }, u.target = function(h) { return arguments.length ? (r = h, u) : r; }, u.context = function(h) { return arguments.length ? (l = h == null ? null : h, u) : l; }, u; } function CF() { return gT(); } function SF() { return gT(EF); } var AF = Array.prototype, yT = AF.slice; function MF(t, e) { return t - e; } function LF(t) { for (var e = 0, r = t.length, n = t[r - 1][1] * t[0][0] - t[r - 1][0] * t[0][1]; ++e < r; ) n += t[e - 1][1] * t[e][0] - t[e - 1][0] * t[e][1]; return n; } const Ma = (t) => () => t; function RF(t, e) { for (var r = -1, n = e.length, i; ++r < n; ) if (i = IF(t, e[r])) return i; return 0; } function IF(t, e) { for (var r = e[0], n = e[1], i = -1, a = 0, s = t.length, o = s - 1; a < s; o = a++) { var l = t[a], u = l[0], h = l[1], d = t[o], f = d[0], p = d[1]; if (NF(l, d, e)) return 0; h > n != p > n && r < (f - u) * (n - h) / (p - h) + u && (i = -i); } return i; } function NF(t, e, r) { var n; return BF(t, e, r) && DF(t[n = +(t[0] === e[0])], r[n], e[n]); } function BF(t, e, r) { return (e[0] - t[0]) * (r[1] - t[1]) === (r[0] - t[0]) * (e[1] - t[1]); } function DF(t, e, r) { return t <= e && e <= r || r <= e && e <= t; } function OF() { } var Ji = [ [], [[[1, 1.5], [0.5, 1]]], [[[1.5, 1], [1, 1.5]]], [[[1.5, 1], [0.5, 1]]], [[[1, 0.5], [1.5, 1]]], [[[1, 1.5], [0.5, 1]], [[1, 0.5], [1.5, 1]]], [[[1, 0.5], [1, 1.5]]], [[[1, 0.5], [0.5, 1]]], [[[0.5, 1], [1, 0.5]]], [[[1, 1.5], [1, 0.5]]], [[[0.5, 1], [1, 0.5]], [[1.5, 1], [1, 1.5]]], [[[1.5, 1], [1, 0.5]]], [[[0.5, 1], [1.5, 1]]], [[[1, 1.5], [1.5, 1]]], [[[0.5, 1], [1, 1.5]]], [] ]; function qm() { var t = 1, e = 1, r = Qb, n = l; function i(u) { var h = r(u); if (Array.isArray(h)) h = h.slice().sort(MF); else { const d = Ql(u), f = pc(d[0], d[1], h); h = As(Math.floor(d[0] / f) * f, Math.floor(d[1] / f - 1) * f, h); } return h.map((d) => a(u, d)); } function a(u, h) { var d = [], f = []; return s(u, h, function(p) { n(p, u, h), LF(p) > 0 ? d.push([p]) : f.push(p); }), f.forEach(function(p) { for (var m = 0, _ = d.length, y; m < _; ++m) if (RF((y = d[m])[0], p) !== -1) { y.push(p); return; } }), { type: "MultiPolygon", value: h, coordinates: d }; } function s(u, h, d) { var f = new Array(), p = new Array(), m, _, y, b, x, k; for (m = _ = -1, b = u[0] >= h, Ji[b << 1].forEach(T); ++m < t - 1; ) y = b, b = u[m + 1] >= h, Ji[y | b << 1].forEach(T); for (Ji[b << 0].forEach(T); ++_ < e - 1; ) { for (m = -1, b = u[_ * t + t] >= h, x = u[_ * t] >= h, Ji[b << 1 | x << 2].forEach(T); ++m < t - 1; ) y = b, b = u[_ * t + t + m + 1] >= h, k = x, x = u[_ * t + m + 1] >= h, Ji[y | b << 1 | x << 2 | k << 3].forEach(T); Ji[b | x << 3].forEach(T); } for (m = -1, x = u[_ * t] >= h, Ji[x << 2].forEach(T); ++m < t - 1; ) k = x, x = u[_ * t + m + 1] >= h, Ji[x << 2 | k << 3].forEach(T); Ji[x << 3].forEach(T); function T(C) { var M = [C[0][0] + m, C[0][1] + _], S = [C[1][0] + m, C[1][1] + _], R = o(M), A = o(S), L, v; (L = p[R]) ? (v = f[A]) ? (delete p[L.end], delete f[v.start], L === v ? (L.ring.push(S), d(L.ring)) : f[L.start] = p[v.end] = { start: L.start, end: v.end, ring: L.ring.concat(v.ring) }) : (delete p[L.end], L.ring.push(S), p[L.end = A] = L) : (L = f[A]) ? (v = p[R]) ? (delete f[L.start], delete p[v.end], L === v ? (L.ring.push(S), d(L.ring)) : f[v.start] = p[L.end] = { start: v.start, end: L.end, ring: v.ring.concat(L.ring) }) : (delete f[L.start], L.ring.unshift(M), f[L.start = R] = L) : f[R] = p[A] = { start: R, end: A, ring: [M, S] }; } } function o(u) { return u[0] * 2 + u[1] * (t + 1) * 4; } function l(u, h, d) { u.forEach(function(f) { var p = f[0], m = f[1], _ = p | 0, y = m | 0, b, x = h[y * t + _]; p > 0 && p < t && _ === p && (b = h[y * t + _ - 1], f[0] = p + (d - b) / (x - b) - 0.5), m > 0 && m < e && y === m && (b = h[(y - 1) * t + _], f[1] = m + (d - b) / (x - b) - 0.5); }); } return i.contour = a, i.size = function(u) { if (!arguments.length) return [t, e]; var h = Math.floor(u[0]), d = Math.floor(u[1]); if (!(h >= 0 && d >= 0)) throw new Error("invalid size"); return t = h, e = d, i; }, i.thresholds = function(u) { return arguments.length ? (r = typeof u == "function" ? u : Array.isArray(u) ? Ma(yT.call(u)) : Ma(u), i) : r; }, i.smooth = function(u) { return arguments.length ? (n = u ? l : OF, i) : n === l; }, i; } function FF(t) { return t[0]; } function PF(t) { return t[1]; } function qF() { return 1; } function VF() { var t = FF, e = PF, r = qF, n = 960, i = 500, a = 20, s = 2, o = a * 3, l = n + o * 2 >> s, u = i + o * 2 >> s, h = Ma(20); function d(x) { var k = new Float32Array(l * u), T = Math.pow(2, -s), C = -1; for (const w of x) { var M = (t(w, ++C, x) + o) * T, S = (e(w, C, x) + o) * T, R = +r(w, C, x); if (M >= 0 && M < l && S >= 0 && S < u) { var A = Math.floor(M), L = Math.floor(S), v = M - A - 0.5, B = S - L - 0.5; k[A + L * l] += (1 - v) * (1 - B) * R, k[A + 1 + L * l] += v * (1 - B) * R, k[A + 1 + (L + 1) * l] += v * B * R, k[A + (L + 1) * l] += (1 - v) * B * R; } } return Gw({ data: k, width: l, height: u }, a * T), k; } function f(x) { var k = d(x), T = h(k), C = Math.pow(2, 2 * s); return Array.isArray(T) || (T = As(Number.MIN_VALUE, Bo(k) / C, T)), qm().size([l, u]).thresholds(T.map((M) => M * C))(k).map((M, S) => (M.value = +T[S], p(M))); } f.contours = function(x) { var k = d(x), T = qm().size([l, u]), C = Math.pow(2, 2 * s), M = (S) => { S = +S; var R = p(T.contour(k, S * C)); return R.value = S, R; }; return Object.defineProperty(M, "max", { get: () => Bo(k) / C }), M; }; function p(x) { return x.coordinates.forEach(m), x; } function m(x) { x.forEach(_); } function _(x) { x.forEach(y); } function y(x) { x[0] = x[0] * Math.pow(2, s) - o, x[1] = x[1] * Math.pow(2, s) - o; } function b() { return o = a * 3, l = n + o * 2 >> s, u = i + o * 2 >> s, f; } return f.x = function(x) { return arguments.length ? (t = typeof x == "function" ? x : Ma(+x), f) : t; }, f.y = function(x) { return arguments.length ? (e = typeof x == "function" ? x : Ma(+x), f) : e; }, f.weight = function(x) { return arguments.length ? (r = typeof x == "function" ? x : Ma(+x), f) : r; }, f.size = function(x) { if (!arguments.length) return [n, i]; var k = +x[0], T = +x[1]; if (!(k >= 0 && T >= 0)) throw new Error("invalid size"); return n = k, i = T, b(); }, f.cellSize = function(x) { if (!arguments.length) return 1 << s; if (!((x = +x) >= 1)) throw new Error("invalid cell size"); return s = Math.floor(Math.log(x) / Math.LN2), b(); }, f.thresholds = function(x) { return arguments.length ? (h = typeof x == "function" ? x : Array.isArray(x) ? Ma(yT.call(x)) : Ma(x), f) : h; }, f.bandwidth = function(x) { if (!arguments.length) return Math.sqrt(a * (a + 1)); if (!((x = +x) >= 0)) throw new Error("invalid bandwidth"); return a = (Math.sqrt(4 * x * x + 1) - 1) / 2, b(); }, f; } const da = 11102230246251565e-32, Vr = 134217729, zF = (3 + 8 * da) * da; function td(t, e, r, n, i) { let a, s, o, l, u = e[0], h = n[0], d = 0, f = 0; h > u == h > -u ? (a = u, u = e[++d]) : (a = h, h = n[++f]); let p = 0; if (d < t && f < r) for (h > u == h > -u ? (s = u + a, o = a - (s - u), u = e[++d]) : (s = h + a, o = a - (s - h), h = n[++f]), a = s, o !== 0 && (i[p++] = o); d < t && f < r; ) h > u == h > -u ? (s = a + u, l = s - a, o = a - (s - l) + (u - l), u = e[++d]) : (s = a + h, l = s - a, o = a - (s - l) + (h - l), h = n[++f]), a = s, o !== 0 && (i[p++] = o); for (; d < t; ) s = a + u, l = s - a, o = a - (s - l) + (u - l), u = e[++d], a = s, o !== 0 && (i[p++] = o); for (; f < r; ) s = a + h, l = s - a, o = a - (s - l) + (h - l), h = n[++f], a = s, o !== 0 && (i[p++] = o); return (a !== 0 || p === 0) && (i[p++] = a), p; } function YF(t, e) { let r = e[0]; for (let n = 1; n < t; n++) r += e[n]; return r; } function Qc(t) { return new Float64Array(t); } const UF = (3 + 16 * da) * da, WF = (2 + 12 * da) * da, HF = (9 + 64 * da) * da * da, ho = Qc(4), k5 = Qc(8), w5 = Qc(12), T5 = Qc(16), $r = Qc(4); function GF(t, e, r, n, i, a, s) { let o, l, u, h, d, f, p, m, _, y, b, x, k, T, C, M, S, R; const A = t - i, L = r - i, v = e - a, B = n - a; T = A * B, f = Vr * A, p = f - (f - A), m = A - p, f = Vr * B, _ = f - (f - B), y = B - _, C = m * y - (T - p * _ - m * _ - p * y), M = v * L, f = Vr * v, p = f - (f - v), m = v - p, f = Vr * L, _ = f - (f - L), y = L - _, S = m * y - (M - p * _ - m * _ - p * y), b = C - S, d = C - b, ho[0] = C - (b + d) + (d - S), x = T + b, d = x - T, k = T - (x - d) + (b - d), b = k - M, d = k - b, ho[1] = k - (b + d) + (d - M), R = x + b, d = R - x, ho[2] = x - (R - d) + (b - d), ho[3] = R; let w = YF(4, ho), D = WF * s; if (w >= D || -w >= D || (d = t - A, o = t - (A + d) + (d - i), d = r - L, u = r - (L + d) + (d - i), d = e - v, l = e - (v + d) + (d - a), d = n - B, h = n - (B + d) + (d - a), o === 0 && l === 0 && u === 0 && h === 0) || (D = HF * s + zF * Math.abs(w), w += A * h + B * o - (v * u + L * l), w >= D || -w >= D)) return w; T = o * B, f = Vr * o, p = f - (f - o), m = o - p, f = Vr * B, _ = f - (f - B), y = B - _, C = m * y - (T - p * _ - m * _ - p * y), M = l * L, f = Vr * l, p = f - (f - l), m = l - p, f = Vr * L, _ = f - (f - L), y = L - _, S = m * y - (M - p * _ - m * _ - p * y), b = C - S, d = C - b, $r[0] = C - (b + d) + (d - S), x = T + b, d = x - T, k = T - (x - d) + (b - d), b = k - M, d = k - b, $r[1] = k - (b + d) + (d - M), R = x + b, d = R - x, $r[2] = x - (R - d) + (b - d), $r[3] = R; const N = td(4, ho, 4, $r, k5); T = A * h, f = Vr * A, p = f - (f - A), m = A - p, f = Vr * h, _ = f - (f - h), y = h - _, C = m * y - (T - p * _ - m * _ - p * y), M = v * u, f = Vr * v, p = f - (f - v), m = v - p, f = Vr * u, _ = f - (f - u), y = u - _, S = m * y - (M - p * _ - m * _ - p * y), b = C - S, d = C - b, $r[0] = C - (b + d) + (d - S), x = T + b, d = x - T, k = T - (x - d) + (b - d), b = k - M, d = k - b, $r[1] = k - (b + d) + (d - M), R = x + b, d = R - x, $r[2] = x - (R - d) + (b - d), $r[3] = R; const z = td(N, k5, 4, $r, w5); T = o * h, f = Vr * o, p = f - (f - o), m = o - p, f = Vr * h, _ = f - (f - h), y = h - _, C = m * y - (T - p * _ - m * _ - p * y), M = l * u, f = Vr * l, p = f - (f - l), m = l - p, f = Vr * u, _ = f - (f - u), y = u - _, S = m * y - (M - p * _ - m * _ - p * y), b = C - S, d = C - b, $r[0] = C - (b + d) + (d - S), x = T + b, d = x - T, k = T - (x - d) + (b - d), b = k - M, d = k - b, $r[1] = k - (b + d) + (d - M), R = x + b, d = R - x, $r[2] = x - (R - d) + (b - d), $r[3] = R; const X = td(z, w5, 4, $r, T5); return T5[X - 1]; } function Ou(t, e, r, n, i, a) { const s = (e - a) * (r - i), o = (t - i) * (n - a), l = s - o; if (s === 0 || o === 0 || s > 0 != o > 0) return l; const u = Math.abs(s + o); return Math.abs(l) >= UF * u ? l : -GF(t, e, r, n, i, a, u); } const E5 = Math.pow(2, -52), Fu = new Uint32Array(512); class Xh { static from(e, r = ZF, n = QF) { const i = e.length, a = new Float64Array(i * 2); for (let s = 0; s < i; s++) { const o = e[s]; a[2 * s] = r(o), a[2 * s + 1] = n(o); } return new Xh(a); } constructor(e) { const r = e.length >> 1; if (r > 0 && typeof e[0] != "number") throw new Error("Expected coords to contain numbers."); this.coords = e; const n = Math.max(2 * r - 5, 0); this._triangles = new Uint32Array(n * 3), this._halfedges = new Int32Array(n * 3), this._hashSize = Math.ceil(Math.sqrt(r)), this._hullPrev = new Uint32Array(r), this._hullNext = new Uint32Array(r), this._hullTri = new Uint32Array(r), this._hullHash = new Int32Array(this._hashSize).fill(-1), this._ids = new Uint32Array(r), this._dists = new Float64Array(r), this.update(); } update() { const { coords: e, _hullPrev: r, _hullNext: n, _hullTri: i, _hullHash: a } = this, s = e.length >> 1; let o = 1 / 0, l = 1 / 0, u = -1 / 0, h = -1 / 0; for (let L = 0; L < s; L++) { const v = e[2 * L], B = e[2 * L + 1]; v < o && (o = v), B < l && (l = B), v > u && (u = v), B > h && (h = B), this._ids[L] = L; } const d = (o + u) / 2, f = (l + h) / 2; let p = 1 / 0, m, _, y; for (let L = 0; L < s; L++) { const v = ed(d, f, e[2 * L], e[2 * L + 1]); v < p && (m = L, p = v); } const b = e[2 * m], x = e[2 * m + 1]; p = 1 / 0; for (let L = 0; L < s; L++) { if (L === m) continue; const v = ed(b, x, e[2 * L], e[2 * L + 1]); v < p && v > 0 && (_ = L, p = v); } let k = e[2 * _], T = e[2 * _ + 1], C = 1 / 0; for (let L = 0; L < s; L++) { if (L === m || L === _) continue; const v = XF(b, x, k, T, e[2 * L], e[2 * L + 1]); v < C && (y = L, C = v); } let M = e[2 * y], S = e[2 * y + 1]; if (C === 1 / 0) { for (let B = 0; B < s; B++) this._dists[B] = e[2 * B] - e[0] || e[2 * B + 1] - e[1]; bo(this._ids, this._dists, 0, s - 1); const L = new Uint32Array(s); let v = 0; for (let B = 0, w = -1 / 0; B < s; B++) { const D = this._ids[B]; this._dists[D] > w && (L[v++] = D, w = this._dists[D]); } this.hull = L.subarray(0, v), this.triangles = new Uint32Array(0), this.halfedges = new Uint32Array(0); return; } if (Ou(b, x, k, T, M, S) < 0) { const L = _, v = k, B = T; _ = y, k = M, T = S, y = L, M = v, S = B; } const R = KF(b, x, k, T, M, S); this._cx = R.x, this._cy = R.y; for (let L = 0; L < s; L++) this._dists[L] = ed(e[2 * L], e[2 * L + 1], R.x, R.y); bo(this._ids, this._dists, 0, s - 1), this._hullStart = m; let A = 3; n[m] = r[y] = _, n[_] = r[m] = y, n[y] = r[_] = m, i[m] = 0, i[_] = 1, i[y] = 2, a.fill(-1), a[this._hashKey(b, x)] = m, a[this._hashKey(k, T)] = _, a[this._hashKey(M, S)] = y, this.trianglesLen = 0, this._addTriangle(m, _, y, -1, -1, -1); for (let L = 0, v, B; L < this._ids.length; L++) { const w = this._ids[L], D = e[2 * w], N = e[2 * w + 1]; if (L > 0 && Math.abs(D - v) <= E5 && Math.abs(N - B) <= E5 || (v = D, B = N, w === m || w === _ || w === y)) continue; let z = 0; for (let $ = 0, lt = this._hashKey(D, N); $ < this._hashSize && (z = a[(lt + $) % this._hashSize], !(z !== -1 && z !== n[z])); $++) ; z = r[z]; let X = z, ct; for (; ct = n[X], Ou(D, N, e[2 * X], e[2 * X + 1], e[2 * ct], e[2 * ct + 1]) >= 0; ) if (X = ct, X === z) { X = -1; break; } if (X === -1) continue; let J = this._addTriangle(X, w, n[X], -1, -1, i[X]); i[w] = this._legalize(J + 2), i[X] = J, A++; let Y = n[X]; for (; ct = n[Y], Ou(D, N, e[2 * Y], e[2 * Y + 1], e[2 * ct], e[2 * ct + 1]) < 0; ) J = this._addTriangle(Y, w, ct, i[w], -1, i[Y]), i[w] = this._legalize(J + 2), n[Y] = Y, A--, Y = ct; if (X === z) for (; ct = r[X], Ou(D, N, e[2 * ct], e[2 * ct + 1], e[2 * X], e[2 * X + 1]) < 0; ) J = this._addTriangle(ct, w, X, -1, i[X], i[ct]), this._legalize(J + 2), i[ct] = J, n[X] = X, A--, X = ct; this._hullStart = r[w] = X, n[X] = r[Y] = w, n[w] = Y, a[this._hashKey(D, N)] = w, a[this._hashKey(e[2 * X], e[2 * X + 1])] = X; } this.hull = new Uint32Array(A); for (let L = 0, v = this._hullStart; L < A; L++) this.hull[L] = v, v = n[v]; this.triangles = this._triangles.subarray(0, this.trianglesLen), this.halfedges = this._halfedges.subarray(0, this.trianglesLen); } _hashKey(e, r) { return Math.floor(jF(e - this._cx, r - this._cy) * this._hashSize) % this._hashSize; } _legalize(e) { const { _triangles: r, _halfedges: n, coords: i } = this; let a = 0, s = 0; for (; ; ) { const o = n[e], l = e - e % 3; if (s = l + (e + 2) % 3, o === -1) { if (a === 0) break; e = Fu[--a]; continue; } const u = o - o % 3, h = l + (e + 1) % 3, d = u + (o + 2) % 3, f = r[s], p = r[e], m = r[h], _ = r[d]; if ($F( i[2 * f], i[2 * f + 1], i[2 * p], i[2 * p + 1], i[2 * m], i[2 * m + 1], i[2 * _], i[2 * _ + 1] )) { r[e] = _, r[o] = f; const b = n[d]; if (b === -1) { let k = this._hullStart; do { if (this._hullTri[k] === d) { this._hullTri[k] = e; break; } k = this._hullPrev[k]; } while (k !== this._hullStart); } this._link(e, b), this._link(o, n[s]), this._link(s, d); const x = u + (o + 1) % 3; a < Fu.length && (Fu[a++] = x); } else { if (a === 0) break; e = Fu[--a]; } } return s; } _link(e, r) { this._halfedges[e] = r, r !== -1 && (this._halfedges[r] = e); } _addTriangle(e, r, n, i, a, s) { const o = this.trianglesLen; return this._triangles[o] = e, this._triangles[o + 1] = r, this._triangles[o + 2] = n, this._link(o, i), this._link(o + 1, a), this._link(o + 2, s), this.trianglesLen += 3, o; } } function jF(t, e) { const r = t / (Math.abs(t) + Math.abs(e)); return (e > 0 ? 3 - r : 1 + r) / 4; } function ed(t, e, r, n) { const i = t - r, a = e - n; return i * i + a * a; } function $F(t, e, r, n, i, a, s, o) { const l = t - s, u = e - o, h = r - s, d = n - o, f = i - s, p = a - o, m = l * l + u * u, _ = h * h + d * d, y = f * f + p * p; return l * (d * y - _ * p) - u * (h * y - _ * f) + m * (h * p - d * f) < 0; } function XF(t, e, r, n, i, a) { const s = r - t, o = n - e, l = i - t, u = a - e, h = s * s + o * o, d = l * l + u * u, f = 0.5 / (s * u - o * l), p = (u * h - o * d) * f, m = (s * d - l * h) * f; return p * p + m * m; } function KF(t, e, r, n, i, a) { const s = r - t, o = n - e, l = i - t, u = a - e, h = s * s + o * o, d = l * l + u * u, f = 0.5 / (s * u - o * l), p = t + (u * h - o * d) * f, m = e + (s * d - l * h) * f; return { x: p, y: m }; } function bo(t, e, r, n) { if (n - r <= 20) for (let i = r + 1; i <= n; i++) { const a = t[i], s = e[a]; let o = i - 1; for (; o >= r && e[t[o]] > s; ) t[o + 1] = t[o--]; t[o + 1] = a; } else { const i = r + n >> 1; let a = r + 1, s = n; Tl(t, i, a), e[t[r]] > e[t[n]] && Tl(t, r, n), e[t[a]] > e[t[n]] && Tl(t, a, n), e[t[r]] > e[t[a]] && Tl(t, r, a); const o = t[a], l = e[o]; for (; ; ) { do a++; while (e[t[a]] < l); do s--; while (e[t[s]] > l); if (s < a) break; Tl(t, a, s); } t[r + 1] = t[s], t[s] = o, n - a + 1 >= s - r ? (bo(t, e, a, n), bo(t, e, r, s - 1)) : (bo(t, e, r, s - 1), bo(t, e, a, n)); } } function Tl(t, e, r) { const n = t[e]; t[e] = t[r], t[r] = n; } function ZF(t) { return t[0]; } function QF(t) { return t[1]; } const C5 = 1e-6; class ks { constructor() { this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = ""; } moveTo(e, r) { this._ += `M${this._x0 = this._x1 = +e},${this._y0 = this._y1 = +r}`; } closePath() { this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z"); } lineTo(e, r) { this._ += `L${this._x1 = +e},${this._y1 = +r}`; } arc(e, r, n) { e = +e, r = +r, n = +n; const i = e + n, a = r; if (n < 0) throw new Error("negative radius"); this._x1 === null ? this._ += `M${i},${a}` : (Math.abs(this._x1 - i) > C5 || Math.abs(this._y1 - a) > C5) && (this._ += "L" + i + "," + a), n && (this._ += `A${n},${n},0,1,1,${e - n},${r}A${n},${n},0,1,1,${this._x1 = i},${this._y1 = a}`); } rect(e, r, n, i) { this._ += `M${this._x0 = this._x1 = +e},${this._y0 = this._y1 = +r}h${+n}v${+i}h${-n}Z`; } value() { return this._ || null; } } class Vm { constructor() { this._ = []; } moveTo(e, r) { this._.push([e, r]); } closePath() { this._.push(this._[0].slice()); } lineTo(e, r) { this._.push([e, r]); } value() { return this._.length ? this._ : null; } } class mT { constructor(e, [r, n, i, a] = [0, 0, 960, 500]) { if (!((i = +i) >= (r = +r)) || !((a = +a) >= (n = +n))) throw new Error("invalid bounds"); this.delaunay = e, this._circumcenters = new Float64Array(e.points.length * 2), this.vectors = new Float64Array(e.points.length * 2), this.xmax = i, this.xmin = r, this.ymax = a, this.ymin = n, this._init(); } update() { return this.delaunay.update(), this._init(), this; } _init() { const { delaunay: { points: e, hull: r, triangles: n }, vectors: i } = this, a = this.circumcenters = this._circumcenters.subarray(0, n.length / 3 * 2); for (let p = 0, m = 0, _ = n.length, y, b; p < _; p += 3, m += 2) { const x = n[p] * 2, k = n[p + 1] * 2, T = n[p + 2] * 2, C = e[x], M = e[x + 1], S = e[k], R = e[k + 1], A = e[T], L = e[T + 1], v = S - C, B = R - M, w = A - C, D = L - M, N = (v * D - B * w) * 2; if (Math.abs(N) < 1e-9) { let z = 1e9; const X = n[0] * 2; z *= Math.sign((e[X] - C) * D - (e[X + 1] - M) * w), y = (C + A) / 2 - z * D, b = (M + L) / 2 + z * w; } else { const z = 1 / N, X = v * v + B * B, ct = w * w + D * D; y = C + (D * X - B * ct) * z, b = M + (v * ct - w * X) * z; } a[m] = y, a[m + 1] = b; } let s = r[r.length - 1], o, l = s * 4, u, h = e[2 * s], d, f = e[2 * s + 1]; i.fill(0); for (let p = 0; p < r.length; ++p) s = r[p], o = l, u = h, d = f, l = s * 4, h = e[2 * s], f = e[2 * s + 1], i[o + 2] = i[l] = d - f, i[o + 3] = i[l + 1] = h - u; } render(e) { const r = e == null ? e = new ks() : void 0, { delaunay: { halfedges: n, inedges: i, hull: a }, circumcenters: s, vectors: o } = this; if (a.length <= 1) return null; for (let h = 0, d = n.length; h < d; ++h) { const f = n[h]; if (f < h) continue; const p = Math.floor(h / 3) * 2, m = Math.floor(f / 3) * 2, _ = s[p], y = s[p + 1], b = s[m], x = s[m + 1]; this._renderSegment(_, y, b, x, e); } let l, u = a[a.length - 1]; for (let h = 0; h < a.length; ++h) { l = u, u = a[h]; const d = Math.floor(i[u] / 3) * 2, f = s[d], p = s[d + 1], m = l * 4, _ = this._project(f, p, o[m + 2], o[m + 3]); _ && this._renderSegment(f, p, _[0], _[1], e); } return r && r.value(); } renderBounds(e) { const r = e == null ? e = new ks() : void 0; return e.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin), r && r.value(); } renderCell(e, r) { const n = r == null ? r = new ks() : void 0, i = this._clip(e); if (i === null || !i.length) return; r.moveTo(i[0], i[1]); let a = i.length; for (; i[0] === i[a - 2] && i[1] === i[a - 1] && a > 1; ) a -= 2; for (let s = 2; s < a; s += 2) (i[s] !== i[s - 2] || i[s + 1] !== i[s - 1]) && r.lineTo(i[s], i[s + 1]); return r.closePath(), n && n.value(); } *cellPolygons() { const { delaunay: { points: e } } = this; for (let r = 0, n = e.length / 2; r < n; ++r) { const i = this.cellPolygon(r); i && (i.index = r, yield i); } } cellPolygon(e) { const r = new Vm(); return this.renderCell(e, r), r.value(); } _renderSegment(e, r, n, i, a) { let s; const o = this._regioncode(e, r), l = this._regioncode(n, i); o === 0 && l === 0 ? (a.moveTo(e, r), a.lineTo(n, i)) : (s = this._clipSegment(e, r, n, i, o, l)) && (a.moveTo(s[0], s[1]), a.lineTo(s[2], s[3])); } contains(e, r, n) { return r = +r, r !== r || (n = +n, n !== n) ? !1 : this.delaunay._step(e, r, n) === e; } *neighbors(e) { const r = this._clip(e); if (r) for (const n of this.delaunay.neighbors(e)) { const i = this._clip(n); if (i) { t: for (let a = 0, s = r.length; a < s; a += 2) for (let o = 0, l = i.length; o < l; o += 2) if (r[a] == i[o] && r[a + 1] == i[o + 1] && r[(a + 2) % s] == i[(o + l - 2) % l] && r[(a + 3) % s] == i[(o + l - 1) % l]) { yield n; break t; } } } } _cell(e) { const { circumcenters: r, delaunay: { inedges: n, halfedges: i, triangles: a } } = this, s = n[e]; if (s === -1) return null; const o = []; let l = s; do { const u = Math.floor(l / 3); if (o.push(r[u * 2], r[u * 2 + 1]), l = l % 3 === 2 ? l - 2 : l + 1, a[l] !== e) break; l = i[l]; } while (l !== s && l !== -1); return o; } _clip(e) { if (e === 0 && this.delaunay.hull.length === 1) return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; const r = this._cell(e); if (r === null) return null; const { vectors: n } = this, i = e * 4; return n[i] || n[i + 1] ? this._clipInfinite(e, r, n[i], n[i + 1], n[i + 2], n[i + 3]) : this._clipFinite(e, r); } _clipFinite(e, r) { const n = r.length; let i = null, a, s, o = r[n - 2], l = r[n - 1], u, h = this._regioncode(o, l), d, f = 0; for (let p = 0; p < n; p += 2) if (a = o, s = l, o = r[p], l = r[p + 1], u = h, h = this._regioncode(o, l), u === 0 && h === 0) d = f, f = 0, i ? i.push(o, l) : i = [o, l]; else { let m, _, y, b, x; if (u === 0) { if ((m = this._clipSegment(a, s, o, l, u, h)) === null) continue; [_, y, b, x] = m; } else { if ((m = this._clipSegment(o, l, a, s, h, u)) === null) continue; [b, x, _, y] = m, d = f, f = this._edgecode(_, y), d && f && this._edge(e, d, f, i, i.length), i ? i.push(_, y) : i = [_, y]; } d = f, f = this._edgecode(b, x), d && f && this._edge(e, d, f, i, i.length), i ? i.push(b, x) : i = [b, x]; } if (i) d = f, f = this._edgecode(i[0], i[1]), d && f && this._edge(e, d, f, i, i.length); else if (this.contains(e, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2)) return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; return i; } _clipSegment(e, r, n, i, a, s) { for (; ; ) { if (a === 0 && s === 0) return [e, r, n, i]; if (a & s) return null; let o, l, u = a || s; u & 8 ? (o = e + (n - e) * (this.ymax - r) / (i - r), l = this.ymax) : u & 4 ? (o = e + (n - e) * (this.ymin - r) / (i - r), l = this.ymin) : u & 2 ? (l = r + (i - r) * (this.xmax - e) / (n - e), o = this.xmax) : (l = r + (i - r) * (this.xmin - e) / (n - e), o = this.xmin), a ? (e = o, r = l, a = this._regioncode(e, r)) : (n = o, i = l, s = this._regioncode(n, i)); } } _clipInfinite(e, r, n, i, a, s) { let o = Array.from(r), l; if ((l = this._project(o[0], o[1], n, i)) && o.unshift(l[0], l[1]), (l = this._project(o[o.length - 2], o[o.length - 1], a, s)) && o.push(l[0], l[1]), o = this._clipFinite(e, o)) for (let u = 0, h = o.length, d, f = this._edgecode(o[h - 2], o[h - 1]); u < h; u += 2) d = f, f = this._edgecode(o[u], o[u + 1]), d && f && (u = this._edge(e, d, f, o, u), h = o.length); else this.contains(e, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2) && (o = [this.xmin, this.ymin, this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax]); return o; } _edge(e, r, n, i, a) { for (; r !== n; ) { let s, o; switch (r) { case 5: r = 4; continue; case 4: r = 6, s = this.xmax, o = this.ymin; break; case 6: r = 2; continue; case 2: r = 10, s = this.xmax, o = this.ymax; break; case 10: r = 8; continue; case 8: r = 9, s = this.xmin, o = this.ymax; break; case 9: r = 1; continue; case 1: r = 5, s = this.xmin, o = this.ymin; break; } (i[a] !== s || i[a + 1] !== o) && this.contains(e, s, o) && (i.splice(a, 0, s, o), a += 2); } if (i.length > 4) for (let s = 0; s < i.length; s += 2) { const o = (s + 2) % i.length, l = (s + 4) % i.length; (i[s] === i[o] && i[o] === i[l] || i[s + 1] === i[o + 1] && i[o + 1] === i[l + 1]) && (i.splice(o, 2), s -= 2); } return a; } _project(e, r, n, i) { let a = 1 / 0, s, o, l; if (i < 0) { if (r <= this.ymin) return null; (s = (this.ymin - r) / i) < a && (l = this.ymin, o = e + (a = s) * n); } else if (i > 0) { if (r >= this.ymax) return null; (s = (this.ymax - r) / i) < a && (l = this.ymax, o = e + (a = s) * n); } if (n > 0) { if (e >= this.xmax) return null; (s = (this.xmax - e) / n) < a && (o = this.xmax, l = r + (a = s) * i); } else if (n < 0) { if (e <= this.xmin) return null; (s = (this.xmin - e) / n) < a && (o = this.xmin, l = r + (a = s) * i); } return [o, l]; } _edgecode(e, r) { return (e === this.xmin ? 1 : e === this.xmax ? 2 : 0) | (r === this.ymin ? 4 : r === this.ymax ? 8 : 0); } _regioncode(e, r) { return (e < this.xmin ? 1 : e > this.xmax ? 2 : 0) | (r < this.ymin ? 4 : r > this.ymax ? 8 : 0); } } const JF = 2 * Math.PI, fo = Math.pow; function tP(t) { return t[0]; } function eP(t) { return t[1]; } function rP(t) { const { triangles: e, coords: r } = t; for (let n = 0; n < e.length; n += 3) { const i = 2 * e[n], a = 2 * e[n + 1], s = 2 * e[n + 2]; if ((r[s] - r[i]) * (r[a + 1] - r[i + 1]) - (r[a] - r[i]) * (r[s + 1] - r[i + 1]) > 1e-10) return !1; } return !0; } function nP(t, e, r) { return [t + Math.sin(t + e) * r, e + Math.cos(t - e) * r]; } class v3 { static from(e, r = tP, n = eP, i) { return new v3("length" in e ? iP(e, r, n, i) : Float64Array.from(aP(e, r, n, i))); } constructor(e) { this._delaunator = new Xh(e), this.inedges = new Int32Array(e.length / 2), this._hullIndex = new Int32Array(e.length / 2), this.points = this._delaunator.coords, this._init(); } update() { return this._delaunator.update(), this._init(), this; } _init() { const e = this._delaunator, r = this.points; if (e.hull && e.hull.length > 2 && rP(e)) { this.collinear = Int32Array.from({ length: r.length / 2 }, (f, p) => p).sort((f, p) => r[2 * f] - r[2 * p] || r[2 * f + 1] - r[2 * p + 1]); const l = this.collinear[0], u = this.collinear[this.collinear.length - 1], h = [r[2 * l], r[2 * l + 1], r[2 * u], r[2 * u + 1]], d = 1e-8 * Math.hypot(h[3] - h[1], h[2] - h[0]); for (let f = 0, p = r.length / 2; f < p; ++f) { const m = nP(r[2 * f], r[2 * f + 1], d); r[2 * f] = m[0], r[2 * f + 1] = m[1]; } this._delaunator = new Xh(r); } else delete this.collinear; const n = this.halfedges = this._delaunator.halfedges, i = this.hull = this._delaunator.hull, a = this.triangles = this._delaunator.triangles, s = this.inedges.fill(-1), o = this._hullIndex.fill(-1); for (let l = 0, u = n.length; l < u; ++l) { const h = a[l % 3 === 2 ? l - 2 : l + 1]; (n[l] === -1 || s[h] === -1) && (s[h] = l); } for (let l = 0, u = i.length; l < u; ++l) o[i[l]] = l; i.length <= 2 && i.length > 0 && (this.triangles = new Int32Array(3).fill(-1), this.halfedges = new Int32Array(3).fill(-1), this.triangles[0] = i[0], s[i[0]] = 1, i.length === 2 && (s[i[1]] = 0, this.triangles[1] = i[1], this.triangles[2] = i[1])); } voronoi(e) { return new mT(this, e); } *neighbors(e) { const { inedges: r, hull: n, _hullIndex: i, halfedges: a, triangles: s, collinear: o } = this; if (o) { const d = o.indexOf(e); d > 0 && (yield o[d - 1]), d < o.length - 1 && (yield o[d + 1]); return; } const l = r[e]; if (l === -1) return; let u = l, h = -1; do { if (yield h = s[u], u = u % 3 === 2 ? u - 2 : u + 1, s[u] !== e) return; if (u = a[u], u === -1) { const d = n[(i[e] + 1) % n.length]; d !== h && (yield d); return; } } while (u !== l); } find(e, r, n = 0) { if (e = +e, e !== e || (r = +r, r !== r)) return -1; const i = n; let a; for (; (a = this._step(n, e, r)) >= 0 && a !== n && a !== i; ) n = a; return a; } _step(e, r, n) { const { inedges: i, hull: a, _hullIndex: s, halfedges: o, triangles: l, points: u } = this; if (i[e] === -1 || !u.length) return (e + 1) % (u.length >> 1); let h = e, d = fo(r - u[e * 2], 2) + fo(n - u[e * 2 + 1], 2); const f = i[e]; let p = f; do { let m = l[p]; const _ = fo(r - u[m * 2], 2) + fo(n - u[m * 2 + 1], 2); if (_ < d && (d = _, h = m), p = p % 3 === 2 ? p - 2 : p + 1, l[p] !== e) break; if (p = o[p], p === -1) { if (p = a[(s[e] + 1) % a.length], p !== m && fo(r - u[p * 2], 2) + fo(n - u[p * 2 + 1], 2) < d) return p; break; } } while (p !== f); return h; } render(e) { const r = e == null ? e = new ks() : void 0, { points: n, halfedges: i, triangles: a } = this; for (let s = 0, o = i.length; s < o; ++s) { const l = i[s]; if (l < s) continue; const u = a[s] * 2, h = a[l] * 2; e.moveTo(n[u], n[u + 1]), e.lineTo(n[h], n[h + 1]); } return this.renderHull(e), r && r.value(); } renderPoints(e, r) { r === void 0 && (!e || typeof e.moveTo != "function") && (r = e, e = null), r = r == null ? 2 : +r; const n = e == null ? e = new ks() : void 0, { points: i } = this; for (let a = 0, s = i.length; a < s; a += 2) { const o = i[a], l = i[a + 1]; e.moveTo(o + r, l), e.arc(o, l, r, 0, JF); } return n && n.value(); } renderHull(e) { const r = e == null ? e = new ks() : void 0, { hull: n, points: i } = this, a = n[0] * 2, s = n.length; e.moveTo(i[a], i[a + 1]); for (let o = 1; o < s; ++o) { const l = 2 * n[o]; e.lineTo(i[l], i[l + 1]); } return e.closePath(), r && r.value(); } hullPolygon() { const e = new Vm(); return this.renderHull(e), e.value(); } renderTriangle(e, r) { const n = r == null ? r = new ks() : void 0, { points: i, triangles: a } = this, s = a[e *= 3] * 2, o = a[e + 1] * 2, l = a[e + 2] * 2; return r.moveTo(i[s], i[s + 1]), r.lineTo(i[o], i[o + 1]), r.lineTo(i[l], i[l + 1]), r.closePath(), n && n.value(); } *trianglePolygons() { const { triangles: e } = this; for (let r = 0, n = e.length / 3; r < n; ++r) yield this.trianglePolygon(r); } trianglePolygon(e) { const r = new Vm(); return this.renderTriangle(e, r), r.value(); } } function iP(t, e, r, n) { const i = t.length, a = new Float64Array(i * 2); for (let s = 0; s < i; ++s) { const o = t[s]; a[s * 2] = e.call(n, o, s, t), a[s * 2 + 1] = r.call(n, o, s, t); } return a; } function* aP(t, e, r, n) { let i = 0; for (const a of t) yield e.call(n, a, i, t), yield r.call(n, a, i, t), ++i; } var S5 = {}, rd = {}, nd = 34, El = 10, id = 13; function bT(t) { return new Function("d", "return {" + t.map(function(e, r) { return JSON.stringify(e) + ": d[" + r + '] || ""'; }).join(",") + "}"); } function sP(t, e) { var r = bT(t); return function(n, i) { return e(r(n), i, t); }; } function A5(t) { var e = /* @__PURE__ */ Object.create(null), r = []; return t.forEach(function(n) { for (var i in n) i in e || r.push(e[i] = i); }), r; } function hn(t, e) { var r = t + "", n = r.length; return n < e ? new Array(e - n + 1).join(0) + r : r; } function oP(t) { return t < 0 ? "-" + hn(-t, 6) : t > 9999 ? "+" + hn(t, 6) : hn(t, 4); } function lP(t) { var e = t.getUTCHours(), r = t.getUTCMinutes(), n = t.getUTCSeconds(), i = t.getUTCMilliseconds(); return isNaN(t) ? "Invalid Date" : oP(t.getUTCFullYear()) + "-" + hn(t.getUTCMonth() + 1, 2) + "-" + hn(t.getUTCDate(), 2) + (i ? "T" + hn(e, 2) + ":" + hn(r, 2) + ":" + hn(n, 2) + "." + hn(i, 3) + "Z" : n ? "T" + hn(e, 2) + ":" + hn(r, 2) + ":" + hn(n, 2) + "Z" : r || e ? "T" + hn(e, 2) + ":" + hn(r, 2) + "Z" : ""); } function E1(t) { var e = new RegExp('["' + t + ` \r]`), r = t.charCodeAt(0); function n(d, f) { var p, m, _ = i(d, function(y, b) { if (p) return p(y, b - 1); m = y, p = f ? sP(y, f) : bT(y); }); return _.columns = m || [], _; } function i(d, f) { var p = [], m = d.length, _ = 0, y = 0, b, x = m <= 0, k = !1; d.charCodeAt(m - 1) === El && --m, d.charCodeAt(m - 1) === id && --m; function T() { if (x) return rd; if (k) return k = !1, S5; var M, S = _, R; if (d.charCodeAt(S) === nd) { for (; _++ < m && d.charCodeAt(_) !== nd || d.charCodeAt(++_) === nd; ) ; return (M = _) >= m ? x = !0 : (R = d.charCodeAt(_++)) === El ? k = !0 : R === id && (k = !0, d.charCodeAt(_) === El && ++_), d.slice(S + 1, M - 1).replace(/""/g, '"'); } for (; _ < m; ) { if ((R = d.charCodeAt(M = _++)) === El) k = !0; else if (R === id) k = !0, d.charCodeAt(_) === El && ++_; else if (R !== r) continue; return d.slice(S, M); } return x = !0, d.slice(S, m); } for (; (b = T()) !== rd; ) { for (var C = []; b !== S5 && b !== rd; ) C.push(b), b = T(); f && (C = f(C, y++)) == null || p.push(C); } return p; } function a(d, f) { return d.map(function(p) { return f.map(function(m) { return h(p[m]); }).join(t); }); } function s(d, f) { return f == null && (f = A5(d)), [f.map(h).join(t)].concat(a(d, f)).join(` `); } function o(d, f) { return f == null && (f = A5(d)), a(d, f).join(` `); } function l(d) { return d.map(u).join(` `); } function u(d) { return d.map(h).join(t); } function h(d) { return d == null ? "" : d instanceof Date ? lP(d) : e.test(d += "") ? '"' + d.replace(/"/g, '""') + '"' : d; } return { parse: n, parseRows: i, format: s, formatBody: o, formatRows: l, formatRow: u, formatValue: h }; } var Gs = E1(","), _T = Gs.parse, cP = Gs.parseRows, uP = Gs.format, hP = Gs.formatBody, fP = Gs.formatRows, dP = Gs.formatRow, pP = Gs.formatValue, js = E1(" "), vT = js.parse, gP = js.parseRows, yP = js.format, mP = js.formatBody, bP = js.formatRows, _P = js.formatRow, vP = js.formatValue; function xP(t) { for (var e in t) { var r = t[e].trim(), n, i; if (!r) r = null; else if (r === "true") r = !0; else if (r === "false") r = !1; else if (r === "NaN") r = NaN; else if (!isNaN(n = +r)) r = n; else if (i = r.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)) kP && !!i[4] && !i[7] && (r = r.replace(/-/g, "/").replace(/T/, " ")), r = new Date(r); else continue; t[e] = r; } return t; } const kP = new Date("2019-01-01T00:00").getHours() || new Date("2019-07-01T00:00").getHours(); function wP(t) { if (!t.ok) throw new Error(t.status + " " + t.statusText); return t.blob(); } function TP(t, e) { return fetch(t, e).then(wP); } function EP(t) { if (!t.ok) throw new Error(t.status + " " + t.statusText); return t.arrayBuffer(); } function CP(t, e) { return fetch(t, e).then(EP); } function SP(t) { if (!t.ok) throw new Error(t.status + " " + t.statusText); return t.text(); } function C1(t, e) { return fetch(t, e).then(SP); } function xT(t) { return function(e, r, n) { return arguments.length === 2 && typeof r == "function" && (n = r, r = void 0), C1(e, r).then(function(i) { return t(i, n); }); }; } function AP(t, e, r, n) { arguments.length === 3 && typeof r == "function" && (n = r, r = void 0); var i = E1(t); return C1(e, r).then(function(a) { return i.parse(a, n); }); } var MP = xT(_T), LP = xT(vT); function RP(t, e) { return new Promise(function(r, n) { var i = new Image(); for (var a in e) i[a] = e[a]; i.onerror = n, i.onload = function() { r(i); }, i.src = t; }); } function IP(t) { if (!t.ok) throw new Error(t.status + " " + t.statusText); if (!(t.status === 204 || t.status === 205)) return t.json(); } function NP(t, e) { return fetch(t, e).then(IP); } function x3(t) { return (e, r) => C1(e, r).then((n) => new DOMParser().parseFromString(n, t)); } const BP = x3("application/xml"); var DP = x3("text/html"), OP = x3("image/svg+xml"); function FP(t, e) { var r, n = 1; t == null && (t = 0), e == null && (e = 0); function i() { var a, s = r.length, o, l = 0, u = 0; for (a = 0; a < s; ++a) o = r[a], l += o.x, u += o.y; for (l = (l / s - t) * n, u = (u / s - e) * n, a = 0; a < s; ++a) o = r[a], o.x -= l, o.y -= u; } return i.initialize = function(a) { r = a; }, i.x = function(a) { return arguments.length ? (t = +a, i) : t; }, i.y = function(a) { return arguments.length ? (e = +a, i) : e; }, i.strength = function(a) { return arguments.length ? (n = +a, i) : n; }, i; } function PP(t) { const e = +this._x.call(null, t), r = +this._y.call(null, t); return kT(this.cover(e, r), e, r, t); } function kT(t, e, r, n) { if (isNaN(e) || isNaN(r)) return t; var i, a = t._root, s = { data: n }, o = t._x0, l = t._y0, u = t._x1, h = t._y1, d, f, p, m, _, y, b, x; if (!a) return t._root = s, t; for (; a.length; ) if ((_ = e >= (d = (o + u) / 2)) ? o = d : u = d, (y = r >= (f = (l + h) / 2)) ? l = f : h = f, i = a, !(a = a[b = y << 1 | _])) return i[b] = s, t; if (p = +t._x.call(null, a.data), m = +t._y.call(null, a.data), e === p && r === m) return s.next = a, i ? i[b] = s : t._root = s, t; do i = i ? i[b] = new Array(4) : t._root = new Array(4), (_ = e >= (d = (o + u) / 2)) ? o = d : u = d, (y = r >= (f = (l + h) / 2)) ? l = f : h = f; while ((b = y << 1 | _) === (x = (m >= f) << 1 | p >= d)); return i[x] = a, i[b] = s, t; } function qP(t) { var e, r, n = t.length, i, a, s = new Array(n), o = new Array(n), l = 1 / 0, u = 1 / 0, h = -1 / 0, d = -1 / 0; for (r = 0; r < n; ++r) isNaN(i = +this._x.call(null, e = t[r])) || isNaN(a = +this._y.call(null, e)) || (s[r] = i, o[r] = a, i < l && (l = i), i > h && (h = i), a < u && (u = a), a > d && (d = a)); if (l > h || u > d) return this; for (this.cover(l, u).cover(h, d), r = 0; r < n; ++r) kT(this, s[r], o[r], t[r]); return this; } function VP(t, e) { if (isNaN(t = +t) || isNaN(e = +e)) return this; var r = this._x0, n = this._y0, i = this._x1, a = this._y1; if (isNaN(r)) i = (r = Math.floor(t)) + 1, a = (n = Math.floor(e)) + 1; else { for (var s = i - r || 1, o = this._root, l, u; r > t || t >= i || n > e || e >= a; ) switch (u = (e < n) << 1 | t < r, l = new Array(4), l[u] = o, o = l, s *= 2, u) { case 0: i = r + s, a = n + s; break; case 1: r = i - s, a = n + s; break; case 2: i = r + s, n = a - s; break; case 3: r = i - s, n = a - s; break; } this._root && this._root.length && (this._root = o); } return this._x0 = r, this._y0 = n, this._x1 = i, this._y1 = a, this; } function zP() { var t = []; return this.visit(function(e) { if (!e.length) do t.push(e.data); while (e = e.next); }), t; } function YP(t) { return arguments.length ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0], [this._x1, this._y1]]; } function Jr(t, e, r, n, i) { this.node = t, this.x0 = e, this.y0 = r, this.x1 = n, this.y1 = i; } function UP(t, e, r) { var n, i = this._x0, a = this._y0, s, o, l, u, h = this._x1, d = this._y1, f = [], p = this._root, m, _; for (p && f.push(new Jr(p, i, a, h, d)), r == null ? r = 1 / 0 : (i = t - r, a = e - r, h = t + r, d = e + r, r *= r); m = f.pop(); ) if (!(!(p = m.node) || (s = m.x0) > h || (o = m.y0) > d || (l = m.x1) < i || (u = m.y1) < a)) if (p.length) { var y = (s + l) / 2, b = (o + u) / 2; f.push( new Jr(p[3], y, b, l, u), new Jr(p[2], s, b, y, u), new Jr(p[1], y, o, l, b), new Jr(p[0], s, o, y, b) ), (_ = (e >= b) << 1 | t >= y) && (m = f[f.length - 1], f[f.length - 1] = f[f.length - 1 - _], f[f.length - 1 - _] = m); } else { var x = t - +this._x.call(null, p.data), k = e - +this._y.call(null, p.data), T = x * x + k * k; if (T < r) { var C = Math.sqrt(r = T); i = t - C, a = e - C, h = t + C, d = e + C, n = p.data; } } return n; } function WP(t) { if (isNaN(h = +this._x.call(null, t)) || isNaN(d = +this._y.call(null, t))) return this; var e, r = this._root, n, i, a, s = this._x0, o = this._y0, l = this._x1, u = this._y1, h, d, f, p, m, _, y, b; if (!r) return this; if (r.length) for (; ; ) { if ((m = h >= (f = (s + l) / 2)) ? s = f : l = f, (_ = d >= (p = (o + u) / 2)) ? o = p : u = p, e = r, !(r = r[y = _ << 1 | m])) return this; if (!r.length) break; (e[y + 1 & 3] || e[y + 2 & 3] || e[y + 3 & 3]) && (n = e, b = y); } for (; r.data !== t; ) if (i = r, !(r = r.next)) return this; return (a = r.next) && delete r.next, i ? (a ? i.next = a : delete i.next, this) : e ? (a ? e[y] = a : delete e[y], (r = e[0] || e[1] || e[2] || e[3]) && r === (e[3] || e[2] || e[1] || e[0]) && !r.length && (n ? n[b] = r : this._root = r), this) : (this._root = a, this); } function HP(t) { for (var e = 0, r = t.length; e < r; ++e) this.remove(t[e]); return this; } function GP() { return this._root; } function jP() { var t = 0; return this.visit(function(e) { if (!e.length) do ++t; while (e = e.next); }), t; } function $P(t) { var e = [], r, n = this._root, i, a, s, o, l; for (n && e.push(new Jr(n, this._x0, this._y0, this._x1, this._y1)); r = e.pop(); ) if (!t(n = r.node, a = r.x0, s = r.y0, o = r.x1, l = r.y1) && n.length) { var u = (a + o) / 2, h = (s + l) / 2; (i = n[3]) && e.push(new Jr(i, u, h, o, l)), (i = n[2]) && e.push(new Jr(i, a, h, u, l)), (i = n[1]) && e.push(new Jr(i, u, s, o, h)), (i = n[0]) && e.push(new Jr(i, a, s, u, h)); } return this; } function XP(t) { var e = [], r = [], n; for (this._root && e.push(new Jr(this._root, this._x0, this._y0, this._x1, this._y1)); n = e.pop(); ) { var i = n.node; if (i.length) { var a, s = n.x0, o = n.y0, l = n.x1, u = n.y1, h = (s + l) / 2, d = (o + u) / 2; (a = i[0]) && e.push(new Jr(a, s, o, h, d)), (a = i[1]) && e.push(new Jr(a, h, o, l, d)), (a = i[2]) && e.push(new Jr(a, s, d, h, u)), (a = i[3]) && e.push(new Jr(a, h, d, l, u)); } r.push(n); } for (; n = r.pop(); ) t(n.node, n.x0, n.y0, n.x1, n.y1); return this; } function KP(t) { return t[0]; } function ZP(t) { return arguments.length ? (this._x = t, this) : this._x; } function QP(t) { return t[1]; } function JP(t) { return arguments.length ? (this._y = t, this) : this._y; } function S1(t, e, r) { var n = new k3(e == null ? KP : e, r == null ? QP : r, NaN, NaN, NaN, NaN); return t == null ? n : n.addAll(t); } function k3(t, e, r, n, i, a) { this._x = t, this._y = e, this._x0 = r, this._y0 = n, this._x1 = i, this._y1 = a, this._root = void 0; } function M5(t) { for (var e = { data: t.data }, r = e; t = t.next; ) r = r.next = { data: t.data }; return e; } var un = S1.prototype = k3.prototype; un.copy = function() { var t = new k3(this._x, this._y, this._x0, this._y0, this._x1, this._y1), e = this._root, r, n; if (!e) return t; if (!e.length) return t._root = M5(e), t; for (r = [{ source: e, target: t._root = new Array(4) }]; e = r.pop(); ) for (var i = 0; i < 4; ++i) (n = e.source[i]) && (n.length ? r.push({ source: n, target: e.target[i] = new Array(4) }) : e.target[i] = M5(n)); return t; }; un.add = PP; un.addAll = qP; un.cover = VP; un.data = zP; un.extent = YP; un.find = UP; un.remove = WP; un.removeAll = HP; un.root = GP; un.size = jP; un.visit = $P; un.visitAfter = XP; un.x = ZP; un.y = JP; function kr(t) { return function() { return t; }; } function Oa(t) { return (t() - 0.5) * 1e-6; } function tq(t) { return t.x + t.vx; } function eq(t) { return t.y + t.vy; } function rq(t) { var e, r, n, i = 1, a = 1; typeof t != "function" && (t = kr(t == null ? 1 : +t)); function s() { for (var u, h = e.length, d, f, p, m, _, y, b = 0; b < a; ++b) for (d = S1(e, tq, eq).visitAfter(o), u = 0; u < h; ++u) f = e[u], _ = r[f.index], y = _ * _, p = f.x + f.vx, m = f.y + f.vy, d.visit(x); function x(k, T, C, M, S) { var R = k.data, A = k.r, L = _ + A; if (R) { if (R.index > f.index) { var v = p - R.x - R.vx, B = m - R.y - R.vy, w = v * v + B * B; w < L * L && (v === 0 && (v = Oa(n), w += v * v), B === 0 && (B = Oa(n), w += B * B), w = (L - (w = Math.sqrt(w))) / w * i, f.vx += (v *= w) * (L = (A *= A) / (y + A)), f.vy += (B *= w) * L, R.vx -= v * (L = 1 - L), R.vy -= B * L); } return; } return T > p + L || M < p - L || C > m + L || S < m - L; } } function o(u) { if (u.data) return u.r = r[u.data.index]; for (var h = u.r = 0; h < 4; ++h) u[h] && u[h].r > u.r && (u.r = u[h].r); } function l() { if (!!e) { var u, h = e.length, d; for (r = new Array(h), u = 0; u < h; ++u) d = e[u], r[d.index] = +t(d, u, e); } } return s.initialize = function(u, h) { e = u, n = h, l(); }, s.iterations = function(u) { return arguments.length ? (a = +u, s) : a; }, s.strength = function(u) { return arguments.length ? (i = +u, s) : i; }, s.radius = function(u) { return arguments.length ? (t = typeof u == "function" ? u : kr(+u), l(), s) : t; }, s; } function nq(t) { return t.index; } function L5(t, e) { var r = t.get(e); if (!r) throw new Error("node not found: " + e); return r; } function iq(t) { var e = nq, r = d, n, i = kr(30), a, s, o, l, u, h = 1; t == null && (t = []); function d(y) { return 1 / Math.min(o[y.source.index], o[y.target.index]); } function f(y) { for (var b = 0, x = t.length; b < h; ++b) for (var k = 0, T, C, M, S, R, A, L; k < x; ++k) T = t[k], C = T.source, M = T.target, S = M.x + M.vx - C.x - C.vx || Oa(u), R = M.y + M.vy - C.y - C.vy || Oa(u), A = Math.sqrt(S * S + R * R), A = (A - a[k]) / A * y * n[k], S *= A, R *= A, M.vx -= S * (L = l[k]), M.vy -= R * L, C.vx += S * (L = 1 - L), C.vy += R * L; } function p() { if (!!s) { var y, b = s.length, x = t.length, k = new Map(s.map((C, M) => [e(C, M, s), C])), T; for (y = 0, o = new Array(b); y < x; ++y) T = t[y], T.index = y, typeof T.source != "object" && (T.source = L5(k, T.source)), typeof T.target != "object" && (T.target = L5(k, T.target)), o[T.source.index] = (o[T.source.index] || 0) + 1, o[T.target.index] = (o[T.target.index] || 0) + 1; for (y = 0, l = new Array(x); y < x; ++y) T = t[y], l[y] = o[T.source.index] / (o[T.source.index] + o[T.target.index]); n = new Array(x), m(), a = new Array(x), _(); } } function m() { if (!!s) for (var y = 0, b = t.length; y < b; ++y) n[y] = +r(t[y], y, t); } function _() { if (!!s) for (var y = 0, b = t.length; y < b; ++y) a[y] = +i(t[y], y, t); } return f.initialize = function(y, b) { s = y, u = b, p(); }, f.links = function(y) { return arguments.length ? (t = y, p(), f) : t; }, f.id = function(y) { return arguments.length ? (e = y, f) : e; }, f.iterations = function(y) { return arguments.length ? (h = +y, f) : h; }, f.strength = function(y) { return arguments.length ? (r = typeof y == "function" ? y : kr(+y), m(), f) : r; }, f.distance = function(y) { return arguments.length ? (i = typeof y == "function" ? y : kr(+y), _(), f) : i; }, f; } const aq = 1664525, sq = 1013904223, R5 = 4294967296; function oq() { let t = 1; return () => (t = (aq * t + sq) % R5) / R5; } function lq(t) { return t.x; } function cq(t) { return t.y; } var uq = 10, hq = Math.PI * (3 - Math.sqrt(5)); function fq(t) { var e, r = 1, n = 1e-3, i = 1 - Math.pow(n, 1 / 300), a = 0, s = 0.6, o = /* @__PURE__ */ new Map(), l = w1(d), u = Ws("tick", "end"), h = oq(); t == null && (t = []); function d() { f(), u.call("tick", e), r < n && (l.stop(), u.call("end", e)); } function f(_) { var y, b = t.length, x; _ === void 0 && (_ = 1); for (var k = 0; k < _; ++k) for (r += (a - r) * i, o.forEach(function(T) { T(r); }), y = 0; y < b; ++y) x = t[y], x.fx == null ? x.x += x.vx *= s : (x.x = x.fx, x.vx = 0), x.fy == null ? x.y += x.vy *= s : (x.y = x.fy, x.vy = 0); return e; } function p() { for (var _ = 0, y = t.length, b; _ < y; ++_) { if (b = t[_], b.index = _, b.fx != null && (b.x = b.fx), b.fy != null && (b.y = b.fy), isNaN(b.x) || isNaN(b.y)) { var x = uq * Math.sqrt(0.5 + _), k = _ * hq; b.x = x * Math.cos(k), b.y = x * Math.sin(k); } (isNaN(b.vx) || isNaN(b.vy)) && (b.vx = b.vy = 0); } } function m(_) { return _.initialize && _.initialize(t, h), _; } return p(), e = { tick: f, restart: function() { return l.restart(d), e; }, stop: function() { return l.stop(), e; }, nodes: function(_) { return arguments.length ? (t = _, p(), o.forEach(m), e) : t; }, alpha: function(_) { return arguments.length ? (r = +_, e) : r; }, alphaMin: function(_) { return arguments.length ? (n = +_, e) : n; }, alphaDecay: function(_) { return arguments.length ? (i = +_, e) : +i; }, alphaTarget: function(_) { return arguments.length ? (a = +_, e) : a; }, velocityDecay: function(_) { return arguments.length ? (s = 1 - _, e) : 1 - s; }, randomSource: function(_) { return arguments.length ? (h = _, o.forEach(m), e) : h; }, force: function(_, y) { return arguments.length > 1 ? (y == null ? o.delete(_) : o.set(_, m(y)), e) : o.get(_); }, find: function(_, y, b) { var x = 0, k = t.length, T, C, M, S, R; for (b == null ? b = 1 / 0 : b *= b, x = 0; x < k; ++x) S = t[x], T = _ - S.x, C = y - S.y, M = T * T + C * C, M < b && (R = S, b = M); return R; }, on: function(_, y) { return arguments.length > 1 ? (u.on(_, y), e) : u.on(_); } }; } function dq() { var t, e, r, n, i = kr(-30), a, s = 1, o = 1 / 0, l = 0.81; function u(p) { var m, _ = t.length, y = S1(t, lq, cq).visitAfter(d); for (n = p, m = 0; m < _; ++m) e = t[m], y.visit(f); } function h() { if (!!t) { var p, m = t.length, _; for (a = new Array(m), p = 0; p < m; ++p) _ = t[p], a[_.index] = +i(_, p, t); } } function d(p) { var m = 0, _, y, b = 0, x, k, T; if (p.length) { for (x = k = T = 0; T < 4; ++T) (_ = p[T]) && (y = Math.abs(_.value)) && (m += _.value, b += y, x += y * _.x, k += y * _.y); p.x = x / b, p.y = k / b; } else { _ = p, _.x = _.data.x, _.y = _.data.y; do m += a[_.data.index]; while (_ = _.next); } p.value = m; } function f(p, m, _, y) { if (!p.value) return !0; var b = p.x - e.x, x = p.y - e.y, k = y - m, T = b * b + x * x; if (k * k / l < T) return T < o && (b === 0 && (b = Oa(r), T += b * b), x === 0 && (x = Oa(r), T += x * x), T < s && (T = Math.sqrt(s * T)), e.vx += b * p.value * n / T, e.vy += x * p.value * n / T), !0; if (p.length || T >= o) return; (p.data !== e || p.next) && (b === 0 && (b = Oa(r), T += b * b), x === 0 && (x = Oa(r), T += x * x), T < s && (T = Math.sqrt(s * T))); do p.data !== e && (k = a[p.data.index] * n / T, e.vx += b * k, e.vy += x * k); while (p = p.next); } return u.initialize = function(p, m) { t = p, r = m, h(); }, u.strength = function(p) { return arguments.length ? (i = typeof p == "function" ? p : kr(+p), h(), u) : i; }, u.distanceMin = function(p) { return arguments.length ? (s = p * p, u) : Math.sqrt(s); }, u.distanceMax = function(p) { return arguments.length ? (o = p * p, u) : Math.sqrt(o); }, u.theta = function(p) { return arguments.length ? (l = p * p, u) : Math.sqrt(l); }, u; } function pq(t, e, r) { var n, i = kr(0.1), a, s; typeof t != "function" && (t = kr(+t)), e == null && (e = 0), r == null && (r = 0); function o(u) { for (var h = 0, d = n.length; h < d; ++h) { var f = n[h], p = f.x - e || 1e-6, m = f.y - r || 1e-6, _ = Math.sqrt(p * p + m * m), y = (s[h] - _) * a[h] * u / _; f.vx += p * y, f.vy += m * y; } } function l() { if (!!n) { var u, h = n.length; for (a = new Array(h), s = new Array(h), u = 0; u < h; ++u) s[u] = +t(n[u], u, n), a[u] = isNaN(s[u]) ? 0 : +i(n[u], u, n); } } return o.initialize = function(u) { n = u, l(); }, o.strength = function(u) { return arguments.length ? (i = typeof u == "function" ? u : kr(+u), l(), o) : i; }, o.radius = function(u) { return arguments.length ? (t = typeof u == "function" ? u : kr(+u), l(), o) : t; }, o.x = function(u) { return arguments.length ? (e = +u, o) : e; }, o.y = function(u) { return arguments.length ? (r = +u, o) : r; }, o; } function gq(t) { var e = kr(0.1), r, n, i; typeof t != "function" && (t = kr(t == null ? 0 : +t)); function a(o) { for (var l = 0, u = r.length, h; l < u; ++l) h = r[l], h.vx += (i[l] - h.x) * n[l] * o; } function s() { if (!!r) { var o, l = r.length; for (n = new Array(l), i = new Array(l), o = 0; o < l; ++o) n[o] = isNaN(i[o] = +t(r[o], o, r)) ? 0 : +e(r[o], o, r); } } return a.initialize = function(o) { r = o, s(); }, a.strength = function(o) { return arguments.length ? (e = typeof o == "function" ? o : kr(+o), s(), a) : e; }, a.x = function(o) { return arguments.length ? (t = typeof o == "function" ? o : kr(+o), s(), a) : t; }, a; } function yq(t) { var e = kr(0.1), r, n, i; typeof t != "function" && (t = kr(t == null ? 0 : +t)); function a(o) { for (var l = 0, u = r.length, h; l < u; ++l) h = r[l], h.vy += (i[l] - h.y) * n[l] * o; } function s() { if (!!r) { var o, l = r.length; for (n = new Array(l), i = new Array(l), o = 0; o < l; ++o) n[o] = isNaN(i[o] = +t(r[o], o, r)) ? 0 : +e(r[o], o, r); } } return a.initialize = function(o) { r = o, s(); }, a.strength = function(o) { return arguments.length ? (e = typeof o == "function" ? o : kr(+o), s(), a) : e; }, a.y = function(o) { return arguments.length ? (t = typeof o == "function" ? o : kr(+o), s(), a) : t; }, a; } function mq(t) { return Math.abs(t = Math.round(t)) >= 1e21 ? t.toLocaleString("en").replace(/,/g, "") : t.toString(10); } function Kh(t, e) { if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf("e")) < 0) return null; var r, n = t.slice(0, r); return [ n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1) ]; } function qo(t) { return t = Kh(Math.abs(t)), t ? t[1] : NaN; } function bq(t, e) { return function(r, n) { for (var i = r.length, a = [], s = 0, o = t[0], l = 0; i > 0 && o > 0 && (l + o + 1 > n && (o = Math.max(1, n - l)), a.push(r.substring(i -= o, i + o)), !((l += o + 1) > n)); ) o = t[s = (s + 1) % t.length]; return a.reverse().join(e); }; } function _q(t) { return function(e) { return e.replace(/[0-9]/g, function(r) { return t[+r]; }); }; } var vq = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; function Vo(t) { if (!(e = vq.exec(t))) throw new Error("invalid format: " + t); var e; return new A1({ fill: e[1], align: e[2], sign: e[3], symbol: e[4], zero: e[5], width: e[6], comma: e[7], precision: e[8] && e[8].slice(1), trim: e[9], type: e[10] }); } Vo.prototype = A1.prototype; function A1(t) { this.fill = t.fill === void 0 ? " " : t.fill + "", this.align = t.align === void 0 ? ">" : t.align + "", this.sign = t.sign === void 0 ? "-" : t.sign + "", this.symbol = t.symbol === void 0 ? "" : t.symbol + "", this.zero = !!t.zero, this.width = t.width === void 0 ? void 0 : +t.width, this.comma = !!t.comma, this.precision = t.precision === void 0 ? void 0 : +t.precision, this.trim = !!t.trim, this.type = t.type === void 0 ? "" : t.type + ""; } A1.prototype.toString = function() { return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type; }; function xq(t) { t: for (var e = t.length, r = 1, n = -1, i; r < e; ++r) switch (t[r]) { case ".": n = i = r; break; case "0": n === 0 && (n = r), i = r; break; default: if (!+t[r]) break t; n > 0 && (n = 0); break; } return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t; } var wT; function kq(t, e) { var r = Kh(t, e); if (!r) return t + ""; var n = r[0], i = r[1], a = i - (wT = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, s = n.length; return a === s ? n : a > s ? n + new Array(a - s + 1).join("0") : a > 0 ? n.slice(0, a) + "." + n.slice(a) : "0." + new Array(1 - a).join("0") + Kh(t, Math.max(0, e + a - 1))[0]; } function I5(t, e) { var r = Kh(t, e); if (!r) return t + ""; var n = r[0], i = r[1]; return i < 0 ? "0." + new Array(-i).join("0") + n : n.length > i + 1 ? n.slice(0, i + 1) + "." + n.slice(i + 1) : n + new Array(i - n.length + 2).join("0"); } const N5 = { "%": (t, e) => (t * 100).toFixed(e), b: (t) => Math.round(t).toString(2), c: (t) => t + "", d: mq, e: (t, e) => t.toExponential(e), f: (t, e) => t.toFixed(e), g: (t, e) => t.toPrecision(e), o: (t) => Math.round(t).toString(8), p: (t, e) => I5(t * 100, e), r: I5, s: kq, X: (t) => Math.round(t).toString(16).toUpperCase(), x: (t) => Math.round(t).toString(16) }; function B5(t) { return t; } var D5 = Array.prototype.map, O5 = ["y", "z", "a", "f", "p", "n", "\xB5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"]; function TT(t) { var e = t.grouping === void 0 || t.thousands === void 0 ? B5 : bq(D5.call(t.grouping, Number), t.thousands + ""), r = t.currency === void 0 ? "" : t.currency[0] + "", n = t.currency === void 0 ? "" : t.currency[1] + "", i = t.decimal === void 0 ? "." : t.decimal + "", a = t.numerals === void 0 ? B5 : _q(D5.call(t.numerals, String)), s = t.percent === void 0 ? "%" : t.percent + "", o = t.minus === void 0 ? "\u2212" : t.minus + "", l = t.nan === void 0 ? "NaN" : t.nan + ""; function u(d) { d = Vo(d); var f = d.fill, p = d.align, m = d.sign, _ = d.symbol, y = d.zero, b = d.width, x = d.comma, k = d.precision, T = d.trim, C = d.type; C === "n" ? (x = !0, C = "g") : N5[C] || (k === void 0 && (k = 12), T = !0, C = "g"), (y || f === "0" && p === "=") && (y = !0, f = "0", p = "="); var M = _ === "$" ? r : _ === "#" && /[boxX]/.test(C) ? "0" + C.toLowerCase() : "", S = _ === "$" ? n : /[%p]/.test(C) ? s : "", R = N5[C], A = /[defgprs%]/.test(C); k = k === void 0 ? 6 : /[gprs]/.test(C) ? Math.max(1, Math.min(21, k)) : Math.max(0, Math.min(20, k)); function L(v) { var B = M, w = S, D, N, z; if (C === "c") w = R(v) + w, v = ""; else { v = +v; var X = v < 0 || 1 / v < 0; if (v = isNaN(v) ? l : R(Math.abs(v), k), T && (v = xq(v)), X && +v == 0 && m !== "+" && (X = !1), B = (X ? m === "(" ? m : o : m === "-" || m === "(" ? "" : m) + B, w = (C === "s" ? O5[8 + wT / 3] : "") + w + (X && m === "(" ? ")" : ""), A) { for (D = -1, N = v.length; ++D < N; ) if (z = v.charCodeAt(D), 48 > z || z > 57) { w = (z === 46 ? i + v.slice(D + 1) : v.slice(D)) + w, v = v.slice(0, D); break; } } } x && !y && (v = e(v, 1 / 0)); var ct = B.length + v.length + w.length, J = ct < b ? new Array(b - ct + 1).join(f) : ""; switch (x && y && (v = e(J + v, J.length ? b - w.length : 1 / 0), J = ""), p) { case "<": v = B + v + w + J; break; case "=": v = B + J + v + w; break; case "^": v = J.slice(0, ct = J.length >> 1) + B + v + w + J.slice(ct); break; default: v = J + B + v + w; break; } return a(v); } return L.toString = function() { return d + ""; }, L; } function h(d, f) { var p = u((d = Vo(d), d.type = "f", d)), m = Math.max(-8, Math.min(8, Math.floor(qo(f) / 3))) * 3, _ = Math.pow(10, -m), y = O5[8 + m / 3]; return function(b) { return p(_ * b) + y; }; } return { format: u, formatPrefix: h }; } var Pu, M1, w3; ET({ thousands: ",", grouping: [3], currency: ["$", ""] }); function ET(t) { return Pu = TT(t), M1 = Pu.format, w3 = Pu.formatPrefix, Pu; } function CT(t) { return Math.max(0, -qo(Math.abs(t))); } function ST(t, e) { return Math.max(0, Math.max(-8, Math.min(8, Math.floor(qo(e) / 3))) * 3 - qo(Math.abs(t))); } function AT(t, e) { return t = Math.abs(t), e = Math.abs(e) - t, Math.max(0, qo(e) - qo(t)) + 1; } var ee = 1e-6, Ec = 1e-12, Se = Math.PI, ar = Se / 2, Zh = Se / 4, sn = Se * 2, Ue = 180 / Se, ie = Se / 180, Ne = Math.abs, sl = Math.atan, on = Math.atan2, Zt = Math.cos, qu = Math.ceil, MT = Math.exp, zm = Math.hypot, Qh = Math.log, ad = Math.pow, jt = Math.sin, On = Math.sign || function(t) { return t > 0 ? 1 : t < 0 ? -1 : 0; }, Lr = Math.sqrt, T3 = Math.tan; function LT(t) { return t > 1 ? 0 : t < -1 ? Se : Math.acos(t); } function ln(t) { return t > 1 ? ar : t < -1 ? -ar : Math.asin(t); } function F5(t) { return (t = jt(t / 2)) * t; } function Je() { } function Jh(t, e) { t && q5.hasOwnProperty(t.type) && q5[t.type](t, e); } var P5 = { Feature: function(t, e) { Jh(t.geometry, e); }, FeatureCollection: function(t, e) { for (var r = t.features, n = -1, i = r.length; ++n < i; ) Jh(r[n].geometry, e); } }, q5 = { Sphere: function(t, e) { e.sphere(); }, Point: function(t, e) { t = t.coordinates, e.point(t[0], t[1], t[2]); }, MultiPoint: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) t = r[n], e.point(t[0], t[1], t[2]); }, LineString: function(t, e) { Ym(t.coordinates, e, 0); }, MultiLineString: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) Ym(r[n], e, 0); }, Polygon: function(t, e) { V5(t.coordinates, e); }, MultiPolygon: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) V5(r[n], e); }, GeometryCollection: function(t, e) { for (var r = t.geometries, n = -1, i = r.length; ++n < i; ) Jh(r[n], e); } }; function Ym(t, e, r) { var n = -1, i = t.length - r, a; for (e.lineStart(); ++n < i; ) a = t[n], e.point(a[0], a[1], a[2]); e.lineEnd(); } function V5(t, e) { var r = -1, n = t.length; for (e.polygonStart(); ++r < n; ) Ym(t[r], e, 1); e.polygonEnd(); } function Kn(t, e) { t && P5.hasOwnProperty(t.type) ? P5[t.type](t, e) : Jh(t, e); } var tf = new wr(), ef = new wr(), RT, IT, Um, Wm, Hm, Di = { point: Je, lineStart: Je, lineEnd: Je, polygonStart: function() { tf = new wr(), Di.lineStart = wq, Di.lineEnd = Tq; }, polygonEnd: function() { var t = +tf; ef.add(t < 0 ? sn + t : t), this.lineStart = this.lineEnd = this.point = Je; }, sphere: function() { ef.add(sn); } }; function wq() { Di.point = Eq; } function Tq() { NT(RT, IT); } function Eq(t, e) { Di.point = NT, RT = t, IT = e, t *= ie, e *= ie, Um = t, Wm = Zt(e = e / 2 + Zh), Hm = jt(e); } function NT(t, e) { t *= ie, e *= ie, e = e / 2 + Zh; var r = t - Um, n = r >= 0 ? 1 : -1, i = n * r, a = Zt(e), s = jt(e), o = Hm * s, l = Wm * a + o * Zt(i), u = o * n * jt(i); tf.add(on(u, l)), Um = t, Wm = a, Hm = s; } function Cq(t) { return ef = new wr(), Kn(t, Di), ef * 2; } function rf(t) { return [on(t[1], t[0]), ln(t[2])]; } function Is(t) { var e = t[0], r = t[1], n = Zt(r); return [n * Zt(e), n * jt(e), jt(r)]; } function Vu(t, e) { return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; } function zo(t, e) { return [t[1] * e[2] - t[2] * e[1], t[2] * e[0] - t[0] * e[2], t[0] * e[1] - t[1] * e[0]]; } function sd(t, e) { t[0] += e[0], t[1] += e[1], t[2] += e[2]; } function zu(t, e) { return [t[0] * e, t[1] * e, t[2] * e]; } function nf(t) { var e = Lr(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); t[0] /= e, t[1] /= e, t[2] /= e; } var Qe, dn, rr, An, ms, BT, DT, Eo, Jl, La, ga, sa = { point: Gm, lineStart: z5, lineEnd: Y5, polygonStart: function() { sa.point = FT, sa.lineStart = Sq, sa.lineEnd = Aq, Jl = new wr(), Di.polygonStart(); }, polygonEnd: function() { Di.polygonEnd(), sa.point = Gm, sa.lineStart = z5, sa.lineEnd = Y5, tf < 0 ? (Qe = -(rr = 180), dn = -(An = 90)) : Jl > ee ? An = 90 : Jl < -ee && (dn = -90), ga[0] = Qe, ga[1] = rr; }, sphere: function() { Qe = -(rr = 180), dn = -(An = 90); } }; function Gm(t, e) { La.push(ga = [Qe = t, rr = t]), e < dn && (dn = e), e > An && (An = e); } function OT(t, e) { var r = Is([t * ie, e * ie]); if (Eo) { var n = zo(Eo, r), i = [n[1], -n[0], 0], a = zo(i, n); nf(a), a = rf(a); var s = t - ms, o = s > 0 ? 1 : -1, l = a[0] * Ue * o, u, h = Ne(s) > 180; h ^ (o * ms < l && l < o * t) ? (u = a[1] * Ue, u > An && (An = u)) : (l = (l + 360) % 360 - 180, h ^ (o * ms < l && l < o * t) ? (u = -a[1] * Ue, u < dn && (dn = u)) : (e < dn && (dn = e), e > An && (An = e))), h ? t < ms ? En(Qe, t) > En(Qe, rr) && (rr = t) : En(t, rr) > En(Qe, rr) && (Qe = t) : rr >= Qe ? (t < Qe && (Qe = t), t > rr && (rr = t)) : t > ms ? En(Qe, t) > En(Qe, rr) && (rr = t) : En(t, rr) > En(Qe, rr) && (Qe = t); } else La.push(ga = [Qe = t, rr = t]); e < dn && (dn = e), e > An && (An = e), Eo = r, ms = t; } function z5() { sa.point = OT; } function Y5() { ga[0] = Qe, ga[1] = rr, sa.point = Gm, Eo = null; } function FT(t, e) { if (Eo) { var r = t - ms; Jl.add(Ne(r) > 180 ? r + (r > 0 ? 360 : -360) : r); } else BT = t, DT = e; Di.point(t, e), OT(t, e); } function Sq() { Di.lineStart(); } function Aq() { FT(BT, DT), Di.lineEnd(), Ne(Jl) > ee && (Qe = -(rr = 180)), ga[0] = Qe, ga[1] = rr, Eo = null; } function En(t, e) { return (e -= t) < 0 ? e + 360 : e; } function Mq(t, e) { return t[0] - e[0]; } function U5(t, e) { return t[0] <= t[1] ? t[0] <= e && e <= t[1] : e < t[0] || t[1] < e; } function Lq(t) { var e, r, n, i, a, s, o; if (An = rr = -(Qe = dn = 1 / 0), La = [], Kn(t, sa), r = La.length) { for (La.sort(Mq), e = 1, n = La[0], a = [n]; e < r; ++e) i = La[e], U5(n, i[0]) || U5(n, i[1]) ? (En(n[0], i[1]) > En(n[0], n[1]) && (n[1] = i[1]), En(i[0], n[1]) > En(n[0], n[1]) && (n[0] = i[0])) : a.push(n = i); for (s = -1 / 0, r = a.length - 1, e = 0, n = a[r]; e <= r; n = i, ++e) i = a[e], (o = En(n[1], i[0])) > s && (s = o, Qe = i[0], rr = n[1]); } return La = ga = null, Qe === 1 / 0 || dn === 1 / 0 ? [[NaN, NaN], [NaN, NaN]] : [[Qe, dn], [rr, An]]; } var Vl, af, sf, of, lf, cf, uf, hf, jm, $m, Xm, PT, qT, Kr, Zr, Qr, Jn = { sphere: Je, point: E3, lineStart: W5, lineEnd: H5, polygonStart: function() { Jn.lineStart = Nq, Jn.lineEnd = Bq; }, polygonEnd: function() { Jn.lineStart = W5, Jn.lineEnd = H5; } }; function E3(t, e) { t *= ie, e *= ie; var r = Zt(e); Jc(r * Zt(t), r * jt(t), jt(e)); } function Jc(t, e, r) { ++Vl, sf += (t - sf) / Vl, of += (e - of) / Vl, lf += (r - lf) / Vl; } function W5() { Jn.point = Rq; } function Rq(t, e) { t *= ie, e *= ie; var r = Zt(e); Kr = r * Zt(t), Zr = r * jt(t), Qr = jt(e), Jn.point = Iq, Jc(Kr, Zr, Qr); } function Iq(t, e) { t *= ie, e *= ie; var r = Zt(e), n = r * Zt(t), i = r * jt(t), a = jt(e), s = on(Lr((s = Zr * a - Qr * i) * s + (s = Qr * n - Kr * a) * s + (s = Kr * i - Zr * n) * s), Kr * n + Zr * i + Qr * a); af += s, cf += s * (Kr + (Kr = n)), uf += s * (Zr + (Zr = i)), hf += s * (Qr + (Qr = a)), Jc(Kr, Zr, Qr); } function H5() { Jn.point = E3; } function Nq() { Jn.point = Dq; } function Bq() { VT(PT, qT), Jn.point = E3; } function Dq(t, e) { PT = t, qT = e, t *= ie, e *= ie, Jn.point = VT; var r = Zt(e); Kr = r * Zt(t), Zr = r * jt(t), Qr = jt(e), Jc(Kr, Zr, Qr); } function VT(t, e) { t *= ie, e *= ie; var r = Zt(e), n = r * Zt(t), i = r * jt(t), a = jt(e), s = Zr * a - Qr * i, o = Qr * n - Kr * a, l = Kr * i - Zr * n, u = zm(s, o, l), h = ln(u), d = u && -h / u; jm.add(d * s), $m.add(d * o), Xm.add(d * l), af += h, cf += h * (Kr + (Kr = n)), uf += h * (Zr + (Zr = i)), hf += h * (Qr + (Qr = a)), Jc(Kr, Zr, Qr); } function Oq(t) { Vl = af = sf = of = lf = cf = uf = hf = 0, jm = new wr(), $m = new wr(), Xm = new wr(), Kn(t, Jn); var e = +jm, r = +$m, n = +Xm, i = zm(e, r, n); return i < Ec && (e = cf, r = uf, n = hf, af < ee && (e = sf, r = of, n = lf), i = zm(e, r, n), i < Ec) ? [NaN, NaN] : [on(r, e) * Ue, ln(n / i) * Ue]; } function po(t) { return function() { return t; }; } function Km(t, e) { function r(n, i) { return n = t(n, i), e(n[0], n[1]); } return t.invert && e.invert && (r.invert = function(n, i) { return n = e.invert(n, i), n && t.invert(n[0], n[1]); }), r; } function Zm(t, e) { return [Ne(t) > Se ? t + Math.round(-t / sn) * sn : t, e]; } Zm.invert = Zm; function C3(t, e, r) { return (t %= sn) ? e || r ? Km(j5(t), $5(e, r)) : j5(t) : e || r ? $5(e, r) : Zm; } function G5(t) { return function(e, r) { return e += t, [e > Se ? e - sn : e < -Se ? e + sn : e, r]; }; } function j5(t) { var e = G5(t); return e.invert = G5(-t), e; } function $5(t, e) { var r = Zt(t), n = jt(t), i = Zt(e), a = jt(e); function s(o, l) { var u = Zt(l), h = Zt(o) * u, d = jt(o) * u, f = jt(l), p = f * r + h * n; return [ on(d * i - p * a, h * r - f * n), ln(p * i + d * a) ]; } return s.invert = function(o, l) { var u = Zt(l), h = Zt(o) * u, d = jt(o) * u, f = jt(l), p = f * i - d * a; return [ on(d * i + f * a, h * r + p * n), ln(p * r - h * n) ]; }, s; } function zT(t) { t = C3(t[0] * ie, t[1] * ie, t.length > 2 ? t[2] * ie : 0); function e(r) { return r = t(r[0] * ie, r[1] * ie), r[0] *= Ue, r[1] *= Ue, r; } return e.invert = function(r) { return r = t.invert(r[0] * ie, r[1] * ie), r[0] *= Ue, r[1] *= Ue, r; }, e; } function YT(t, e, r, n, i, a) { if (!!r) { var s = Zt(e), o = jt(e), l = n * r; i == null ? (i = e + n * sn, a = e - l / 2) : (i = X5(s, i), a = X5(s, a), (n > 0 ? i < a : i > a) && (i += n * sn)); for (var u, h = i; n > 0 ? h > a : h < a; h -= l) u = rf([s, -o * Zt(h), -o * jt(h)]), t.point(u[0], u[1]); } } function X5(t, e) { e = Is(e), e[0] -= t, nf(e); var r = LT(-e[1]); return ((-e[2] < 0 ? -r : r) + sn - ee) % sn; } function Fq() { var t = po([0, 0]), e = po(90), r = po(6), n, i, a = { point: s }; function s(l, u) { n.push(l = i(l, u)), l[0] *= Ue, l[1] *= Ue; } function o() { var l = t.apply(this, arguments), u = e.apply(this, arguments) * ie, h = r.apply(this, arguments) * ie; return n = [], i = C3(-l[0] * ie, -l[1] * ie, 0).invert, YT(a, u, h, 1), l = { type: "Polygon", coordinates: [n] }, n = i = null, l; } return o.center = function(l) { return arguments.length ? (t = typeof l == "function" ? l : po([+l[0], +l[1]]), o) : t; }, o.radius = function(l) { return arguments.length ? (e = typeof l == "function" ? l : po(+l), o) : e; }, o.precision = function(l) { return arguments.length ? (r = typeof l == "function" ? l : po(+l), o) : r; }, o; } function UT() { var t = [], e; return { point: function(r, n, i) { e.push([r, n, i]); }, lineStart: function() { t.push(e = []); }, lineEnd: Je, rejoin: function() { t.length > 1 && t.push(t.pop().concat(t.shift())); }, result: function() { var r = t; return t = [], e = null, r; } }; } function vh(t, e) { return Ne(t[0] - e[0]) < ee && Ne(t[1] - e[1]) < ee; } function Yu(t, e, r, n) { this.x = t, this.z = e, this.o = r, this.e = n, this.v = !1, this.n = this.p = null; } function WT(t, e, r, n, i) { var a = [], s = [], o, l; if (t.forEach(function(m) { if (!((_ = m.length - 1) <= 0)) { var _, y = m[0], b = m[_], x; if (vh(y, b)) { if (!y[2] && !b[2]) { for (i.lineStart(), o = 0; o < _; ++o) i.point((y = m[o])[0], y[1]); i.lineEnd(); return; } b[0] += 2 * ee; } a.push(x = new Yu(y, m, null, !0)), s.push(x.o = new Yu(y, null, x, !1)), a.push(x = new Yu(b, m, null, !1)), s.push(x.o = new Yu(b, null, x, !0)); } }), !!a.length) { for (s.sort(e), K5(a), K5(s), o = 0, l = s.length; o < l; ++o) s[o].e = r = !r; for (var u = a[0], h, d; ; ) { for (var f = u, p = !0; f.v; ) if ((f = f.n) === u) return; h = f.z, i.lineStart(); do { if (f.v = f.o.v = !0, f.e) { if (p) for (o = 0, l = h.length; o < l; ++o) i.point((d = h[o])[0], d[1]); else n(f.x, f.n.x, 1, i); f = f.n; } else { if (p) for (h = f.p.z, o = h.length - 1; o >= 0; --o) i.point((d = h[o])[0], d[1]); else n(f.x, f.p.x, -1, i); f = f.p; } f = f.o, h = f.z, p = !p; } while (!f.v); i.lineEnd(); } } } function K5(t) { if (!!(e = t.length)) { for (var e, r = 0, n = t[0], i; ++r < e; ) n.n = i = t[r], i.p = n, n = i; n.n = i = t[0], i.p = n; } } function od(t) { return Ne(t[0]) <= Se ? t[0] : On(t[0]) * ((Ne(t[0]) + Se) % sn - Se); } function HT(t, e) { var r = od(e), n = e[1], i = jt(n), a = [jt(r), -Zt(r), 0], s = 0, o = 0, l = new wr(); i === 1 ? n = ar + ee : i === -1 && (n = -ar - ee); for (var u = 0, h = t.length; u < h; ++u) if (!!(f = (d = t[u]).length)) for (var d, f, p = d[f - 1], m = od(p), _ = p[1] / 2 + Zh, y = jt(_), b = Zt(_), x = 0; x < f; ++x, m = T, y = M, b = S, p = k) { var k = d[x], T = od(k), C = k[1] / 2 + Zh, M = jt(C), S = Zt(C), R = T - m, A = R >= 0 ? 1 : -1, L = A * R, v = L > Se, B = y * M; if (l.add(on(B * A * jt(L), b * S + B * Zt(L))), s += v ? R + A * sn : R, v ^ m >= r ^ T >= r) { var w = zo(Is(p), Is(k)); nf(w); var D = zo(a, w); nf(D); var N = (v ^ R >= 0 ? -1 : 1) * ln(D[2]); (n > N || n === N && (w[0] || w[1])) && (o += v ^ R >= 0 ? 1 : -1); } } return (s < -ee || s < ee && l < -Ec) ^ o & 1; } function GT(t, e, r, n) { return function(i) { var a = e(i), s = UT(), o = e(s), l = !1, u, h, d, f = { point: p, lineStart: _, lineEnd: y, polygonStart: function() { f.point = b, f.lineStart = x, f.lineEnd = k, h = [], u = []; }, polygonEnd: function() { f.point = p, f.lineStart = _, f.lineEnd = y, h = e3(h); var T = HT(u, n); h.length ? (l || (i.polygonStart(), l = !0), WT(h, qq, T, r, i)) : T && (l || (i.polygonStart(), l = !0), i.lineStart(), r(null, null, 1, i), i.lineEnd()), l && (i.polygonEnd(), l = !1), h = u = null; }, sphere: function() { i.polygonStart(), i.lineStart(), r(null, null, 1, i), i.lineEnd(), i.polygonEnd(); } }; function p(T, C) { t(T, C) && i.point(T, C); } function m(T, C) { a.point(T, C); } function _() { f.point = m, a.lineStart(); } function y() { f.point = p, a.lineEnd(); } function b(T, C) { d.push([T, C]), o.point(T, C); } function x() { o.lineStart(), d = []; } function k() { b(d[0][0], d[0][1]), o.lineEnd(); var T = o.clean(), C = s.result(), M, S = C.length, R, A, L; if (d.pop(), u.push(d), d = null, !!S) { if (T & 1) { if (A = C[0], (R = A.length - 1) > 0) { for (l || (i.polygonStart(), l = !0), i.lineStart(), M = 0; M < R; ++M) i.point((L = A[M])[0], L[1]); i.lineEnd(); } return; } S > 1 && T & 2 && C.push(C.pop().concat(C.shift())), h.push(C.filter(Pq)); } } return f; }; } function Pq(t) { return t.length > 1; } function qq(t, e) { return ((t = t.x)[0] < 0 ? t[1] - ar - ee : ar - t[1]) - ((e = e.x)[0] < 0 ? e[1] - ar - ee : ar - e[1]); } const Qm = GT( function() { return !0; }, Vq, Yq, [-Se, -ar] ); function Vq(t) { var e = NaN, r = NaN, n = NaN, i; return { lineStart: function() { t.lineStart(), i = 1; }, point: function(a, s) { var o = a > 0 ? Se : -Se, l = Ne(a - e); Ne(l - Se) < ee ? (t.point(e, r = (r + s) / 2 > 0 ? ar : -ar), t.point(n, r), t.lineEnd(), t.lineStart(), t.point(o, r), t.point(a, r), i = 0) : n !== o && l >= Se && (Ne(e - n) < ee && (e -= n * ee), Ne(a - o) < ee && (a -= o * ee), r = zq(e, r, a, s), t.point(n, r), t.lineEnd(), t.lineStart(), t.point(o, r), i = 0), t.point(e = a, r = s), n = o; }, lineEnd: function() { t.lineEnd(), e = r = NaN; }, clean: function() { return 2 - i; } }; } function zq(t, e, r, n) { var i, a, s = jt(t - r); return Ne(s) > ee ? sl((jt(e) * (a = Zt(n)) * jt(r) - jt(n) * (i = Zt(e)) * jt(t)) / (i * a * s)) : (e + n) / 2; } function Yq(t, e, r, n) { var i; if (t == null) i = r * ar, n.point(-Se, i), n.point(0, i), n.point(Se, i), n.point(Se, 0), n.point(Se, -i), n.point(0, -i), n.point(-Se, -i), n.point(-Se, 0), n.point(-Se, i); else if (Ne(t[0] - e[0]) > ee) { var a = t[0] < e[0] ? Se : -Se; i = r * a / 2, n.point(-a, i), n.point(0, i), n.point(a, i); } else n.point(e[0], e[1]); } function jT(t) { var e = Zt(t), r = 6 * ie, n = e > 0, i = Ne(e) > ee; function a(h, d, f, p) { YT(p, t, r, f, h, d); } function s(h, d) { return Zt(h) * Zt(d) > e; } function o(h) { var d, f, p, m, _; return { lineStart: function() { m = p = !1, _ = 1; }, point: function(y, b) { var x = [y, b], k, T = s(y, b), C = n ? T ? 0 : u(y, b) : T ? u(y + (y < 0 ? Se : -Se), b) : 0; if (!d && (m = p = T) && h.lineStart(), T !== p && (k = l(d, x), (!k || vh(d, k) || vh(x, k)) && (x[2] = 1)), T !== p) _ = 0, T ? (h.lineStart(), k = l(x, d), h.point(k[0], k[1])) : (k = l(d, x), h.point(k[0], k[1], 2), h.lineEnd()), d = k; else if (i && d && n ^ T) { var M; !(C & f) && (M = l(x, d, !0)) && (_ = 0, n ? (h.lineStart(), h.point(M[0][0], M[0][1]), h.point(M[1][0], M[1][1]), h.lineEnd()) : (h.point(M[1][0], M[1][1]), h.lineEnd(), h.lineStart(), h.point(M[0][0], M[0][1], 3))); } T && (!d || !vh(d, x)) && h.point(x[0], x[1]), d = x, p = T, f = C; }, lineEnd: function() { p && h.lineEnd(), d = null; }, clean: function() { return _ | (m && p) << 1; } }; } function l(h, d, f) { var p = Is(h), m = Is(d), _ = [1, 0, 0], y = zo(p, m), b = Vu(y, y), x = y[0], k = b - x * x; if (!k) return !f && h; var T = e * b / k, C = -e * x / k, M = zo(_, y), S = zu(_, T), R = zu(y, C); sd(S, R); var A = M, L = Vu(S, A), v = Vu(A, A), B = L * L - v * (Vu(S, S) - 1); if (!(B < 0)) { var w = Lr(B), D = zu(A, (-L - w) / v); if (sd(D, S), D = rf(D), !f) return D; var N = h[0], z = d[0], X = h[1], ct = d[1], J; z < N && (J = N, N = z, z = J); var Y = z - N, $ = Ne(Y - Se) < ee, lt = $ || Y < ee; if (!$ && ct < X && (J = X, X = ct, ct = J), lt ? $ ? X + ct > 0 ^ D[1] < (Ne(D[0] - N) < ee ? X : ct) : X <= D[1] && D[1] <= ct : Y > Se ^ (N <= D[0] && D[0] <= z)) { var ut = zu(A, (-L + w) / v); return sd(ut, S), [D, rf(ut)]; } } } function u(h, d) { var f = n ? t : Se - t, p = 0; return h < -f ? p |= 1 : h > f && (p |= 2), d < -f ? p |= 4 : d > f && (p |= 8), p; } return GT(s, o, a, n ? [0, -t] : [-Se, t - Se]); } function Uq(t, e, r, n, i, a) { var s = t[0], o = t[1], l = e[0], u = e[1], h = 0, d = 1, f = l - s, p = u - o, m; if (m = r - s, !(!f && m > 0)) { if (m /= f, f < 0) { if (m < h) return; m < d && (d = m); } else if (f > 0) { if (m > d) return; m > h && (h = m); } if (m = i - s, !(!f && m < 0)) { if (m /= f, f < 0) { if (m > d) return; m > h && (h = m); } else if (f > 0) { if (m < h) return; m < d && (d = m); } if (m = n - o, !(!p && m > 0)) { if (m /= p, p < 0) { if (m < h) return; m < d && (d = m); } else if (p > 0) { if (m > d) return; m > h && (h = m); } if (m = a - o, !(!p && m < 0)) { if (m /= p, p < 0) { if (m > d) return; m > h && (h = m); } else if (p > 0) { if (m < h) return; m < d && (d = m); } return h > 0 && (t[0] = s + h * f, t[1] = o + h * p), d < 1 && (e[0] = s + d * f, e[1] = o + d * p), !0; } } } } } var zl = 1e9, Uu = -zl; function L1(t, e, r, n) { function i(u, h) { return t <= u && u <= r && e <= h && h <= n; } function a(u, h, d, f) { var p = 0, m = 0; if (u == null || (p = s(u, d)) !== (m = s(h, d)) || l(u, h) < 0 ^ d > 0) do f.point(p === 0 || p === 3 ? t : r, p > 1 ? n : e); while ((p = (p + d + 4) % 4) !== m); else f.point(h[0], h[1]); } function s(u, h) { return Ne(u[0] - t) < ee ? h > 0 ? 0 : 3 : Ne(u[0] - r) < ee ? h > 0 ? 2 : 1 : Ne(u[1] - e) < ee ? h > 0 ? 1 : 0 : h > 0 ? 3 : 2; } function o(u, h) { return l(u.x, h.x); } function l(u, h) { var d = s(u, 1), f = s(h, 1); return d !== f ? d - f : d === 0 ? h[1] - u[1] : d === 1 ? u[0] - h[0] : d === 2 ? u[1] - h[1] : h[0] - u[0]; } return function(u) { var h = u, d = UT(), f, p, m, _, y, b, x, k, T, C, M, S = { point: R, lineStart: B, lineEnd: w, polygonStart: L, polygonEnd: v }; function R(N, z) { i(N, z) && h.point(N, z); } function A() { for (var N = 0, z = 0, X = p.length; z < X; ++z) for (var ct = p[z], J = 1, Y = ct.length, $ = ct[0], lt, ut, W = $[0], tt = $[1]; J < Y; ++J) lt = W, ut = tt, $ = ct[J], W = $[0], tt = $[1], ut <= n ? tt > n && (W - lt) * (n - ut) > (tt - ut) * (t - lt) && ++N : tt <= n && (W - lt) * (n - ut) < (tt - ut) * (t - lt) && --N; return N; } function L() { h = d, f = [], p = [], M = !0; } function v() { var N = A(), z = M && N, X = (f = e3(f)).length; (z || X) && (u.polygonStart(), z && (u.lineStart(), a(null, null, 1, u), u.lineEnd()), X && WT(f, o, N, a, u), u.polygonEnd()), h = u, f = p = m = null; } function B() { S.point = D, p && p.push(m = []), C = !0, T = !1, x = k = NaN; } function w() { f && (D(_, y), b && T && d.rejoin(), f.push(d.result())), S.point = R, T && h.lineEnd(); } function D(N, z) { var X = i(N, z); if (p && m.push([N, z]), C) _ = N, y = z, b = X, C = !1, X && (h.lineStart(), h.point(N, z)); else if (X && T) h.point(N, z); else { var ct = [x = Math.max(Uu, Math.min(zl, x)), k = Math.max(Uu, Math.min(zl, k))], J = [N = Math.max(Uu, Math.min(zl, N)), z = Math.max(Uu, Math.min(zl, z))]; Uq(ct, J, t, e, r, n) ? (T || (h.lineStart(), h.point(ct[0], ct[1])), h.point(J[0], J[1]), X || h.lineEnd(), M = !1) : X && (h.lineStart(), h.point(N, z), M = !1); } x = N, k = z, T = X; } return S; }; } function Wq() { var t = 0, e = 0, r = 960, n = 500, i, a, s; return s = { stream: function(o) { return i && a === o ? i : i = L1(t, e, r, n)(a = o); }, extent: function(o) { return arguments.length ? (t = +o[0][0], e = +o[0][1], r = +o[1][0], n = +o[1][1], i = a = null, s) : [[t, e], [r, n]]; } }; } var Jm, tb, xh, kh, Yo = { sphere: Je, point: Je, lineStart: Hq, lineEnd: Je, polygonStart: Je, polygonEnd: Je }; function Hq() { Yo.point = jq, Yo.lineEnd = Gq; } function Gq() { Yo.point = Yo.lineEnd = Je; } function jq(t, e) { t *= ie, e *= ie, tb = t, xh = jt(e), kh = Zt(e), Yo.point = $q; } function $q(t, e) { t *= ie, e *= ie; var r = jt(e), n = Zt(e), i = Ne(t - tb), a = Zt(i), s = jt(i), o = n * s, l = kh * r - xh * n * a, u = xh * r + kh * n * a; Jm.add(on(Lr(o * o + l * l), u)), tb = t, xh = r, kh = n; } function $T(t) { return Jm = new wr(), Kn(t, Yo), +Jm; } var eb = [null, null], Xq = { type: "LineString", coordinates: eb }; function ff(t, e) { return eb[0] = t, eb[1] = e, $T(Xq); } var Z5 = { Feature: function(t, e) { return df(t.geometry, e); }, FeatureCollection: function(t, e) { for (var r = t.features, n = -1, i = r.length; ++n < i; ) if (df(r[n].geometry, e)) return !0; return !1; } }, Q5 = { Sphere: function() { return !0; }, Point: function(t, e) { return J5(t.coordinates, e); }, MultiPoint: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) if (J5(r[n], e)) return !0; return !1; }, LineString: function(t, e) { return tv(t.coordinates, e); }, MultiLineString: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) if (tv(r[n], e)) return !0; return !1; }, Polygon: function(t, e) { return ev(t.coordinates, e); }, MultiPolygon: function(t, e) { for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) if (ev(r[n], e)) return !0; return !1; }, GeometryCollection: function(t, e) { for (var r = t.geometries, n = -1, i = r.length; ++n < i; ) if (df(r[n], e)) return !0; return !1; } }; function df(t, e) { return t && Q5.hasOwnProperty(t.type) ? Q5[t.type](t, e) : !1; } function J5(t, e) { return ff(t, e) === 0; } function tv(t, e) { for (var r, n, i, a = 0, s = t.length; a < s; a++) { if (n = ff(t[a], e), n === 0 || a > 0 && (i = ff(t[a], t[a - 1]), i > 0 && r <= i && n <= i && (r + n - i) * (1 - Math.pow((r - n) / i, 2)) < Ec * i)) return !0; r = n; } return !1; } function ev(t, e) { return !!HT(t.map(Kq), XT(e)); } function Kq(t) { return t = t.map(XT), t.pop(), t; } function XT(t) { return [t[0] * ie, t[1] * ie]; } function Zq(t, e) { return (t && Z5.hasOwnProperty(t.type) ? Z5[t.type] : df)(t, e); } function rv(t, e, r) { var n = Da(t, e - ee, r).concat(e); return function(i) { return n.map(function(a) { return [i, a]; }); }; } function nv(t, e, r) { var n = Da(t, e - ee, r).concat(e); return function(i) { return n.map(function(a) { return [a, i]; }); }; } function KT() { var t, e, r, n, i, a, s, o, l = 10, u = l, h = 90, d = 360, f, p, m, _, y = 2.5; function b() { return { type: "MultiLineString", coordinates: x() }; } function x() { return Da(qu(n / h) * h, r, h).map(m).concat(Da(qu(o / d) * d, s, d).map(_)).concat(Da(qu(e / l) * l, t, l).filter(function(k) { return Ne(k % h) > ee; }).map(f)).concat(Da(qu(a / u) * u, i, u).filter(function(k) { return Ne(k % d) > ee; }).map(p)); } return b.lines = function() { return x().map(function(k) { return { type: "LineString", coordinates: k }; }); }, b.outline = function() { return { type: "Polygon", coordinates: [ m(n).concat( _(s).slice(1), m(r).reverse().slice(1), _(o).reverse().slice(1) ) ] }; }, b.extent = function(k) { return arguments.length ? b.extentMajor(k).extentMinor(k) : b.extentMinor(); }, b.extentMajor = function(k) { return arguments.length ? (n = +k[0][0], r = +k[1][0], o = +k[0][1], s = +k[1][1], n > r && (k = n, n = r, r = k), o > s && (k = o, o = s, s = k), b.precision(y)) : [[n, o], [r, s]]; }, b.extentMinor = function(k) { return arguments.length ? (e = +k[0][0], t = +k[1][0], a = +k[0][1], i = +k[1][1], e > t && (k = e, e = t, t = k), a > i && (k = a, a = i, i = k), b.precision(y)) : [[e, a], [t, i]]; }, b.step = function(k) { return arguments.length ? b.stepMajor(k).stepMinor(k) : b.stepMinor(); }, b.stepMajor = function(k) { return arguments.length ? (h = +k[0], d = +k[1], b) : [h, d]; }, b.stepMinor = function(k) { return arguments.length ? (l = +k[0], u = +k[1], b) : [l, u]; }, b.precision = function(k) { return arguments.length ? (y = +k, f = rv(a, i, 90), p = nv(e, t, y), m = rv(o, s, 90), _ = nv(n, r, y), b) : y; }, b.extentMajor([[-180, -90 + ee], [180, 90 - ee]]).extentMinor([[-180, -80 - ee], [180, 80 + ee]]); } function Qq() { return KT()(); } function Jq(t, e) { var r = t[0] * ie, n = t[1] * ie, i = e[0] * ie, a = e[1] * ie, s = Zt(n), o = jt(n), l = Zt(a), u = jt(a), h = s * Zt(r), d = s * jt(r), f = l * Zt(i), p = l * jt(i), m = 2 * ln(Lr(F5(a - n) + s * l * F5(i - r))), _ = jt(m), y = m ? function(b) { var x = jt(b *= m) / _, k = jt(m - b) / _, T = k * h + x * f, C = k * d + x * p, M = k * o + x * u; return [ on(C, T) * Ue, on(M, Lr(T * T + C * C)) * Ue ]; } : function() { return [r * Ue, n * Ue]; }; return y.distance = m, y; } const Cc = (t) => t; var ld = new wr(), rb = new wr(), ZT, QT, nb, ib, Ia = { point: Je, lineStart: Je, lineEnd: Je, polygonStart: function() { Ia.lineStart = tV, Ia.lineEnd = rV; }, polygonEnd: function() { Ia.lineStart = Ia.lineEnd = Ia.point = Je, ld.add(Ne(rb)), rb = new wr(); }, result: function() { var t = ld / 2; return ld = new wr(), t; } }; function tV() { Ia.point = eV; } function eV(t, e) { Ia.point = JT, ZT = nb = t, QT = ib = e; } function JT(t, e) { rb.add(ib * t - nb * e), nb = t, ib = e; } function rV() { JT(ZT, QT); } const iv = Ia; var Uo = 1 / 0, pf = Uo, Sc = -Uo, gf = Sc, nV = { point: iV, lineStart: Je, lineEnd: Je, polygonStart: Je, polygonEnd: Je, result: function() { var t = [[Uo, pf], [Sc, gf]]; return Sc = gf = -(pf = Uo = 1 / 0), t; } }; function iV(t, e) { t < Uo && (Uo = t), t > Sc && (Sc = t), e < pf && (pf = e), e > gf && (gf = e); } const yf = nV; var ab = 0, sb = 0, Yl = 0, mf = 0, bf = 0, _o = 0, ob = 0, lb = 0, Ul = 0, tE, eE, Ei, Ci, Zn = { point: Ns, lineStart: av, lineEnd: sv, polygonStart: function() { Zn.lineStart = oV, Zn.lineEnd = lV; }, polygonEnd: function() { Zn.point = Ns, Zn.lineStart = av, Zn.lineEnd = sv; }, result: function() { var t = Ul ? [ob / Ul, lb / Ul] : _o ? [mf / _o, bf / _o] : Yl ? [ab / Yl, sb / Yl] : [NaN, NaN]; return ab = sb = Yl = mf = bf = _o = ob = lb = Ul = 0, t; } }; function Ns(t, e) { ab += t, sb += e, ++Yl; } function av() { Zn.point = aV; } function aV(t, e) { Zn.point = sV, Ns(Ei = t, Ci = e); } function sV(t, e) { var r = t - Ei, n = e - Ci, i = Lr(r * r + n * n); mf += i * (Ei + t) / 2, bf += i * (Ci + e) / 2, _o += i, Ns(Ei = t, Ci = e); } function sv() { Zn.point = Ns; } function oV() { Zn.point = cV; } function lV() { rE(tE, eE); } function cV(t, e) { Zn.point = rE, Ns(tE = Ei = t, eE = Ci = e); } function rE(t, e) { var r = t - Ei, n = e - Ci, i = Lr(r * r + n * n); mf += i * (Ei + t) / 2, bf += i * (Ci + e) / 2, _o += i, i = Ci * t - Ei * e, ob += i * (Ei + t), lb += i * (Ci + e), Ul += i * 3, Ns(Ei = t, Ci = e); } const ov = Zn; function nE(t) { this._context = t; } nE.prototype = { _radius: 4.5, pointRadius: function(t) { return this._radius = t, this; }, polygonStart: function() { this._line = 0; }, polygonEnd: function() { this._line = NaN; }, lineStart: function() { this._point = 0; }, lineEnd: function() { this._line === 0 && this._context.closePath(), this._point = NaN; }, point: function(t, e) { switch (this._point) { case 0: { this._context.moveTo(t, e), this._point = 1; break; } case 1: { this._context.lineTo(t, e); break; } default: { this._context.moveTo(t + this._radius, e), this._context.arc(t, e, this._radius, 0, sn); break; } } }, result: Je }; var cb = new wr(), cd, iE, aE, Wl, Hl, _f = { point: Je, lineStart: function() { _f.point = uV; }, lineEnd: function() { cd && sE(iE, aE), _f.point = Je; }, polygonStart: function() { cd = !0; }, polygonEnd: function() { cd = null; }, result: function() { var t = +cb; return cb = new wr(), t; } }; function uV(t, e) { _f.point = sE, iE = Wl = t, aE = Hl = e; } function sE(t, e) { Wl -= t, Hl -= e, cb.add(Lr(Wl * Wl + Hl * Hl)), Wl = t, Hl = e; } const lv = _f; function oE() { this._string = []; } oE.prototype = { _radius: 4.5, _circle: cv(4.5), pointRadius: function(t) { return (t = +t) !== this._radius && (this._radius = t, this._circle = null), this; }, polygonStart: function() { this._line = 0; }, polygonEnd: function() { this._line = NaN; }, lineStart: function() { this._point = 0; }, lineEnd: function() { this._line === 0 && this._string.push("Z"), this._point = NaN; }, point: function(t, e) { switch (this._point) { case 0: { this._string.push("M", t, ",", e), this._point = 1; break; } case 1: { this._string.push("L", t, ",", e); break; } default: { this._circle == null && (this._circle = cv(this._radius)), this._string.push("M", t, ",", e, this._circle); break; } } }, result: function() { if (this._string.length) { var t = this._string.join(""); return this._string = [], t; } else return null; } }; function cv(t) { return "m0," + t + "a" + t + "," + t + " 0 1,1 0," + -2 * t + "a" + t + "," + t + " 0 1,1 0," + 2 * t + "z"; } function hV(t, e) { var r = 4.5, n, i; function a(s) { return s && (typeof r == "function" && i.pointRadius(+r.apply(this, arguments)), Kn(s, n(i))), i.result(); } return a.area = function(s) { return Kn(s, n(iv)), iv.result(); }, a.measure = function(s) { return Kn(s, n(lv)), lv.result(); }, a.bounds = function(s) { return Kn(s, n(yf)), yf.result(); }, a.centroid = function(s) { return Kn(s, n(ov)), ov.result(); }, a.projection = function(s) { return arguments.length ? (n = s == null ? (t = null, Cc) : (t = s).stream, a) : t; }, a.context = function(s) { return arguments.length ? (i = s == null ? (e = null, new oE()) : new nE(e = s), typeof r != "function" && i.pointRadius(r), a) : e; }, a.pointRadius = function(s) { return arguments.length ? (r = typeof s == "function" ? s : (i.pointRadius(+s), +s), a) : r; }, a.projection(t).context(e); } function fV(t) { return { stream: tu(t) }; } function tu(t) { return function(e) { var r = new ub(); for (var n in t) r[n] = t[n]; return r.stream = e, r; }; } function ub() { } ub.prototype = { constructor: ub, point: function(t, e) { this.stream.point(t, e); }, sphere: function() { this.stream.sphere(); }, lineStart: function() { this.stream.lineStart(); }, lineEnd: function() { this.stream.lineEnd(); }, polygonStart: function() { this.stream.polygonStart(); }, polygonEnd: function() { this.stream.polygonEnd(); } }; function S3(t, e, r) { var n = t.clipExtent && t.clipExtent(); return t.scale(150).translate([0, 0]), n != null && t.clipExtent(null), Kn(r, t.stream(yf)), e(yf.result()), n != null && t.clipExtent(n), t; } function R1(t, e, r) { return S3(t, function(n) { var i = e[1][0] - e[0][0], a = e[1][1] - e[0][1], s = Math.min(i / (n[1][0] - n[0][0]), a / (n[1][1] - n[0][1])), o = +e[0][0] + (i - s * (n[1][0] + n[0][0])) / 2, l = +e[0][1] + (a - s * (n[1][1] + n[0][1])) / 2; t.scale(150 * s).translate([o, l]); }, r); } function A3(t, e, r) { return R1(t, [[0, 0], e], r); } function M3(t, e, r) { return S3(t, function(n) { var i = +e, a = i / (n[1][0] - n[0][0]), s = (i - a * (n[1][0] + n[0][0])) / 2, o = -a * n[0][1]; t.scale(150 * a).translate([s, o]); }, r); } function L3(t, e, r) { return S3(t, function(n) { var i = +e, a = i / (n[1][1] - n[0][1]), s = -a * n[0][0], o = (i - a * (n[1][1] + n[0][1])) / 2; t.scale(150 * a).translate([s, o]); }, r); } var uv = 16, dV = Zt(30 * ie); function hv(t, e) { return +e ? gV(t, e) : pV(t); } function pV(t) { return tu({ point: function(e, r) { e = t(e, r), this.stream.point(e[0], e[1]); } }); } function gV(t, e) { function r(n, i, a, s, o, l, u, h, d, f, p, m, _, y) { var b = u - n, x = h - i, k = b * b + x * x; if (k > 4 * e && _--) { var T = s + f, C = o + p, M = l + m, S = Lr(T * T + C * C + M * M), R = ln(M /= S), A = Ne(Ne(M) - 1) < ee || Ne(a - d) < ee ? (a + d) / 2 : on(C, T), L = t(A, R), v = L[0], B = L[1], w = v - n, D = B - i, N = x * w - b * D; (N * N / k > e || Ne((b * w + x * D) / k - 0.5) > 0.3 || s * f + o * p + l * m < dV) && (r(n, i, a, s, o, l, v, B, A, T /= S, C /= S, M, _, y), y.point(v, B), r(v, B, A, T, C, M, u, h, d, f, p, m, _, y)); } } return function(n) { var i, a, s, o, l, u, h, d, f, p, m, _, y = { point: b, lineStart: x, lineEnd: T, polygonStart: function() { n.polygonStart(), y.lineStart = C; }, polygonEnd: function() { n.polygonEnd(), y.lineStart = x; } }; function b(R, A) { R = t(R, A), n.point(R[0], R[1]); } function x() { d = NaN, y.point = k, n.lineStart(); } function k(R, A) { var L = Is([R, A]), v = t(R, A); r(d, f, h, p, m, _, d = v[0], f = v[1], h = R, p = L[0], m = L[1], _ = L[2], uv, n), n.point(d, f); } function T() { y.point = b, n.lineEnd(); } function C() { x(), y.point = M, y.lineEnd = S; } function M(R, A) { k(i = R, A), a = d, s = f, o = p, l = m, u = _, y.point = k; } function S() { r(d, f, h, p, m, _, a, s, i, o, l, u, uv, n), y.lineEnd = T, T(); } return y; }; } var yV = tu({ point: function(t, e) { this.stream.point(t * ie, e * ie); } }); function mV(t) { return tu({ point: function(e, r) { var n = t(e, r); return this.stream.point(n[0], n[1]); } }); } function bV(t, e, r, n, i) { function a(s, o) { return s *= n, o *= i, [e + t * s, r - t * o]; } return a.invert = function(s, o) { return [(s - e) / t * n, (r - o) / t * i]; }, a; } function fv(t, e, r, n, i, a) { if (!a) return bV(t, e, r, n, i); var s = Zt(a), o = jt(a), l = s * t, u = o * t, h = s / t, d = o / t, f = (o * r - s * e) / t, p = (o * e + s * r) / t; function m(_, y) { return _ *= n, y *= i, [l * _ - u * y + e, r - u * _ - l * y]; } return m.invert = function(_, y) { return [n * (h * _ - d * y + f), i * (p - d * _ - h * y)]; }, m; } function zi(t) { return R3(function() { return t; })(); } function R3(t) { var e, r = 150, n = 480, i = 250, a = 0, s = 0, o = 0, l = 0, u = 0, h, d = 0, f = 1, p = 1, m = null, _ = Qm, y = null, b, x, k, T = Cc, C = 0.5, M, S, R, A, L; function v(N) { return R(N[0] * ie, N[1] * ie); } function B(N) { return N = R.invert(N[0], N[1]), N && [N[0] * Ue, N[1] * Ue]; } v.stream = function(N) { return A && L === N ? A : A = yV(mV(h)(_(M(T(L = N))))); }, v.preclip = function(N) { return arguments.length ? (_ = N, m = void 0, D()) : _; }, v.postclip = function(N) { return arguments.length ? (T = N, y = b = x = k = null, D()) : T; }, v.clipAngle = function(N) { return arguments.length ? (_ = +N ? jT(m = N * ie) : (m = null, Qm), D()) : m * Ue; }, v.clipExtent = function(N) { return arguments.length ? (T = N == null ? (y = b = x = k = null, Cc) : L1(y = +N[0][0], b = +N[0][1], x = +N[1][0], k = +N[1][1]), D()) : y == null ? null : [[y, b], [x, k]]; }, v.scale = function(N) { return arguments.length ? (r = +N, w()) : r; }, v.translate = function(N) { return arguments.length ? (n = +N[0], i = +N[1], w()) : [n, i]; }, v.center = function(N) { return arguments.length ? (a = N[0] % 360 * ie, s = N[1] % 360 * ie, w()) : [a * Ue, s * Ue]; }, v.rotate = function(N) { return arguments.length ? (o = N[0] % 360 * ie, l = N[1] % 360 * ie, u = N.length > 2 ? N[2] % 360 * ie : 0, w()) : [o * Ue, l * Ue, u * Ue]; }, v.angle = function(N) { return arguments.length ? (d = N % 360 * ie, w()) : d * Ue; }, v.reflectX = function(N) { return arguments.length ? (f = N ? -1 : 1, w()) : f < 0; }, v.reflectY = function(N) { return arguments.length ? (p = N ? -1 : 1, w()) : p < 0; }, v.precision = function(N) { return arguments.length ? (M = hv(S, C = N * N), D()) : Lr(C); }, v.fitExtent = function(N, z) { return R1(v, N, z); }, v.fitSize = function(N, z) { return A3(v, N, z); }, v.fitWidth = function(N, z) { return M3(v, N, z); }, v.fitHeight = function(N, z) { return L3(v, N, z); }; function w() { var N = fv(r, 0, 0, f, p, d).apply(null, e(a, s)), z = fv(r, n - N[0], i - N[1], f, p, d); return h = C3(o, l, u), S = Km(e, z), R = Km(h, S), M = hv(S, C), D(); } function D() { return A = L = null, v; } return function() { return e = t.apply(this, arguments), v.invert = e.invert && B, w(); }; } function I3(t) { var e = 0, r = Se / 3, n = R3(t), i = n(e, r); return i.parallels = function(a) { return arguments.length ? n(e = a[0] * ie, r = a[1] * ie) : [e * Ue, r * Ue]; }, i; } function _V(t) { var e = Zt(t); function r(n, i) { return [n * e, jt(i) / e]; } return r.invert = function(n, i) { return [n / e, ln(i * e)]; }, r; } function lE(t, e) { var r = jt(t), n = (r + jt(e)) / 2; if (Ne(n) < ee) return _V(t); var i = 1 + r * (2 * n - r), a = Lr(i) / n; function s(o, l) { var u = Lr(i - 2 * n * jt(l)) / n; return [u * jt(o *= n), a - u * Zt(o)]; } return s.invert = function(o, l) { var u = a - l, h = on(o, Ne(u)) * On(u); return u * n < 0 && (h -= Se * On(o) * On(u)), [h / n, ln((i - (o * o + u * u) * n * n) / (2 * n))]; }, s; } function vf() { return I3(lE).scale(155.424).center([0, 33.6442]); } function cE() { return vf().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-0.6, 38.7]); } function vV(t) { var e = t.length; return { point: function(r, n) { for (var i = -1; ++i < e; ) t[i].point(r, n); }, sphere: function() { for (var r = -1; ++r < e; ) t[r].sphere(); }, lineStart: function() { for (var r = -1; ++r < e; ) t[r].lineStart(); }, lineEnd: function() { for (var r = -1; ++r < e; ) t[r].lineEnd(); }, polygonStart: function() { for (var r = -1; ++r < e; ) t[r].polygonStart(); }, polygonEnd: function() { for (var r = -1; ++r < e; ) t[r].polygonEnd(); } }; } function xV() { var t, e, r = cE(), n, i = vf().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), a, s = vf().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), o, l, u = { point: function(f, p) { l = [f, p]; } }; function h(f) { var p = f[0], m = f[1]; return l = null, n.point(p, m), l || (a.point(p, m), l) || (o.point(p, m), l); } h.invert = function(f) { var p = r.scale(), m = r.translate(), _ = (f[0] - m[0]) / p, y = (f[1] - m[1]) / p; return (y >= 0.12 && y < 0.234 && _ >= -0.425 && _ < -0.214 ? i : y >= 0.166 && y < 0.234 && _ >= -0.214 && _ < -0.115 ? s : r).invert(f); }, h.stream = function(f) { return t && e === f ? t : t = vV([r.stream(e = f), i.stream(f), s.stream(f)]); }, h.precision = function(f) { return arguments.length ? (r.precision(f), i.precision(f), s.precision(f), d()) : r.precision(); }, h.scale = function(f) { return arguments.length ? (r.scale(f), i.scale(f * 0.35), s.scale(f), h.translate(r.translate())) : r.scale(); }, h.translate = function(f) { if (!arguments.length) return r.translate(); var p = r.scale(), m = +f[0], _ = +f[1]; return n = r.translate(f).clipExtent([[m - 0.455 * p, _ - 0.238 * p], [m + 0.455 * p, _ + 0.238 * p]]).stream(u), a = i.translate([m - 0.307 * p, _ + 0.201 * p]).clipExtent([[m - 0.425 * p + ee, _ + 0.12 * p + ee], [m - 0.214 * p - ee, _ + 0.234 * p - ee]]).stream(u), o = s.translate([m - 0.205 * p, _ + 0.212 * p]).clipExtent([[m - 0.214 * p + ee, _ + 0.166 * p + ee], [m - 0.115 * p - ee, _ + 0.234 * p - ee]]).stream(u), d(); }, h.fitExtent = function(f, p) { return R1(h, f, p); }, h.fitSize = function(f, p) { return A3(h, f, p); }, h.fitWidth = function(f, p) { return M3(h, f, p); }, h.fitHeight = function(f, p) { return L3(h, f, p); }; function d() { return t = e = null, h; } return h.scale(1070); } function uE(t) { return function(e, r) { var n = Zt(e), i = Zt(r), a = t(n * i); return a === 1 / 0 ? [2, 0] : [ a * i * jt(e), a * jt(r) ]; }; } function eu(t) { return function(e, r) { var n = Lr(e * e + r * r), i = t(n), a = jt(i), s = Zt(i); return [ on(e * a, n * s), ln(n && r * a / n) ]; }; } var N3 = uE(function(t) { return Lr(2 / (1 + t)); }); N3.invert = eu(function(t) { return 2 * ln(t / 2); }); function kV() { return zi(N3).scale(124.75).clipAngle(180 - 1e-3); } var B3 = uE(function(t) { return (t = LT(t)) && t / jt(t); }); B3.invert = eu(function(t) { return t; }); function wV() { return zi(B3).scale(79.4188).clipAngle(180 - 1e-3); } function ru(t, e) { return [t, Qh(T3((ar + e) / 2))]; } ru.invert = function(t, e) { return [t, 2 * sl(MT(e)) - ar]; }; function TV() { return hE(ru).scale(961 / sn); } function hE(t) { var e = zi(t), r = e.center, n = e.scale, i = e.translate, a = e.clipExtent, s = null, o, l, u; e.scale = function(d) { return arguments.length ? (n(d), h()) : n(); }, e.translate = function(d) { return arguments.length ? (i(d), h()) : i(); }, e.center = function(d) { return arguments.length ? (r(d), h()) : r(); }, e.clipExtent = function(d) { return arguments.length ? (d == null ? s = o = l = u = null : (s = +d[0][0], o = +d[0][1], l = +d[1][0], u = +d[1][1]), h()) : s == null ? null : [[s, o], [l, u]]; }; function h() { var d = Se * n(), f = e(zT(e.rotate()).invert([0, 0])); return a(s == null ? [[f[0] - d, f[1] - d], [f[0] + d, f[1] + d]] : t === ru ? [[Math.max(f[0] - d, s), o], [Math.min(f[0] + d, l), u]] : [[s, Math.max(f[1] - d, o)], [l, Math.min(f[1] + d, u)]]); } return h(); } function Wu(t) { return T3((ar + t) / 2); } function fE(t, e) { var r = Zt(t), n = t === e ? jt(t) : Qh(r / Zt(e)) / Qh(Wu(e) / Wu(t)), i = r * ad(Wu(t), n) / n; if (!n) return ru; function a(s, o) { i > 0 ? o < -ar + ee && (o = -ar + ee) : o > ar - ee && (o = ar - ee); var l = i / ad(Wu(o), n); return [l * jt(n * s), i - l * Zt(n * s)]; } return a.invert = function(s, o) { var l = i - o, u = On(n) * Lr(s * s + l * l), h = on(s, Ne(l)) * On(l); return l * n < 0 && (h -= Se * On(s) * On(l)), [h / n, 2 * sl(ad(i / u, 1 / n)) - ar]; }, a; } function EV() { return I3(fE).scale(109.5).parallels([30, 30]); } function Ac(t, e) { return [t, e]; } Ac.invert = Ac; function CV() { return zi(Ac).scale(152.63); } function dE(t, e) { var r = Zt(t), n = t === e ? jt(t) : (r - Zt(e)) / (e - t), i = r / n + t; if (Ne(n) < ee) return Ac; function a(s, o) { var l = i - o, u = n * s; return [l * jt(u), i - l * Zt(u)]; } return a.invert = function(s, o) { var l = i - o, u = on(s, Ne(l)) * On(l); return l * n < 0 && (u -= Se * On(s) * On(l)), [u / n, i - On(n) * Lr(s * s + l * l)]; }, a; } function SV() { return I3(dE).scale(131.154).center([0, 13.9389]); } var tc = 1.340264, ec = -0.081106, rc = 893e-6, nc = 3796e-6, xf = Lr(3) / 2, AV = 12; function D3(t, e) { var r = ln(xf * jt(e)), n = r * r, i = n * n * n; return [ t * Zt(r) / (xf * (tc + 3 * ec * n + i * (7 * rc + 9 * nc * n))), r * (tc + ec * n + i * (rc + nc * n)) ]; } D3.invert = function(t, e) { for (var r = e, n = r * r, i = n * n * n, a = 0, s, o, l; a < AV && (o = r * (tc + ec * n + i * (rc + nc * n)) - e, l = tc + 3 * ec * n + i * (7 * rc + 9 * nc * n), r -= s = o / l, n = r * r, i = n * n * n, !(Ne(s) < Ec)); ++a) ; return [ xf * t * (tc + 3 * ec * n + i * (7 * rc + 9 * nc * n)) / Zt(r), ln(jt(r) / xf) ]; }; function MV() { return zi(D3).scale(177.158); } function O3(t, e) { var r = Zt(e), n = Zt(t) * r; return [r * jt(t) / n, jt(e) / n]; } O3.invert = eu(sl); function LV() { return zi(O3).scale(144.049).clipAngle(60); } function RV() { var t = 1, e = 0, r = 0, n = 1, i = 1, a = 0, s, o, l = null, u, h, d, f = 1, p = 1, m = tu({ point: function(T, C) { var M = k([T, C]); this.stream.point(M[0], M[1]); } }), _ = Cc, y, b; function x() { return f = t * n, p = t * i, y = b = null, k; } function k(T) { var C = T[0] * f, M = T[1] * p; if (a) { var S = M * s - C * o; C = C * s + M * o, M = S; } return [C + e, M + r]; } return k.invert = function(T) { var C = T[0] - e, M = T[1] - r; if (a) { var S = M * s + C * o; C = C * s - M * o, M = S; } return [C / f, M / p]; }, k.stream = function(T) { return y && b === T ? y : y = m(_(b = T)); }, k.postclip = function(T) { return arguments.length ? (_ = T, l = u = h = d = null, x()) : _; }, k.clipExtent = function(T) { return arguments.length ? (_ = T == null ? (l = u = h = d = null, Cc) : L1(l = +T[0][0], u = +T[0][1], h = +T[1][0], d = +T[1][1]), x()) : l == null ? null : [[l, u], [h, d]]; }, k.scale = function(T) { return arguments.length ? (t = +T, x()) : t; }, k.translate = function(T) { return arguments.length ? (e = +T[0], r = +T[1], x()) : [e, r]; }, k.angle = function(T) { return arguments.length ? (a = T % 360 * ie, o = jt(a), s = Zt(a), x()) : a * Ue; }, k.reflectX = function(T) { return arguments.length ? (n = T ? -1 : 1, x()) : n < 0; }, k.reflectY = function(T) { return arguments.length ? (i = T ? -1 : 1, x()) : i < 0; }, k.fitExtent = function(T, C) { return R1(k, T, C); }, k.fitSize = function(T, C) { return A3(k, T, C); }, k.fitWidth = function(T, C) { return M3(k, T, C); }, k.fitHeight = function(T, C) { return L3(k, T, C); }, k; } function F3(t, e) { var r = e * e, n = r * r; return [ t * (0.8707 - 0.131979 * r + n * (-0.013791 + n * (3971e-6 * r - 1529e-6 * n))), e * (1.007226 + r * (0.015085 + n * (-0.044475 + 0.028874 * r - 5916e-6 * n))) ]; } F3.invert = function(t, e) { var r = e, n = 25, i; do { var a = r * r, s = a * a; r -= i = (r * (1.007226 + a * (0.015085 + s * (-0.044475 + 0.028874 * a - 5916e-6 * s))) - e) / (1.007226 + a * (0.015085 * 3 + s * (-0.044475 * 7 + 0.028874 * 9 * a - 5916e-6 * 11 * s))); } while (Ne(i) > ee && --n > 0); return [ t / (0.8707 + (a = r * r) * (-0.131979 + a * (-0.013791 + a * a * a * (3971e-6 - 1529e-6 * a)))), r ]; }; function IV() { return zi(F3).scale(175.295); } function P3(t, e) { return [Zt(e) * jt(t), jt(e)]; } P3.invert = eu(ln); function NV() { return zi(P3).scale(249.5).clipAngle(90 + ee); } function q3(t, e) { var r = Zt(e), n = 1 + Zt(t) * r; return [r * jt(t) / n, jt(e) / n]; } q3.invert = eu(function(t) { return 2 * sl(t); }); function BV() { return zi(q3).scale(250).clipAngle(142); } function V3(t, e) { return [Qh(T3((ar + e) / 2)), -t]; } V3.invert = function(t, e) { return [-e, 2 * sl(MT(t)) - ar]; }; function DV() { var t = hE(V3), e = t.center, r = t.rotate; return t.center = function(n) { return arguments.length ? e([-n[1], n[0]]) : (n = e(), [n[1], -n[0]]); }, t.rotate = function(n) { return arguments.length ? r([n[0], n[1], n.length > 2 ? n[2] + 90 : 90]) : (n = r(), [n[0], n[1], n[2] - 90]); }, r([0, 0, 90]).scale(159.155); } function OV(t, e) { return t.parent === e.parent ? 1 : 2; } function FV(t) { return t.reduce(PV, 0) / t.length; } function PV(t, e) { return t + e.x; } function qV(t) { return 1 + t.reduce(VV, 0); } function VV(t, e) { return Math.max(t, e.y); } function zV(t) { for (var e; e = t.children; ) t = e[0]; return t; } function YV(t) { for (var e; e = t.children; ) t = e[e.length - 1]; return t; } function UV() { var t = OV, e = 1, r = 1, n = !1; function i(a) { var s, o = 0; a.eachAfter(function(f) { var p = f.children; p ? (f.x = FV(p), f.y = qV(p)) : (f.x = s ? o += t(f, s) : 0, f.y = 0, s = f); }); var l = zV(a), u = YV(a), h = l.x - t(l, u) / 2, d = u.x + t(u, l) / 2; return a.eachAfter(n ? function(f) { f.x = (f.x - a.x) * e, f.y = (a.y - f.y) * r; } : function(f) { f.x = (f.x - h) / (d - h) * e, f.y = (1 - (a.y ? f.y / a.y : 1)) * r; }); } return i.separation = function(a) { return arguments.length ? (t = a, i) : t; }, i.size = function(a) { return arguments.length ? (n = !1, e = +a[0], r = +a[1], i) : n ? null : [e, r]; }, i.nodeSize = function(a) { return arguments.length ? (n = !0, e = +a[0], r = +a[1], i) : n ? [e, r] : null; }, i; } function WV(t) { var e = 0, r = t.children, n = r && r.length; if (!n) e = 1; else for (; --n >= 0; ) e += r[n].value; t.value = e; } function HV() { return this.eachAfter(WV); } function GV(t, e) { let r = -1; for (const n of this) t.call(e, n, ++r, this); return this; } function jV(t, e) { for (var r = this, n = [r], i, a, s = -1; r = n.pop(); ) if (t.call(e, r, ++s, this), i = r.children) for (a = i.length - 1; a >= 0; --a) n.push(i[a]); return this; } function $V(t, e) { for (var r = this, n = [r], i = [], a, s, o, l = -1; r = n.pop(); ) if (i.push(r), a = r.children) for (s = 0, o = a.length; s < o; ++s) n.push(a[s]); for (; r = i.pop(); ) t.call(e, r, ++l, this); return this; } function XV(t, e) { let r = -1; for (const n of this) if (t.call(e, n, ++r, this)) return n; } function KV(t) { return this.eachAfter(function(e) { for (var r = +t(e.data) || 0, n = e.children, i = n && n.length; --i >= 0; ) r += n[i].value; e.value = r; }); } function ZV(t) { return this.eachBefore(function(e) { e.children && e.children.sort(t); }); } function QV(t) { for (var e = this, r = JV(e, t), n = [e]; e !== r; ) e = e.parent, n.push(e); for (var i = n.length; t !== r; ) n.splice(i, 0, t), t = t.parent; return n; } function JV(t, e) { if (t === e) return t; var r = t.ancestors(), n = e.ancestors(), i = null; for (t = r.pop(), e = n.pop(); t === e; ) i = t, t = r.pop(), e = n.pop(); return i; } function tz() { for (var t = this, e = [t]; t = t.parent; ) e.push(t); return e; } function ez() { return Array.from(this); } function rz() { var t = []; return this.eachBefore(function(e) { e.children || t.push(e); }), t; } function nz() { var t = this, e = []; return t.each(function(r) { r !== t && e.push({ source: r.parent, target: r }); }), e; } function* iz() { var t = this, e, r = [t], n, i, a; do for (e = r.reverse(), r = []; t = e.pop(); ) if (yield t, n = t.children) for (i = 0, a = n.length; i < a; ++i) r.push(n[i]); while (r.length); } function z3(t, e) { t instanceof Map ? (t = [void 0, t], e === void 0 && (e = oz)) : e === void 0 && (e = sz); for (var r = new Bs(t), n, i = [r], a, s, o, l; n = i.pop(); ) if ((s = e(n.data)) && (l = (s = Array.from(s)).length)) for (n.children = s, o = l - 1; o >= 0; --o) i.push(a = s[o] = new Bs(s[o])), a.parent = n, a.depth = n.depth + 1; return r.eachBefore(pE); } function az() { return z3(this).eachBefore(lz); } function sz(t) { return t.children; } function oz(t) { return Array.isArray(t) ? t[1] : null; } function lz(t) { t.data.value !== void 0 && (t.value = t.data.value), t.data = t.data.data; } function pE(t) { var e = 0; do t.height = e; while ((t = t.parent) && t.height < ++e); } function Bs(t) { this.data = t, this.depth = this.height = 0, this.parent = null; } Bs.prototype = z3.prototype = { constructor: Bs, count: HV, each: GV, eachAfter: $V, eachBefore: jV, find: XV, sum: KV, sort: ZV, path: QV, ancestors: tz, descendants: ez, leaves: rz, links: nz, copy: az, [Symbol.iterator]: iz }; function wh(t) { return t == null ? null : gE(t); } function gE(t) { if (typeof t != "function") throw new Error(); return t; } function bs() { return 0; } function yo(t) { return function() { return t; }; } const cz = 1664525, uz = 1013904223, dv = 4294967296; function Y3() { let t = 1; return () => (t = (cz * t + uz) % dv) / dv; } function hz(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function fz(t, e) { let r = t.length, n, i; for (; r; ) i = e() * r-- | 0, n = t[r], t[r] = t[i], t[i] = n; return t; } function dz(t) { return yE(t, Y3()); } function yE(t, e) { for (var r = 0, n = (t = fz(Array.from(t), e)).length, i = [], a, s; r < n; ) a = t[r], s && mE(s, a) ? ++r : (s = gz(i = pz(i, a)), r = 0); return s; } function pz(t, e) { var r, n; if (ud(e, t)) return [e]; for (r = 0; r < t.length; ++r) if (Hu(e, t[r]) && ud(Gl(t[r], e), t)) return [t[r], e]; for (r = 0; r < t.length - 1; ++r) for (n = r + 1; n < t.length; ++n) if (Hu(Gl(t[r], t[n]), e) && Hu(Gl(t[r], e), t[n]) && Hu(Gl(t[n], e), t[r]) && ud(bE(t[r], t[n], e), t)) return [t[r], t[n], e]; throw new Error(); } function Hu(t, e) { var r = t.r - e.r, n = e.x - t.x, i = e.y - t.y; return r < 0 || r * r < n * n + i * i; } function mE(t, e) { var r = t.r - e.r + Math.max(t.r, e.r, 1) * 1e-9, n = e.x - t.x, i = e.y - t.y; return r > 0 && r * r > n * n + i * i; } function ud(t, e) { for (var r = 0; r < e.length; ++r) if (!mE(t, e[r])) return !1; return !0; } function gz(t) { switch (t.length) { case 1: return yz(t[0]); case 2: return Gl(t[0], t[1]); case 3: return bE(t[0], t[1], t[2]); } } function yz(t) { return { x: t.x, y: t.y, r: t.r }; } function Gl(t, e) { var r = t.x, n = t.y, i = t.r, a = e.x, s = e.y, o = e.r, l = a - r, u = s - n, h = o - i, d = Math.sqrt(l * l + u * u); return { x: (r + a + l / d * h) / 2, y: (n + s + u / d * h) / 2, r: (d + i + o) / 2 }; } function bE(t, e, r) { var n = t.x, i = t.y, a = t.r, s = e.x, o = e.y, l = e.r, u = r.x, h = r.y, d = r.r, f = n - s, p = n - u, m = i - o, _ = i - h, y = l - a, b = d - a, x = n * n + i * i - a * a, k = x - s * s - o * o + l * l, T = x - u * u - h * h + d * d, C = p * m - f * _, M = (m * T - _ * k) / (C * 2) - n, S = (_ * y - m * b) / C, R = (p * k - f * T) / (C * 2) - i, A = (f * b - p * y) / C, L = S * S + A * A - 1, v = 2 * (a + M * S + R * A), B = M * M + R * R - a * a, w = -(Math.abs(L) > 1e-6 ? (v + Math.sqrt(v * v - 4 * L * B)) / (2 * L) : B / v); return { x: n + M + S * w, y: i + R + A * w, r: w }; } function pv(t, e, r) { var n = t.x - e.x, i, a, s = t.y - e.y, o, l, u = n * n + s * s; u ? (a = e.r + r.r, a *= a, l = t.r + r.r, l *= l, a > l ? (i = (u + l - a) / (2 * u), o = Math.sqrt(Math.max(0, l / u - i * i)), r.x = t.x - i * n - o * s, r.y = t.y - i * s + o * n) : (i = (u + a - l) / (2 * u), o = Math.sqrt(Math.max(0, a / u - i * i)), r.x = e.x + i * n - o * s, r.y = e.y + i * s + o * n)) : (r.x = e.x + r.r, r.y = e.y); } function gv(t, e) { var r = t.r + e.r - 1e-6, n = e.x - t.x, i = e.y - t.y; return r > 0 && r * r > n * n + i * i; } function yv(t) { var e = t._, r = t.next._, n = e.r + r.r, i = (e.x * r.r + r.x * e.r) / n, a = (e.y * r.r + r.y * e.r) / n; return i * i + a * a; } function Gu(t) { this._ = t, this.next = null, this.previous = null; } function _E(t, e) { if (!(a = (t = hz(t)).length)) return 0; var r, n, i, a, s, o, l, u, h, d, f; if (r = t[0], r.x = 0, r.y = 0, !(a > 1)) return r.r; if (n = t[1], r.x = -n.r, n.x = r.r, n.y = 0, !(a > 2)) return r.r + n.r; pv(n, r, i = t[2]), r = new Gu(r), n = new Gu(n), i = new Gu(i), r.next = i.previous = n, n.next = r.previous = i, i.next = n.previous = r; t: for (l = 3; l < a; ++l) { pv(r._, n._, i = t[l]), i = new Gu(i), u = n.next, h = r.previous, d = n._.r, f = r._.r; do if (d <= f) { if (gv(u._, i._)) { n = u, r.next = n, n.previous = r, --l; continue t; } d += u._.r, u = u.next; } else { if (gv(h._, i._)) { r = h, r.next = n, n.previous = r, --l; continue t; } f += h._.r, h = h.previous; } while (u !== h.next); for (i.previous = r, i.next = n, r.next = n.previous = n = i, s = yv(r); (i = i.next) !== n; ) (o = yv(i)) < s && (r = i, s = o); n = r.next; } for (r = [n._], i = n; (i = i.next) !== n; ) r.push(i._); for (i = yE(r, e), l = 0; l < a; ++l) r = t[l], r.x -= i.x, r.y -= i.y; return i.r; } function mz(t) { return _E(t, Y3()), t; } function bz(t) { return Math.sqrt(t.value); } function _z() { var t = null, e = 1, r = 1, n = bs; function i(a) { const s = Y3(); return a.x = e / 2, a.y = r / 2, t ? a.eachBefore(mv(t)).eachAfter(hd(n, 0.5, s)).eachBefore(bv(1)) : a.eachBefore(mv(bz)).eachAfter(hd(bs, 1, s)).eachAfter(hd(n, a.r / Math.min(e, r), s)).eachBefore(bv(Math.min(e, r) / (2 * a.r))), a; } return i.radius = function(a) { return arguments.length ? (t = wh(a), i) : t; }, i.size = function(a) { return arguments.length ? (e = +a[0], r = +a[1], i) : [e, r]; }, i.padding = function(a) { return arguments.length ? (n = typeof a == "function" ? a : yo(+a), i) : n; }, i; } function mv(t) { return function(e) { e.children || (e.r = Math.max(0, +t(e) || 0)); }; } function hd(t, e, r) { return function(n) { if (i = n.children) { var i, a, s = i.length, o = t(n) * e || 0, l; if (o) for (a = 0; a < s; ++a) i[a].r += o; if (l = _E(i, r), o) for (a = 0; a < s; ++a) i[a].r -= o; n.r = l + o; } }; } function bv(t) { return function(e) { var r = e.parent; e.r *= t, r && (e.x = r.x + t * e.x, e.y = r.y + t * e.y); }; } function vE(t) { t.x0 = Math.round(t.x0), t.y0 = Math.round(t.y0), t.x1 = Math.round(t.x1), t.y1 = Math.round(t.y1); } function nu(t, e, r, n, i) { for (var a = t.children, s, o = -1, l = a.length, u = t.value && (n - e) / t.value; ++o < l; ) s = a[o], s.y0 = r, s.y1 = i, s.x0 = e, s.x1 = e += s.value * u; } function vz() { var t = 1, e = 1, r = 0, n = !1; function i(s) { var o = s.height + 1; return s.x0 = s.y0 = r, s.x1 = t, s.y1 = e / o, s.eachBefore(a(e, o)), n && s.eachBefore(vE), s; } function a(s, o) { return function(l) { l.children && nu(l, l.x0, s * (l.depth + 1) / o, l.x1, s * (l.depth + 2) / o); var u = l.x0, h = l.y0, d = l.x1 - r, f = l.y1 - r; d < u && (u = d = (u + d) / 2), f < h && (h = f = (h + f) / 2), l.x0 = u, l.y0 = h, l.x1 = d, l.y1 = f; }; } return i.round = function(s) { return arguments.length ? (n = !!s, i) : n; }, i.size = function(s) { return arguments.length ? (t = +s[0], e = +s[1], i) : [t, e]; }, i.padding = function(s) { return arguments.length ? (r = +s, i) : r; }, i; } var xz = { depth: -1 }, _v = {}, fd = {}; function kz(t) { return t.id; } function wz(t) { return t.parentId; } function Tz() { var t = kz, e = wz, r; function n(i) { var a = Array.from(i), s = t, o = e, l, u, h, d, f, p, m, _, y = /* @__PURE__ */ new Map(); if (r != null) { const b = a.map((T, C) => Ez(r(T, C, i))), x = b.map(vv), k = new Set(b).add(""); for (const T of x) k.has(T) || (k.add(T), b.push(T), x.push(vv(T)), a.push(fd)); s = (T, C) => b[C], o = (T, C) => x[C]; } for (h = 0, l = a.length; h < l; ++h) u = a[h], p = a[h] = new Bs(u), (m = s(u, h, i)) != null && (m += "") && (_ = p.id = m, y.set(_, y.has(_) ? _v : p)), (m = o(u, h, i)) != null && (m += "") && (p.parent = m); for (h = 0; h < l; ++h) if (p = a[h], m = p.parent) { if (f = y.get(m), !f) throw new Error("missing: " + m); if (f === _v) throw new Error("ambiguous: " + m); f.children ? f.children.push(p) : f.children = [p], p.parent = f; } else { if (d) throw new Error("multiple roots"); d = p; } if (!d) throw new Error("no root"); if (r != null) { for (; d.data === fd && d.children.length === 1; ) d = d.children[0], --l; for (let b = a.length - 1; b >= 0 && (p = a[b], p.data === fd); --b) p.data = null; } if (d.parent = xz, d.eachBefore(function(b) { b.depth = b.parent.depth + 1, --l; }).eachBefore(pE), d.parent = null, l > 0) throw new Error("cycle"); return d; } return n.id = function(i) { return arguments.length ? (t = wh(i), n) : t; }, n.parentId = function(i) { return arguments.length ? (e = wh(i), n) : e; }, n.path = function(i) { return arguments.length ? (r = wh(i), n) : r; }, n; } function Ez(t) { t = `${t}`; let e = t.length; return hb(t, e - 1) && !hb(t, e - 2) && (t = t.slice(0, -1)), t[0] === "/" ? t : `/${t}`; } function vv(t) { let e = t.length; if (e < 2) return ""; for (; --e > 1 && !hb(t, e); ) ; return t.slice(0, e); } function hb(t, e) { if (t[e] === "/") { let r = 0; for (; e > 0 && t[--e] === "\\"; ) ++r; if ((r & 1) === 0) return !0; } return !1; } function Cz(t, e) { return t.parent === e.parent ? 1 : 2; } function dd(t) { var e = t.children; return e ? e[0] : t.t; } function pd(t) { var e = t.children; return e ? e[e.length - 1] : t.t; } function Sz(t, e, r) { var n = r / (e.i - t.i); e.c -= n, e.s += r, t.c += n, e.z += r, e.m += r; } function Az(t) { for (var e = 0, r = 0, n = t.children, i = n.length, a; --i >= 0; ) a = n[i], a.z += e, a.m += e, e += a.s + (r += a.c); } function Mz(t, e, r) { return t.a.parent === e.parent ? t.a : r; } function Th(t, e) { this._ = t, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = e; } Th.prototype = Object.create(Bs.prototype); function Lz(t) { for (var e = new Th(t, 0), r, n = [e], i, a, s, o; r = n.pop(); ) if (a = r._.children) for (r.children = new Array(o = a.length), s = o - 1; s >= 0; --s) n.push(i = r.children[s] = new Th(a[s], s)), i.parent = r; return (e.parent = new Th(null, 0)).children = [e], e; } function Rz() { var t = Cz, e = 1, r = 1, n = null; function i(u) { var h = Lz(u); if (h.eachAfter(a), h.parent.m = -h.z, h.eachBefore(s), n) u.eachBefore(l); else { var d = u, f = u, p = u; u.eachBefore(function(x) { x.x < d.x && (d = x), x.x > f.x && (f = x), x.depth > p.depth && (p = x); }); var m = d === f ? 1 : t(d, f) / 2, _ = m - d.x, y = e / (f.x + m + _), b = r / (p.depth || 1); u.eachBefore(function(x) { x.x = (x.x + _) * y, x.y = x.depth * b; }); } return u; } function a(u) { var h = u.children, d = u.parent.children, f = u.i ? d[u.i - 1] : null; if (h) { Az(u); var p = (h[0].z + h[h.length - 1].z) / 2; f ? (u.z = f.z + t(u._, f._), u.m = u.z - p) : u.z = p; } else f && (u.z = f.z + t(u._, f._)); u.parent.A = o(u, f, u.parent.A || d[0]); } function s(u) { u._.x = u.z + u.parent.m, u.m += u.parent.m; } function o(u, h, d) { if (h) { for (var f = u, p = u, m = h, _ = f.parent.children[0], y = f.m, b = p.m, x = m.m, k = _.m, T; m = pd(m), f = dd(f), m && f; ) _ = dd(_), p = pd(p), p.a = u, T = m.z + x - f.z - y + t(m._, f._), T > 0 && (Sz(Mz(m, u, d), u, T), y += T, b += T), x += m.m, y += f.m, k += _.m, b += p.m; m && !pd(p) && (p.t = m, p.m += x - b), f && !dd(_) && (_.t = f, _.m += y - k, d = u); } return d; } function l(u) { u.x *= e, u.y = u.depth * r; } return i.separation = function(u) { return arguments.length ? (t = u, i) : t; }, i.size = function(u) { return arguments.length ? (n = !1, e = +u[0], r = +u[1], i) : n ? null : [e, r]; }, i.nodeSize = function(u) { return arguments.length ? (n = !0, e = +u[0], r = +u[1], i) : n ? [e, r] : null; }, i; } function I1(t, e, r, n, i) { for (var a = t.children, s, o = -1, l = a.length, u = t.value && (i - r) / t.value; ++o < l; ) s = a[o], s.x0 = e, s.x1 = n, s.y0 = r, s.y1 = r += s.value * u; } var xE = (1 + Math.sqrt(5)) / 2; function kE(t, e, r, n, i, a) { for (var s = [], o = e.children, l, u, h = 0, d = 0, f = o.length, p, m, _ = e.value, y, b, x, k, T, C, M; h < f; ) { p = i - r, m = a - n; do y = o[d++].value; while (!y && d < f); for (b = x = y, C = Math.max(m / p, p / m) / (_ * t), M = y * y * C, T = Math.max(x / M, M / b); d < f; ++d) { if (y += u = o[d].value, u < b && (b = u), u > x && (x = u), M = y * y * C, k = Math.max(x / M, M / b), k > T) { y -= u; break; } T = k; } s.push(l = { value: y, dice: p < m, children: o.slice(h, d) }), l.dice ? nu(l, r, n, i, _ ? n += m * y / _ : a) : I1(l, r, n, _ ? r += p * y / _ : i, a), _ -= y, h = d; } return s; } const wE = function t(e) { function r(n, i, a, s, o) { kE(e, n, i, a, s, o); } return r.ratio = function(n) { return t((n = +n) > 1 ? n : 1); }, r; }(xE); function Iz() { var t = wE, e = !1, r = 1, n = 1, i = [0], a = bs, s = bs, o = bs, l = bs, u = bs; function h(f) { return f.x0 = f.y0 = 0, f.x1 = r, f.y1 = n, f.eachBefore(d), i = [0], e && f.eachBefore(vE), f; } function d(f) { var p = i[f.depth], m = f.x0 + p, _ = f.y0 + p, y = f.x1 - p, b = f.y1 - p; y < m && (m = y = (m + y) / 2), b < _ && (_ = b = (_ + b) / 2), f.x0 = m, f.y0 = _, f.x1 = y, f.y1 = b, f.children && (p = i[f.depth + 1] = a(f) / 2, m += u(f) - p, _ += s(f) - p, y -= o(f) - p, b -= l(f) - p, y < m && (m = y = (m + y) / 2), b < _ && (_ = b = (_ + b) / 2), t(f, m, _, y, b)); } return h.round = function(f) { return arguments.length ? (e = !!f, h) : e; }, h.size = function(f) { return arguments.length ? (r = +f[0], n = +f[1], h) : [r, n]; }, h.tile = function(f) { return arguments.length ? (t = gE(f), h) : t; }, h.padding = function(f) { return arguments.length ? h.paddingInner(f).paddingOuter(f) : h.paddingInner(); }, h.paddingInner = function(f) { return arguments.length ? (a = typeof f == "function" ? f : yo(+f), h) : a; }, h.paddingOuter = function(f) { return arguments.length ? h.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f) : h.paddingTop(); }, h.paddingTop = function(f) { return arguments.length ? (s = typeof f == "function" ? f : yo(+f), h) : s; }, h.paddingRight = function(f) { return arguments.length ? (o = typeof f == "function" ? f : yo(+f), h) : o; }, h.paddingBottom = function(f) { return arguments.length ? (l = typeof f == "function" ? f : yo(+f), h) : l; }, h.paddingLeft = function(f) { return arguments.length ? (u = typeof f == "function" ? f : yo(+f), h) : u; }, h; } function Nz(t, e, r, n, i) { var a = t.children, s, o = a.length, l, u = new Array(o + 1); for (u[0] = l = s = 0; s < o; ++s) u[s + 1] = l += a[s].value; h(0, o, t.value, e, r, n, i); function h(d, f, p, m, _, y, b) { if (d >= f - 1) { var x = a[d]; x.x0 = m, x.y0 = _, x.x1 = y, x.y1 = b; return; } for (var k = u[d], T = p / 2 + k, C = d + 1, M = f - 1; C < M; ) { var S = C + M >>> 1; u[S] < T ? C = S + 1 : M = S; } T - u[C - 1] < u[C] - T && d + 1 < C && --C; var R = u[C] - k, A = p - R; if (y - m > b - _) { var L = p ? (m * A + y * R) / p : y; h(d, C, R, m, _, L, b), h(C, f, A, L, _, y, b); } else { var v = p ? (_ * A + b * R) / p : b; h(d, C, R, m, _, y, v), h(C, f, A, m, v, y, b); } } } function Bz(t, e, r, n, i) { (t.depth & 1 ? I1 : nu)(t, e, r, n, i); } const Dz = function t(e) { function r(n, i, a, s, o) { if ((l = n._squarify) && l.ratio === e) for (var l, u, h, d, f = -1, p, m = l.length, _ = n.value; ++f < m; ) { for (u = l[f], h = u.children, d = u.value = 0, p = h.length; d < p; ++d) u.value += h[d].value; u.dice ? nu(u, i, a, s, _ ? a += (o - a) * u.value / _ : o) : I1(u, i, a, _ ? i += (s - i) * u.value / _ : s, o), _ -= u.value; } else n._squarify = l = kE(e, n, i, a, s, o), l.ratio = e; } return r.ratio = function(n) { return t((n = +n) > 1 ? n : 1); }, r; }(xE); function Oz(t) { for (var e = -1, r = t.length, n, i = t[r - 1], a = 0; ++e < r; ) n = i, i = t[e], a += n[1] * i[0] - n[0] * i[1]; return a / 2; } function Fz(t) { for (var e = -1, r = t.length, n = 0, i = 0, a, s = t[r - 1], o, l = 0; ++e < r; ) a = s, s = t[e], l += o = a[0] * s[1] - s[0] * a[1], n += (a[0] + s[0]) * o, i += (a[1] + s[1]) * o; return l *= 3, [n / l, i / l]; } function Pz(t, e, r) { return (e[0] - t[0]) * (r[1] - t[1]) - (e[1] - t[1]) * (r[0] - t[0]); } function qz(t, e) { return t[0] - e[0] || t[1] - e[1]; } function xv(t) { const e = t.length, r = [0, 1]; let n = 2, i; for (i = 2; i < e; ++i) { for (; n > 1 && Pz(t[r[n - 2]], t[r[n - 1]], t[i]) <= 0; ) --n; r[n++] = i; } return r.slice(0, n); } function Vz(t) { if ((r = t.length) < 3) return null; var e, r, n = new Array(r), i = new Array(r); for (e = 0; e < r; ++e) n[e] = [+t[e][0], +t[e][1], e]; for (n.sort(qz), e = 0; e < r; ++e) i[e] = [n[e][0], -n[e][1]]; var a = xv(n), s = xv(i), o = s[0] === a[0], l = s[s.length - 1] === a[a.length - 1], u = []; for (e = a.length - 1; e >= 0; --e) u.push(t[n[a[e]][2]]); for (e = +o; e < s.length - l; ++e) u.push(t[n[s[e]][2]]); return u; } function zz(t, e) { for (var r = t.length, n = t[r - 1], i = e[0], a = e[1], s = n[0], o = n[1], l, u, h = !1, d = 0; d < r; ++d) n = t[d], l = n[0], u = n[1], u > a != o > a && i < (s - l) * (a - u) / (o - u) + l && (h = !h), s = l, o = u; return h; } function Yz(t) { for (var e = -1, r = t.length, n = t[r - 1], i, a, s = n[0], o = n[1], l = 0; ++e < r; ) i = s, a = o, n = t[e], s = n[0], o = n[1], i -= s, a -= o, l += Math.hypot(i, a); return l; } const Dr = Math.random, Uz = function t(e) { function r(n, i) { return n = n == null ? 0 : +n, i = i == null ? 1 : +i, arguments.length === 1 ? (i = n, n = 0) : i -= n, function() { return e() * i + n; }; } return r.source = t, r; }(Dr), Wz = function t(e) { function r(n, i) { return arguments.length < 2 && (i = n, n = 0), n = Math.floor(n), i = Math.floor(i) - n, function() { return Math.floor(e() * i + n); }; } return r.source = t, r; }(Dr), U3 = function t(e) { function r(n, i) { var a, s; return n = n == null ? 0 : +n, i = i == null ? 1 : +i, function() { var o; if (a != null) o = a, a = null; else do a = e() * 2 - 1, o = e() * 2 - 1, s = a * a + o * o; while (!s || s > 1); return n + i * o * Math.sqrt(-2 * Math.log(s) / s); }; } return r.source = t, r; }(Dr), Hz = function t(e) { var r = U3.source(e); function n() { var i = r.apply(this, arguments); return function() { return Math.exp(i()); }; } return n.source = t, n; }(Dr), TE = function t(e) { function r(n) { return (n = +n) <= 0 ? () => 0 : function() { for (var i = 0, a = n; a > 1; --a) i += e(); return i + a * e(); }; } return r.source = t, r; }(Dr), Gz = function t(e) { var r = TE.source(e); function n(i) { if ((i = +i) == 0) return e; var a = r(i); return function() { return a() / i; }; } return n.source = t, n; }(Dr), jz = function t(e) { function r(n) { return function() { return -Math.log1p(-e()) / n; }; } return r.source = t, r; }(Dr), $z = function t(e) { function r(n) { if ((n = +n) < 0) throw new RangeError("invalid alpha"); return n = 1 / -n, function() { return Math.pow(1 - e(), n); }; } return r.source = t, r; }(Dr), Xz = function t(e) { function r(n) { if ((n = +n) < 0 || n > 1) throw new RangeError("invalid p"); return function() { return Math.floor(e() + n); }; } return r.source = t, r; }(Dr), EE = function t(e) { function r(n) { if ((n = +n) < 0 || n > 1) throw new RangeError("invalid p"); return n === 0 ? () => 1 / 0 : n === 1 ? () => 1 : (n = Math.log1p(-n), function() { return 1 + Math.floor(Math.log1p(-e()) / n); }); } return r.source = t, r; }(Dr), W3 = function t(e) { var r = U3.source(e)(); function n(i, a) { if ((i = +i) < 0) throw new RangeError("invalid k"); if (i === 0) return () => 0; if (a = a == null ? 1 : +a, i === 1) return () => -Math.log1p(-e()) * a; var s = (i < 1 ? i + 1 : i) - 1 / 3, o = 1 / (3 * Math.sqrt(s)), l = i < 1 ? () => Math.pow(e(), 1 / i) : () => 1; return function() { do { do var u = r(), h = 1 + o * u; while (h <= 0); h *= h * h; var d = 1 - e(); } while (d >= 1 - 0.0331 * u * u * u * u && Math.log(d) >= 0.5 * u * u + s * (1 - h + Math.log(h))); return s * h * l() * a; }; } return n.source = t, n; }(Dr), CE = function t(e) { var r = W3.source(e); function n(i, a) { var s = r(i), o = r(a); return function() { var l = s(); return l === 0 ? 0 : l / (l + o()); }; } return n.source = t, n; }(Dr), SE = function t(e) { var r = EE.source(e), n = CE.source(e); function i(a, s) { return a = +a, (s = +s) >= 1 ? () => a : s <= 0 ? () => 0 : function() { for (var o = 0, l = a, u = s; l * u > 16 && l * (1 - u) > 16; ) { var h = Math.floor((l + 1) * u), d = n(h, l - h + 1)(); d <= u ? (o += h, l -= h, u = (u - d) / (1 - d)) : (l = h - 1, u /= d); } for (var f = u < 0.5, p = f ? u : 1 - u, m = r(p), _ = m(), y = 0; _ <= l; ++y) _ += m(); return o + (f ? y : l - y); }; } return i.source = t, i; }(Dr), Kz = function t(e) { function r(n, i, a) { var s; return (n = +n) == 0 ? s = (o) => -Math.log(o) : (n = 1 / n, s = (o) => Math.pow(o, n)), i = i == null ? 0 : +i, a = a == null ? 1 : +a, function() { return i + a * s(-Math.log1p(-e())); }; } return r.source = t, r; }(Dr), Zz = function t(e) { function r(n, i) { return n = n == null ? 0 : +n, i = i == null ? 1 : +i, function() { return n + i * Math.tan(Math.PI * e()); }; } return r.source = t, r; }(Dr), Qz = function t(e) { function r(n, i) { return n = n == null ? 0 : +n, i = i == null ? 1 : +i, function() { var a = e(); return n + i * Math.log(a / (1 - a)); }; } return r.source = t, r; }(Dr), Jz = function t(e) { var r = W3.source(e), n = SE.source(e); function i(a) { return function() { for (var s = 0, o = a; o > 16; ) { var l = Math.floor(0.875 * o), u = r(l)(); if (u > o) return s + n(l - 1, o / u)(); s += l, o -= u; } for (var h = -Math.log1p(-e()), d = 0; h <= o; ++d) h -= Math.log1p(-e()); return s + d; }; } return i.source = t, i; }(Dr), tY = 1664525, eY = 1013904223, kv = 1 / 4294967296; function rY(t = Math.random()) { let e = (0 <= t && t < 1 ? t / kv : Math.abs(t)) | 0; return () => (e = tY * e + eY | 0, kv * (e >>> 0)); } function qn(t, e) { switch (arguments.length) { case 0: break; case 1: this.range(t); break; default: this.range(e).domain(t); break; } return this; } function ba(t, e) { switch (arguments.length) { case 0: break; case 1: { typeof t == "function" ? this.interpolator(t) : this.range(t); break; } default: { this.domain(t), typeof e == "function" ? this.interpolator(e) : this.range(e); break; } } return this; } const fb = Symbol("implicit"); function N1() { var t = new dc(), e = [], r = [], n = fb; function i(a) { let s = t.get(a); if (s === void 0) { if (n !== fb) return n; t.set(a, s = e.push(a) - 1); } return r[s % r.length]; } return i.domain = function(a) { if (!arguments.length) return e.slice(); e = [], t = new dc(); for (const s of a) t.has(s) || t.set(s, e.push(s) - 1); return i; }, i.range = function(a) { return arguments.length ? (r = Array.from(a), i) : r.slice(); }, i.unknown = function(a) { return arguments.length ? (n = a, i) : n; }, i.copy = function() { return N1(e, r).unknown(n); }, qn.apply(i, arguments), i; } function H3() { var t = N1().unknown(void 0), e = t.domain, r = t.range, n = 0, i = 1, a, s, o = !1, l = 0, u = 0, h = 0.5; delete t.unknown; function d() { var f = e().length, p = i < n, m = p ? i : n, _ = p ? n : i; a = (_ - m) / Math.max(1, f - l + u * 2), o && (a = Math.floor(a)), m += (_ - m - a * (f - l)) * h, s = a * (1 - l), o && (m = Math.round(m), s = Math.round(s)); var y = Da(f).map(function(b) { return m + a * b; }); return r(p ? y.reverse() : y); } return t.domain = function(f) { return arguments.length ? (e(f), d()) : e(); }, t.range = function(f) { return arguments.length ? ([n, i] = f, n = +n, i = +i, d()) : [n, i]; }, t.rangeRound = function(f) { return [n, i] = f, n = +n, i = +i, o = !0, d(); }, t.bandwidth = function() { return s; }, t.step = function() { return a; }, t.round = function(f) { return arguments.length ? (o = !!f, d()) : o; }, t.padding = function(f) { return arguments.length ? (l = Math.min(1, u = +f), d()) : l; }, t.paddingInner = function(f) { return arguments.length ? (l = Math.min(1, f), d()) : l; }, t.paddingOuter = function(f) { return arguments.length ? (u = +f, d()) : u; }, t.align = function(f) { return arguments.length ? (h = Math.max(0, Math.min(1, f)), d()) : h; }, t.copy = function() { return H3(e(), [n, i]).round(o).paddingInner(l).paddingOuter(u).align(h); }, qn.apply(d(), arguments); } function AE(t) { var e = t.copy; return t.padding = t.paddingOuter, delete t.paddingInner, delete t.paddingOuter, t.copy = function() { return AE(e()); }, t; } function nY() { return AE(H3.apply(null, arguments).paddingInner(1)); } function iY(t) { return function() { return t; }; } function kf(t) { return +t; } var wv = [0, 1]; function tn(t) { return t; } function db(t, e) { return (e -= t = +t) ? function(r) { return (r - t) / e; } : iY(isNaN(e) ? NaN : 0.5); } function aY(t, e) { var r; return t > e && (r = t, t = e, e = r), function(n) { return Math.max(t, Math.min(e, n)); }; } function sY(t, e, r) { var n = t[0], i = t[1], a = e[0], s = e[1]; return i < n ? (n = db(i, n), a = r(s, a)) : (n = db(n, i), a = r(a, s)), function(o) { return a(n(o)); }; } function oY(t, e, r) { var n = Math.min(t.length, e.length) - 1, i = new Array(n), a = new Array(n), s = -1; for (t[n] < t[0] && (t = t.slice().reverse(), e = e.slice().reverse()); ++s < n; ) i[s] = db(t[s], t[s + 1]), a[s] = r(e[s], e[s + 1]); return function(o) { var l = Us(t, o, 1, n) - 1; return a[l](i[l](o)); }; } function iu(t, e) { return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()); } function B1() { var t = wv, e = wv, r = Ja, n, i, a, s = tn, o, l, u; function h() { var f = Math.min(t.length, e.length); return s !== tn && (s = aY(t[0], t[f - 1])), o = f > 2 ? oY : sY, l = u = null, d; } function d(f) { return f == null || isNaN(f = +f) ? a : (l || (l = o(t.map(n), e, r)))(n(s(f))); } return d.invert = function(f) { return s(i((u || (u = o(e, t.map(n), Dn)))(f))); }, d.domain = function(f) { return arguments.length ? (t = Array.from(f, kf), h()) : t.slice(); }, d.range = function(f) { return arguments.length ? (e = Array.from(f), h()) : e.slice(); }, d.rangeRound = function(f) { return e = Array.from(f), r = v1, h(); }, d.clamp = function(f) { return arguments.length ? (s = f ? !0 : tn, h()) : s !== tn; }, d.interpolate = function(f) { return arguments.length ? (r = f, h()) : r; }, d.unknown = function(f) { return arguments.length ? (a = f, d) : a; }, function(f, p) { return n = f, i = p, h(); }; } function G3() { return B1()(tn, tn); } function ME(t, e, r, n) { var i = pc(t, e, r), a; switch (n = Vo(n == null ? ",f" : n), n.type) { case "s": { var s = Math.max(Math.abs(t), Math.abs(e)); return n.precision == null && !isNaN(a = ST(i, s)) && (n.precision = a), w3(n, s); } case "": case "e": case "g": case "p": case "r": { n.precision == null && !isNaN(a = AT(i, Math.max(Math.abs(t), Math.abs(e)))) && (n.precision = a - (n.type === "e")); break; } case "f": case "%": { n.precision == null && !isNaN(a = CT(i)) && (n.precision = a - (n.type === "%") * 2); break; } } return M1(n); } function es(t) { var e = t.domain; return t.ticks = function(r) { var n = e(); return As(n[0], n[n.length - 1], r == null ? 10 : r); }, t.tickFormat = function(r, n) { var i = e(); return ME(i[0], i[i.length - 1], r == null ? 10 : r, n); }, t.nice = function(r) { r == null && (r = 10); var n = e(), i = 0, a = n.length - 1, s = n[i], o = n[a], l, u, h = 10; for (o < s && (u = s, s = o, o = u, u = i, i = a, a = u); h-- > 0; ) { if (u = No(s, o, r), u === l) return n[i] = s, n[a] = o, e(n); if (u > 0) s = Math.floor(s / u) * u, o = Math.ceil(o / u) * u; else if (u < 0) s = Math.ceil(s * u) / u, o = Math.floor(o * u) / u; else break; l = u; } return t; }, t; } function j3() { var t = G3(); return t.copy = function() { return iu(t, j3()); }, qn.apply(t, arguments), es(t); } function LE(t) { var e; function r(n) { return n == null || isNaN(n = +n) ? e : n; } return r.invert = r, r.domain = r.range = function(n) { return arguments.length ? (t = Array.from(n, kf), r) : t.slice(); }, r.unknown = function(n) { return arguments.length ? (e = n, r) : e; }, r.copy = function() { return LE(t).unknown(e); }, t = arguments.length ? Array.from(t, kf) : [0, 1], es(r); } function RE(t, e) { t = t.slice(); var r = 0, n = t.length - 1, i = t[r], a = t[n], s; return a < i && (s = r, r = n, n = s, s = i, i = a, a = s), t[r] = e.floor(i), t[n] = e.ceil(a), t; } function Tv(t) { return Math.log(t); } function Ev(t) { return Math.exp(t); } function lY(t) { return -Math.log(-t); } function cY(t) { return -Math.exp(-t); } function uY(t) { return isFinite(t) ? +("1e" + t) : t < 0 ? 0 : t; } function hY(t) { return t === 10 ? uY : t === Math.E ? Math.exp : (e) => Math.pow(t, e); } function fY(t) { return t === Math.E ? Math.log : t === 10 && Math.log10 || t === 2 && Math.log2 || (t = Math.log(t), (e) => Math.log(e) / t); } function Cv(t) { return (e, r) => -t(-e, r); } function $3(t) { const e = t(Tv, Ev), r = e.domain; let n = 10, i, a; function s() { return i = fY(n), a = hY(n), r()[0] < 0 ? (i = Cv(i), a = Cv(a), t(lY, cY)) : t(Tv, Ev), e; } return e.base = function(o) { return arguments.length ? (n = +o, s()) : n; }, e.domain = function(o) { return arguments.length ? (r(o), s()) : r(); }, e.ticks = (o) => { const l = r(); let u = l[0], h = l[l.length - 1]; const d = h < u; d && ([u, h] = [h, u]); let f = i(u), p = i(h), m, _; const y = o == null ? 10 : +o; let b = []; if (!(n % 1) && p - f < y) { if (f = Math.floor(f), p = Math.ceil(p), u > 0) { for (; f <= p; ++f) for (m = 1; m < n; ++m) if (_ = f < 0 ? m / a(-f) : m * a(f), !(_ < u)) { if (_ > h) break; b.push(_); } } else for (; f <= p; ++f) for (m = n - 1; m >= 1; --m) if (_ = f > 0 ? m / a(-f) : m * a(f), !(_ < u)) { if (_ > h) break; b.push(_); } b.length * 2 < y && (b = As(u, h, y)); } else b = As(f, p, Math.min(p - f, y)).map(a); return d ? b.reverse() : b; }, e.tickFormat = (o, l) => { if (o == null && (o = 10), l == null && (l = n === 10 ? "s" : ","), typeof l != "function" && (!(n % 1) && (l = Vo(l)).precision == null && (l.trim = !0), l = M1(l)), o === 1 / 0) return l; const u = Math.max(1, n * o / e.ticks().length); return (h) => { let d = h / a(Math.round(i(h))); return d * n < n - 0.5 && (d *= n), d <= u ? l(h) : ""; }; }, e.nice = () => r(RE(r(), { floor: (o) => a(Math.floor(i(o))), ceil: (o) => a(Math.ceil(i(o))) })), e; } function IE() { const t = $3(B1()).domain([1, 10]); return t.copy = () => iu(t, IE()).base(t.base()), qn.apply(t, arguments), t; } function Sv(t) { return function(e) { return Math.sign(e) * Math.log1p(Math.abs(e / t)); }; } function Av(t) { return function(e) { return Math.sign(e) * Math.expm1(Math.abs(e)) * t; }; } function X3(t) { var e = 1, r = t(Sv(e), Av(e)); return r.constant = function(n) { return arguments.length ? t(Sv(e = +n), Av(e)) : e; }, es(r); } function NE() { var t = X3(B1()); return t.copy = function() { return iu(t, NE()).constant(t.constant()); }, qn.apply(t, arguments); } function Mv(t) { return function(e) { return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); }; } function dY(t) { return t < 0 ? -Math.sqrt(-t) : Math.sqrt(t); } function pY(t) { return t < 0 ? -t * t : t * t; } function K3(t) { var e = t(tn, tn), r = 1; function n() { return r === 1 ? t(tn, tn) : r === 0.5 ? t(dY, pY) : t(Mv(r), Mv(1 / r)); } return e.exponent = function(i) { return arguments.length ? (r = +i, n()) : r; }, es(e); } function Z3() { var t = K3(B1()); return t.copy = function() { return iu(t, Z3()).exponent(t.exponent()); }, qn.apply(t, arguments), t; } function gY() { return Z3.apply(null, arguments).exponent(0.5); } function Lv(t) { return Math.sign(t) * t * t; } function yY(t) { return Math.sign(t) * Math.sqrt(Math.abs(t)); } function BE() { var t = G3(), e = [0, 1], r = !1, n; function i(a) { var s = yY(t(a)); return isNaN(s) ? n : r ? Math.round(s) : s; } return i.invert = function(a) { return t.invert(Lv(a)); }, i.domain = function(a) { return arguments.length ? (t.domain(a), i) : t.domain(); }, i.range = function(a) { return arguments.length ? (t.range((e = Array.from(a, kf)).map(Lv)), i) : e.slice(); }, i.rangeRound = function(a) { return i.range(a).round(!0); }, i.round = function(a) { return arguments.length ? (r = !!a, i) : r; }, i.clamp = function(a) { return arguments.length ? (t.clamp(a), i) : t.clamp(); }, i.unknown = function(a) { return arguments.length ? (n = a, i) : n; }, i.copy = function() { return BE(t.domain(), e).round(r).clamp(t.clamp()).unknown(n); }, qn.apply(i, arguments), es(i); } function DE() { var t = [], e = [], r = [], n; function i() { var s = 0, o = Math.max(1, e.length); for (r = new Array(o - 1); ++s < o; ) r[s - 1] = l9(t, s / o); return a; } function a(s) { return s == null || isNaN(s = +s) ? n : e[Us(r, s)]; } return a.invertExtent = function(s) { var o = e.indexOf(s); return o < 0 ? [NaN, NaN] : [ o > 0 ? r[o - 1] : t[0], o < r.length ? r[o] : t[t.length - 1] ]; }, a.domain = function(s) { if (!arguments.length) return t.slice(); t = []; for (let o of s) o != null && !isNaN(o = +o) && t.push(o); return t.sort(tr), i(); }, a.range = function(s) { return arguments.length ? (e = Array.from(s), i()) : e.slice(); }, a.unknown = function(s) { return arguments.length ? (n = s, a) : n; }, a.quantiles = function() { return r.slice(); }, a.copy = function() { return DE().domain(t).range(e).unknown(n); }, qn.apply(a, arguments); } function OE() { var t = 0, e = 1, r = 1, n = [0.5], i = [0, 1], a; function s(l) { return l != null && l <= l ? i[Us(n, l, 0, r)] : a; } function o() { var l = -1; for (n = new Array(r); ++l < r; ) n[l] = ((l + 1) * e - (l - r) * t) / (r + 1); return s; } return s.domain = function(l) { return arguments.length ? ([t, e] = l, t = +t, e = +e, o()) : [t, e]; }, s.range = function(l) { return arguments.length ? (r = (i = Array.from(l)).length - 1, o()) : i.slice(); }, s.invertExtent = function(l) { var u = i.indexOf(l); return u < 0 ? [NaN, NaN] : u < 1 ? [t, n[0]] : u >= r ? [n[r - 1], e] : [n[u - 1], n[u]]; }, s.unknown = function(l) { return arguments.length && (a = l), s; }, s.thresholds = function() { return n.slice(); }, s.copy = function() { return OE().domain([t, e]).range(i).unknown(a); }, qn.apply(es(s), arguments); } function FE() { var t = [0.5], e = [0, 1], r, n = 1; function i(a) { return a != null && a <= a ? e[Us(t, a, 0, n)] : r; } return i.domain = function(a) { return arguments.length ? (t = Array.from(a), n = Math.min(t.length, e.length - 1), i) : t.slice(); }, i.range = function(a) { return arguments.length ? (e = Array.from(a), n = Math.min(t.length, e.length - 1), i) : e.slice(); }, i.invertExtent = function(a) { var s = e.indexOf(a); return [t[s - 1], t[s]]; }, i.unknown = function(a) { return arguments.length ? (r = a, i) : r; }, i.copy = function() { return FE().domain(t).range(e).unknown(r); }, qn.apply(i, arguments); } var gd = new Date(), yd = new Date(); function Tr(t, e, r, n) { function i(a) { return t(a = arguments.length === 0 ? new Date() : new Date(+a)), a; } return i.floor = function(a) { return t(a = new Date(+a)), a; }, i.ceil = function(a) { return t(a = new Date(a - 1)), e(a, 1), t(a), a; }, i.round = function(a) { var s = i(a), o = i.ceil(a); return a - s < o - a ? s : o; }, i.offset = function(a, s) { return e(a = new Date(+a), s == null ? 1 : Math.floor(s)), a; }, i.range = function(a, s, o) { var l = [], u; if (a = i.ceil(a), o = o == null ? 1 : Math.floor(o), !(a < s) || !(o > 0)) return l; do l.push(u = new Date(+a)), e(a, o), t(a); while (u < a && a < s); return l; }, i.filter = function(a) { return Tr(function(s) { if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1); }, function(s, o) { if (s >= s) if (o < 0) for (; ++o <= 0; ) for (; e(s, -1), !a(s); ) ; else for (; --o >= 0; ) for (; e(s, 1), !a(s); ) ; }); }, r && (i.count = function(a, s) { return gd.setTime(+a), yd.setTime(+s), t(gd), t(yd), Math.floor(r(gd, yd)); }, i.every = function(a) { return a = Math.floor(a), !isFinite(a) || !(a > 0) ? null : a > 1 ? i.filter(n ? function(s) { return n(s) % a === 0; } : function(s) { return i.count(0, s) % a === 0; }) : i; }), i; } var wf = Tr(function() { }, function(t, e) { t.setTime(+t + e); }, function(t, e) { return e - t; }); wf.every = function(t) { return t = Math.floor(t), !isFinite(t) || !(t > 0) ? null : t > 1 ? Tr(function(e) { e.setTime(Math.floor(e / t) * t); }, function(e, r) { e.setTime(+e + r * t); }, function(e, r) { return (r - e) / t; }) : wf; }; const pb = wf; var Rv = wf.range; const ca = 1e3, Fn = ca * 60, ua = Fn * 60, Ds = ua * 24, Q3 = Ds * 7, Iv = Ds * 30, md = Ds * 365; var PE = Tr(function(t) { t.setTime(t - t.getMilliseconds()); }, function(t, e) { t.setTime(+t + e * ca); }, function(t, e) { return (e - t) / ca; }, function(t) { return t.getUTCSeconds(); }); const Fa = PE; var Nv = PE.range, qE = Tr(function(t) { t.setTime(t - t.getMilliseconds() - t.getSeconds() * ca); }, function(t, e) { t.setTime(+t + e * Fn); }, function(t, e) { return (e - t) / Fn; }, function(t) { return t.getMinutes(); }); const J3 = qE; var mY = qE.range, VE = Tr(function(t) { t.setTime(t - t.getMilliseconds() - t.getSeconds() * ca - t.getMinutes() * Fn); }, function(t, e) { t.setTime(+t + e * ua); }, function(t, e) { return (e - t) / ua; }, function(t) { return t.getHours(); }); const t4 = VE; var bY = VE.range, zE = Tr( (t) => t.setHours(0, 0, 0, 0), (t, e) => t.setDate(t.getDate() + e), (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * Fn) / Ds, (t) => t.getDate() - 1 ); const au = zE; var _Y = zE.range; function $s(t) { return Tr(function(e) { e.setDate(e.getDate() - (e.getDay() + 7 - t) % 7), e.setHours(0, 0, 0, 0); }, function(e, r) { e.setDate(e.getDate() + r * 7); }, function(e, r) { return (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * Fn) / Q3; }); } var Wo = $s(0), Mc = $s(1), YE = $s(2), UE = $s(3), Os = $s(4), WE = $s(5), HE = $s(6), Bv = Wo.range, vY = Mc.range, xY = YE.range, kY = UE.range, wY = Os.range, TY = WE.range, EY = HE.range, GE = Tr(function(t) { t.setDate(1), t.setHours(0, 0, 0, 0); }, function(t, e) { t.setMonth(t.getMonth() + e); }, function(t, e) { return e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12; }, function(t) { return t.getMonth(); }); const e4 = GE; var CY = GE.range, r4 = Tr(function(t) { t.setMonth(0, 1), t.setHours(0, 0, 0, 0); }, function(t, e) { t.setFullYear(t.getFullYear() + e); }, function(t, e) { return e.getFullYear() - t.getFullYear(); }, function(t) { return t.getFullYear(); }); r4.every = function(t) { return !isFinite(t = Math.floor(t)) || !(t > 0) ? null : Tr(function(e) { e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0); }, function(e, r) { e.setFullYear(e.getFullYear() + r * t); }); }; const Ga = r4; var SY = r4.range, jE = Tr(function(t) { t.setUTCSeconds(0, 0); }, function(t, e) { t.setTime(+t + e * Fn); }, function(t, e) { return (e - t) / Fn; }, function(t) { return t.getUTCMinutes(); }); const n4 = jE; var AY = jE.range, $E = Tr(function(t) { t.setUTCMinutes(0, 0, 0); }, function(t, e) { t.setTime(+t + e * ua); }, function(t, e) { return (e - t) / ua; }, function(t) { return t.getUTCHours(); }); const i4 = $E; var MY = $E.range, XE = Tr(function(t) { t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCDate(t.getUTCDate() + e); }, function(t, e) { return (e - t) / Ds; }, function(t) { return t.getUTCDate() - 1; }); const su = XE; var LY = XE.range; function Xs(t) { return Tr(function(e) { e.setUTCDate(e.getUTCDate() - (e.getUTCDay() + 7 - t) % 7), e.setUTCHours(0, 0, 0, 0); }, function(e, r) { e.setUTCDate(e.getUTCDate() + r * 7); }, function(e, r) { return (r - e) / Q3; }); } var Ho = Xs(0), Lc = Xs(1), KE = Xs(2), ZE = Xs(3), Fs = Xs(4), QE = Xs(5), JE = Xs(6), Dv = Ho.range, RY = Lc.range, IY = KE.range, NY = ZE.range, BY = Fs.range, DY = QE.range, OY = JE.range, tC = Tr(function(t) { t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCMonth(t.getUTCMonth() + e); }, function(t, e) { return e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12; }, function(t) { return t.getUTCMonth(); }); const a4 = tC; var FY = tC.range, s4 = Tr(function(t) { t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCFullYear(t.getUTCFullYear() + e); }, function(t, e) { return e.getUTCFullYear() - t.getUTCFullYear(); }, function(t) { return t.getUTCFullYear(); }); s4.every = function(t) { return !isFinite(t = Math.floor(t)) || !(t > 0) ? null : Tr(function(e) { e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0); }, function(e, r) { e.setUTCFullYear(e.getUTCFullYear() + r * t); }); }; const ja = s4; var PY = s4.range; function eC(t, e, r, n, i, a) { const s = [ [Fa, 1, ca], [Fa, 5, 5 * ca], [Fa, 15, 15 * ca], [Fa, 30, 30 * ca], [a, 1, Fn], [a, 5, 5 * Fn], [a, 15, 15 * Fn], [a, 30, 30 * Fn], [i, 1, ua], [i, 3, 3 * ua], [i, 6, 6 * ua], [i, 12, 12 * ua], [n, 1, Ds], [n, 2, 2 * Ds], [r, 1, Q3], [e, 1, Iv], [e, 3, 3 * Iv], [t, 1, md] ]; function o(u, h, d) { const f = h < u; f && ([u, h] = [h, u]); const p = d && typeof d.range == "function" ? d : l(u, h, d), m = p ? p.range(u, +h + 1) : []; return f ? m.reverse() : m; } function l(u, h, d) { const f = Math.abs(h - u) / d, p = l1(([, , y]) => y).right(s, f); if (p === s.length) return t.every(pc(u / md, h / md, d)); if (p === 0) return pb.every(Math.max(pc(u, h, d), 1)); const [m, _] = s[f / s[p - 1][2] < s[p][2] / f ? p - 1 : p]; return m.every(_); } return [o, l]; } const [rC, nC] = eC(ja, a4, Ho, su, i4, n4), [iC, aC] = eC(Ga, e4, Wo, au, t4, J3); function bd(t) { if (0 <= t.y && t.y < 100) { var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); return e.setFullYear(t.y), e; } return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); } function _d(t) { if (0 <= t.y && t.y < 100) { var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); return e.setUTCFullYear(t.y), e; } return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)); } function Cl(t, e, r) { return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; } function sC(t) { var e = t.dateTime, r = t.date, n = t.time, i = t.periods, a = t.days, s = t.shortDays, o = t.months, l = t.shortMonths, u = Sl(i), h = Al(i), d = Sl(a), f = Al(a), p = Sl(s), m = Al(s), _ = Sl(o), y = Al(o), b = Sl(l), x = Al(l), k = { a: X, A: ct, b: J, B: Y, c: null, d: zv, e: zv, f: oU, g: mU, G: _U, H: iU, I: aU, j: sU, L: oC, m: lU, M: cU, p: $, q: lt, Q: Wv, s: Hv, S: uU, u: hU, U: fU, V: dU, w: pU, W: gU, x: null, X: null, y: yU, Y: bU, Z: vU, "%": Uv }, T = { a: ut, A: W, b: tt, B: K, c: null, d: Yv, e: Yv, f: TU, g: BU, G: OU, H: xU, I: kU, j: wU, L: cC, m: EU, M: CU, p: it, q: Z, Q: Wv, s: Hv, S: SU, u: AU, U: MU, V: LU, w: RU, W: IU, x: null, X: null, y: NU, Y: DU, Z: FU, "%": Uv }, C = { a: L, A: v, b: B, B: w, c: D, d: qv, e: qv, f: tU, g: Pv, G: Fv, H: Vv, I: Vv, j: KY, L: JY, m: XY, M: ZY, p: A, q: $Y, Q: rU, s: nU, S: QY, u: UY, U: WY, V: HY, w: YY, W: GY, x: N, X: z, y: Pv, Y: Fv, Z: jY, "%": eU }; k.x = M(r, k), k.X = M(n, k), k.c = M(e, k), T.x = M(r, T), T.X = M(n, T), T.c = M(e, T); function M(V, Q) { return function(q) { var U = [], F = -1, j = 0, P = V.length, et, at, It; for (q instanceof Date || (q = new Date(+q)); ++F < P; ) V.charCodeAt(F) === 37 && (U.push(V.slice(j, F)), (at = Ov[et = V.charAt(++F)]) != null ? et = V.charAt(++F) : at = et === "e" ? " " : "0", (It = Q[et]) && (et = It(q, at)), U.push(et), j = F + 1); return U.push(V.slice(j, F)), U.join(""); }; } function S(V, Q) { return function(q) { var U = Cl(1900, void 0, 1), F = R(U, V, q += "", 0), j, P; if (F != q.length) return null; if ("Q" in U) return new Date(U.Q); if ("s" in U) return new Date(U.s * 1e3 + ("L" in U ? U.L : 0)); if (Q && !("Z" in U) && (U.Z = 0), "p" in U && (U.H = U.H % 12 + U.p * 12), U.m === void 0 && (U.m = "q" in U ? U.q : 0), "V" in U) { if (U.V < 1 || U.V > 53) return null; "w" in U || (U.w = 1), "Z" in U ? (j = _d(Cl(U.y, 0, 1)), P = j.getUTCDay(), j = P > 4 || P === 0 ? Lc.ceil(j) : Lc(j), j = su.offset(j, (U.V - 1) * 7), U.y = j.getUTCFullYear(), U.m = j.getUTCMonth(), U.d = j.getUTCDate() + (U.w + 6) % 7) : (j = bd(Cl(U.y, 0, 1)), P = j.getDay(), j = P > 4 || P === 0 ? Mc.ceil(j) : Mc(j), j = au.offset(j, (U.V - 1) * 7), U.y = j.getFullYear(), U.m = j.getMonth(), U.d = j.getDate() + (U.w + 6) % 7); } else ("W" in U || "U" in U) && ("w" in U || (U.w = "u" in U ? U.u % 7 : "W" in U ? 1 : 0), P = "Z" in U ? _d(Cl(U.y, 0, 1)).getUTCDay() : bd(Cl(U.y, 0, 1)).getDay(), U.m = 0, U.d = "W" in U ? (U.w + 6) % 7 + U.W * 7 - (P + 5) % 7 : U.w + U.U * 7 - (P + 6) % 7); return "Z" in U ? (U.H += U.Z / 100 | 0, U.M += U.Z % 100, _d(U)) : bd(U); }; } function R(V, Q, q, U) { for (var F = 0, j = Q.length, P = q.length, et, at; F < j; ) { if (U >= P) return -1; if (et = Q.charCodeAt(F++), et === 37) { if (et = Q.charAt(F++), at = C[et in Ov ? Q.charAt(F++) : et], !at || (U = at(V, q, U)) < 0) return -1; } else if (et != q.charCodeAt(U++)) return -1; } return U; } function A(V, Q, q) { var U = u.exec(Q.slice(q)); return U ? (V.p = h.get(U[0].toLowerCase()), q + U[0].length) : -1; } function L(V, Q, q) { var U = p.exec(Q.slice(q)); return U ? (V.w = m.get(U[0].toLowerCase()), q + U[0].length) : -1; } function v(V, Q, q) { var U = d.exec(Q.slice(q)); return U ? (V.w = f.get(U[0].toLowerCase()), q + U[0].length) : -1; } function B(V, Q, q) { var U = b.exec(Q.slice(q)); return U ? (V.m = x.get(U[0].toLowerCase()), q + U[0].length) : -1; } function w(V, Q, q) { var U = _.exec(Q.slice(q)); return U ? (V.m = y.get(U[0].toLowerCase()), q + U[0].length) : -1; } function D(V, Q, q) { return R(V, e, Q, q); } function N(V, Q, q) { return R(V, r, Q, q); } function z(V, Q, q) { return R(V, n, Q, q); } function X(V) { return s[V.getDay()]; } function ct(V) { return a[V.getDay()]; } function J(V) { return l[V.getMonth()]; } function Y(V) { return o[V.getMonth()]; } function $(V) { return i[+(V.getHours() >= 12)]; } function lt(V) { return 1 + ~~(V.getMonth() / 3); } function ut(V) { return s[V.getUTCDay()]; } function W(V) { return a[V.getUTCDay()]; } function tt(V) { return l[V.getUTCMonth()]; } function K(V) { return o[V.getUTCMonth()]; } function it(V) { return i[+(V.getUTCHours() >= 12)]; } function Z(V) { return 1 + ~~(V.getUTCMonth() / 3); } return { format: function(V) { var Q = M(V += "", k); return Q.toString = function() { return V; }, Q; }, parse: function(V) { var Q = S(V += "", !1); return Q.toString = function() { return V; }, Q; }, utcFormat: function(V) { var Q = M(V += "", T); return Q.toString = function() { return V; }, Q; }, utcParse: function(V) { var Q = S(V += "", !0); return Q.toString = function() { return V; }, Q; } }; } var Ov = { "-": "", _: " ", 0: "0" }, Rr = /^\s*\d+/, qY = /^%/, VY = /[\\^$*+?|[\]().{}]/g; function qe(t, e, r) { var n = t < 0 ? "-" : "", i = (n ? -t : t) + "", a = i.length; return n + (a < r ? new Array(r - a + 1).join(e) + i : i); } function zY(t) { return t.replace(VY, "\\$&"); } function Sl(t) { return new RegExp("^(?:" + t.map(zY).join("|") + ")", "i"); } function Al(t) { return new Map(t.map((e, r) => [e.toLowerCase(), r])); } function YY(t, e, r) { var n = Rr.exec(e.slice(r, r + 1)); return n ? (t.w = +n[0], r + n[0].length) : -1; } function UY(t, e, r) { var n = Rr.exec(e.slice(r, r + 1)); return n ? (t.u = +n[0], r + n[0].length) : -1; } function WY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.U = +n[0], r + n[0].length) : -1; } function HY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.V = +n[0], r + n[0].length) : -1; } function GY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.W = +n[0], r + n[0].length) : -1; } function Fv(t, e, r) { var n = Rr.exec(e.slice(r, r + 4)); return n ? (t.y = +n[0], r + n[0].length) : -1; } function Pv(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1; } function jY(t, e, r) { var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)); return n ? (t.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), r + n[0].length) : -1; } function $Y(t, e, r) { var n = Rr.exec(e.slice(r, r + 1)); return n ? (t.q = n[0] * 3 - 3, r + n[0].length) : -1; } function XY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.m = n[0] - 1, r + n[0].length) : -1; } function qv(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.d = +n[0], r + n[0].length) : -1; } function KY(t, e, r) { var n = Rr.exec(e.slice(r, r + 3)); return n ? (t.m = 0, t.d = +n[0], r + n[0].length) : -1; } function Vv(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.H = +n[0], r + n[0].length) : -1; } function ZY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.M = +n[0], r + n[0].length) : -1; } function QY(t, e, r) { var n = Rr.exec(e.slice(r, r + 2)); return n ? (t.S = +n[0], r + n[0].length) : -1; } function JY(t, e, r) { var n = Rr.exec(e.slice(r, r + 3)); return n ? (t.L = +n[0], r + n[0].length) : -1; } function tU(t, e, r) { var n = Rr.exec(e.slice(r, r + 6)); return n ? (t.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1; } function eU(t, e, r) { var n = qY.exec(e.slice(r, r + 1)); return n ? r + n[0].length : -1; } function rU(t, e, r) { var n = Rr.exec(e.slice(r)); return n ? (t.Q = +n[0], r + n[0].length) : -1; } function nU(t, e, r) { var n = Rr.exec(e.slice(r)); return n ? (t.s = +n[0], r + n[0].length) : -1; } function zv(t, e) { return qe(t.getDate(), e, 2); } function iU(t, e) { return qe(t.getHours(), e, 2); } function aU(t, e) { return qe(t.getHours() % 12 || 12, e, 2); } function sU(t, e) { return qe(1 + au.count(Ga(t), t), e, 3); } function oC(t, e) { return qe(t.getMilliseconds(), e, 3); } function oU(t, e) { return oC(t, e) + "000"; } function lU(t, e) { return qe(t.getMonth() + 1, e, 2); } function cU(t, e) { return qe(t.getMinutes(), e, 2); } function uU(t, e) { return qe(t.getSeconds(), e, 2); } function hU(t) { var e = t.getDay(); return e === 0 ? 7 : e; } function fU(t, e) { return qe(Wo.count(Ga(t) - 1, t), e, 2); } function lC(t) { var e = t.getDay(); return e >= 4 || e === 0 ? Os(t) : Os.ceil(t); } function dU(t, e) { return t = lC(t), qe(Os.count(Ga(t), t) + (Ga(t).getDay() === 4), e, 2); } function pU(t) { return t.getDay(); } function gU(t, e) { return qe(Mc.count(Ga(t) - 1, t), e, 2); } function yU(t, e) { return qe(t.getFullYear() % 100, e, 2); } function mU(t, e) { return t = lC(t), qe(t.getFullYear() % 100, e, 2); } function bU(t, e) { return qe(t.getFullYear() % 1e4, e, 4); } function _U(t, e) { var r = t.getDay(); return t = r >= 4 || r === 0 ? Os(t) : Os.ceil(t), qe(t.getFullYear() % 1e4, e, 4); } function vU(t) { var e = t.getTimezoneOffset(); return (e > 0 ? "-" : (e *= -1, "+")) + qe(e / 60 | 0, "0", 2) + qe(e % 60, "0", 2); } function Yv(t, e) { return qe(t.getUTCDate(), e, 2); } function xU(t, e) { return qe(t.getUTCHours(), e, 2); } function kU(t, e) { return qe(t.getUTCHours() % 12 || 12, e, 2); } function wU(t, e) { return qe(1 + su.count(ja(t), t), e, 3); } function cC(t, e) { return qe(t.getUTCMilliseconds(), e, 3); } function TU(t, e) { return cC(t, e) + "000"; } function EU(t, e) { return qe(t.getUTCMonth() + 1, e, 2); } function CU(t, e) { return qe(t.getUTCMinutes(), e, 2); } function SU(t, e) { return qe(t.getUTCSeconds(), e, 2); } function AU(t) { var e = t.getUTCDay(); return e === 0 ? 7 : e; } function MU(t, e) { return qe(Ho.count(ja(t) - 1, t), e, 2); } function uC(t) { var e = t.getUTCDay(); return e >= 4 || e === 0 ? Fs(t) : Fs.ceil(t); } function LU(t, e) { return t = uC(t), qe(Fs.count(ja(t), t) + (ja(t).getUTCDay() === 4), e, 2); } function RU(t) { return t.getUTCDay(); } function IU(t, e) { return qe(Lc.count(ja(t) - 1, t), e, 2); } function NU(t, e) { return qe(t.getUTCFullYear() % 100, e, 2); } function BU(t, e) { return t = uC(t), qe(t.getUTCFullYear() % 100, e, 2); } function DU(t, e) { return qe(t.getUTCFullYear() % 1e4, e, 4); } function OU(t, e) { var r = t.getUTCDay(); return t = r >= 4 || r === 0 ? Fs(t) : Fs.ceil(t), qe(t.getUTCFullYear() % 1e4, e, 4); } function FU() { return "+0000"; } function Uv() { return "%"; } function Wv(t) { return +t; } function Hv(t) { return Math.floor(+t / 1e3); } var go, Rc, hC, D1, o4; fC({ dateTime: "%x, %X", date: "%-m/%-d/%Y", time: "%-I:%M:%S %p", periods: ["AM", "PM"], days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }); function fC(t) { return go = sC(t), Rc = go.format, hC = go.parse, D1 = go.utcFormat, o4 = go.utcParse, go; } var dC = "%Y-%m-%dT%H:%M:%S.%LZ"; function PU(t) { return t.toISOString(); } var qU = Date.prototype.toISOString ? PU : D1(dC); const VU = qU; function zU(t) { var e = new Date(t); return isNaN(e) ? null : e; } var YU = +new Date("2000-01-01T00:00:00.000Z") ? zU : o4(dC); const UU = YU; function WU(t) { return new Date(t); } function HU(t) { return t instanceof Date ? +t : +new Date(+t); } function l4(t, e, r, n, i, a, s, o, l, u) { var h = G3(), d = h.invert, f = h.domain, p = u(".%L"), m = u(":%S"), _ = u("%I:%M"), y = u("%I %p"), b = u("%a %d"), x = u("%b %d"), k = u("%B"), T = u("%Y"); function C(M) { return (l(M) < M ? p : o(M) < M ? m : s(M) < M ? _ : a(M) < M ? y : n(M) < M ? i(M) < M ? b : x : r(M) < M ? k : T)(M); } return h.invert = function(M) { return new Date(d(M)); }, h.domain = function(M) { return arguments.length ? f(Array.from(M, HU)) : f().map(WU); }, h.ticks = function(M) { var S = f(); return t(S[0], S[S.length - 1], M == null ? 10 : M); }, h.tickFormat = function(M, S) { return S == null ? C : u(S); }, h.nice = function(M) { var S = f(); return (!M || typeof M.range != "function") && (M = e(S[0], S[S.length - 1], M == null ? 10 : M)), M ? f(RE(S, M)) : h; }, h.copy = function() { return iu(h, l4(t, e, r, n, i, a, s, o, l, u)); }, h; } function pC() { return qn.apply(l4(iC, aC, Ga, e4, Wo, au, t4, J3, Fa, Rc).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments); } function GU() { return qn.apply(l4(rC, nC, ja, a4, Ho, su, i4, n4, Fa, D1).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments); } function O1() { var t = 0, e = 1, r, n, i, a, s = tn, o = !1, l; function u(d) { return d == null || isNaN(d = +d) ? l : s(i === 0 ? 0.5 : (d = (a(d) - r) * i, o ? Math.max(0, Math.min(1, d)) : d)); } u.domain = function(d) { return arguments.length ? ([t, e] = d, r = a(t = +t), n = a(e = +e), i = r === n ? 0 : 1 / (n - r), u) : [t, e]; }, u.clamp = function(d) { return arguments.length ? (o = !!d, u) : o; }, u.interpolator = function(d) { return arguments.length ? (s = d, u) : s; }; function h(d) { return function(f) { var p, m; return arguments.length ? ([p, m] = f, s = d(p, m), u) : [s(0), s(1)]; }; } return u.range = h(Ja), u.rangeRound = h(v1), u.unknown = function(d) { return arguments.length ? (l = d, u) : l; }, function(d) { return a = d, r = d(t), n = d(e), i = r === n ? 0 : 1 / (n - r), u; }; } function rs(t, e) { return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown()); } function gC() { var t = es(O1()(tn)); return t.copy = function() { return rs(t, gC()); }, ba.apply(t, arguments); } function yC() { var t = $3(O1()).domain([1, 10]); return t.copy = function() { return rs(t, yC()).base(t.base()); }, ba.apply(t, arguments); } function mC() { var t = X3(O1()); return t.copy = function() { return rs(t, mC()).constant(t.constant()); }, ba.apply(t, arguments); } function c4() { var t = K3(O1()); return t.copy = function() { return rs(t, c4()).exponent(t.exponent()); }, ba.apply(t, arguments); } function jU() { return c4.apply(null, arguments).exponent(0.5); } function bC() { var t = [], e = tn; function r(n) { if (n != null && !isNaN(n = +n)) return e((Us(t, n, 1) - 1) / (t.length - 1)); } return r.domain = function(n) { if (!arguments.length) return t.slice(); t = []; for (let i of n) i != null && !isNaN(i = +i) && t.push(i); return t.sort(tr), r; }, r.interpolator = function(n) { return arguments.length ? (e = n, r) : e; }, r.range = function() { return t.map((n, i) => e(i / (t.length - 1))); }, r.quantiles = function(n) { return Array.from({ length: n + 1 }, (i, a) => yc(t, a / n)); }, r.copy = function() { return bC(e).domain(t); }, ba.apply(r, arguments); } function F1() { var t = 0, e = 0.5, r = 1, n = 1, i, a, s, o, l, u = tn, h, d = !1, f; function p(_) { return isNaN(_ = +_) ? f : (_ = 0.5 + ((_ = +h(_)) - a) * (n * _ < n * a ? o : l), u(d ? Math.max(0, Math.min(1, _)) : _)); } p.domain = function(_) { return arguments.length ? ([t, e, r] = _, i = h(t = +t), a = h(e = +e), s = h(r = +r), o = i === a ? 0 : 0.5 / (a - i), l = a === s ? 0 : 0.5 / (s - a), n = a < i ? -1 : 1, p) : [t, e, r]; }, p.clamp = function(_) { return arguments.length ? (d = !!_, p) : d; }, p.interpolator = function(_) { return arguments.length ? (u = _, p) : u; }; function m(_) { return function(y) { var b, x, k; return arguments.length ? ([b, x, k] = y, u = nT(_, [b, x, k]), p) : [u(0), u(0.5), u(1)]; }; } return p.range = m(Ja), p.rangeRound = m(v1), p.unknown = function(_) { return arguments.length ? (f = _, p) : f; }, function(_) { return h = _, i = _(t), a = _(e), s = _(r), o = i === a ? 0 : 0.5 / (a - i), l = a === s ? 0 : 0.5 / (s - a), n = a < i ? -1 : 1, p; }; } function _C() { var t = es(F1()(tn)); return t.copy = function() { return rs(t, _C()); }, ba.apply(t, arguments); } function vC() { var t = $3(F1()).domain([0.1, 1, 10]); return t.copy = function() { return rs(t, vC()).base(t.base()); }, ba.apply(t, arguments); } function xC() { var t = X3(F1()); return t.copy = function() { return rs(t, xC()).constant(t.constant()); }, ba.apply(t, arguments); } function u4() { var t = K3(F1()); return t.copy = function() { return rs(t, u4()).exponent(t.exponent()); }, ba.apply(t, arguments); } function $U() { return u4.apply(null, arguments).exponent(0.5); } function Ce(t) { for (var e = t.length / 6 | 0, r = new Array(e), n = 0; n < e; ) r[n] = "#" + t.slice(n * 6, ++n * 6); return r; } const XU = Ce("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), KU = Ce("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), ZU = Ce("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), QU = Ce("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), JU = Ce("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), tW = Ce("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), eW = Ce("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), rW = Ce("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), nW = Ce("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), iW = Ce("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"), We = (t) => U9(t[t.length - 1]); var kC = new Array(3).concat( "d8b365f5f5f55ab4ac", "a6611adfc27d80cdc1018571", "a6611adfc27df5f5f580cdc1018571", "8c510ad8b365f6e8c3c7eae55ab4ac01665e", "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e", "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e", "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e", "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30", "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30" ).map(Ce); const aW = We(kC); var wC = new Array(3).concat( "af8dc3f7f7f77fbf7b", "7b3294c2a5cfa6dba0008837", "7b3294c2a5cff7f7f7a6dba0008837", "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837", "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837", "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837", "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837", "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b", "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b" ).map(Ce); const sW = We(wC); var TC = new Array(3).concat( "e9a3c9f7f7f7a1d76a", "d01c8bf1b6dab8e1864dac26", "d01c8bf1b6daf7f7f7b8e1864dac26", "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221", "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221", "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221", "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221", "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419", "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419" ).map(Ce); const oW = We(TC); var EC = new Array(3).concat( "998ec3f7f7f7f1a340", "5e3c99b2abd2fdb863e66101", "5e3c99b2abd2f7f7f7fdb863e66101", "542788998ec3d8daebfee0b6f1a340b35806", "542788998ec3d8daebf7f7f7fee0b6f1a340b35806", "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806", "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806", "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08", "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08" ).map(Ce); const lW = We(EC); var CC = new Array(3).concat( "ef8a62f7f7f767a9cf", "ca0020f4a58292c5de0571b0", "ca0020f4a582f7f7f792c5de0571b0", "b2182bef8a62fddbc7d1e5f067a9cf2166ac", "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac", "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac", "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac", "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061", "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061" ).map(Ce); const cW = We(CC); var SC = new Array(3).concat( "ef8a62ffffff999999", "ca0020f4a582bababa404040", "ca0020f4a582ffffffbababa404040", "b2182bef8a62fddbc7e0e0e09999994d4d4d", "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d", "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d", "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d", "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a", "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a" ).map(Ce); const uW = We(SC); var AC = new Array(3).concat( "fc8d59ffffbf91bfdb", "d7191cfdae61abd9e92c7bb6", "d7191cfdae61ffffbfabd9e92c7bb6", "d73027fc8d59fee090e0f3f891bfdb4575b4", "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4", "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4", "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4", "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695", "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695" ).map(Ce); const hW = We(AC); var MC = new Array(3).concat( "fc8d59ffffbf91cf60", "d7191cfdae61a6d96a1a9641", "d7191cfdae61ffffbfa6d96a1a9641", "d73027fc8d59fee08bd9ef8b91cf601a9850", "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850", "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850", "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850", "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837", "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837" ).map(Ce); const fW = We(MC); var LC = new Array(3).concat( "fc8d59ffffbf99d594", "d7191cfdae61abdda42b83ba", "d7191cfdae61ffffbfabdda42b83ba", "d53e4ffc8d59fee08be6f59899d5943288bd", "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd", "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd", "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd", "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2", "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2" ).map(Ce); const dW = We(LC); var RC = new Array(3).concat( "e5f5f999d8c92ca25f", "edf8fbb2e2e266c2a4238b45", "edf8fbb2e2e266c2a42ca25f006d2c", "edf8fbccece699d8c966c2a42ca25f006d2c", "edf8fbccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b" ).map(Ce); const pW = We(RC); var IC = new Array(3).concat( "e0ecf49ebcda8856a7", "edf8fbb3cde38c96c688419d", "edf8fbb3cde38c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b" ).map(Ce); const gW = We(IC); var NC = new Array(3).concat( "e0f3dba8ddb543a2ca", "f0f9e8bae4bc7bccc42b8cbe", "f0f9e8bae4bc7bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081" ).map(Ce); const yW = We(NC); var BC = new Array(3).concat( "fee8c8fdbb84e34a33", "fef0d9fdcc8afc8d59d7301f", "fef0d9fdcc8afc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000" ).map(Ce); const mW = We(BC); var DC = new Array(3).concat( "ece2f0a6bddb1c9099", "f6eff7bdc9e167a9cf02818a", "f6eff7bdc9e167a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636" ).map(Ce); const bW = We(DC); var OC = new Array(3).concat( "ece7f2a6bddb2b8cbe", "f1eef6bdc9e174a9cf0570b0", "f1eef6bdc9e174a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858" ).map(Ce); const _W = We(OC); var FC = new Array(3).concat( "e7e1efc994c7dd1c77", "f1eef6d7b5d8df65b0ce1256", "f1eef6d7b5d8df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f" ).map(Ce); const vW = We(FC); var PC = new Array(3).concat( "fde0ddfa9fb5c51b8a", "feebe2fbb4b9f768a1ae017e", "feebe2fbb4b9f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a" ).map(Ce); const xW = We(PC); var qC = new Array(3).concat( "edf8b17fcdbb2c7fb8", "ffffcca1dab441b6c4225ea8", "ffffcca1dab441b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58" ).map(Ce); const kW = We(qC); var VC = new Array(3).concat( "f7fcb9addd8e31a354", "ffffccc2e69978c679238443", "ffffccc2e69978c67931a354006837", "ffffccd9f0a3addd8e78c67931a354006837", "ffffccd9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529" ).map(Ce); const wW = We(VC); var zC = new Array(3).concat( "fff7bcfec44fd95f0e", "ffffd4fed98efe9929cc4c02", "ffffd4fed98efe9929d95f0e993404", "ffffd4fee391fec44ffe9929d95f0e993404", "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506" ).map(Ce); const TW = We(zC); var YC = new Array(3).concat( "ffeda0feb24cf03b20", "ffffb2fecc5cfd8d3ce31a1c", "ffffb2fecc5cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026" ).map(Ce); const EW = We(YC); var UC = new Array(3).concat( "deebf79ecae13182bd", "eff3ffbdd7e76baed62171b5", "eff3ffbdd7e76baed63182bd08519c", "eff3ffc6dbef9ecae16baed63182bd08519c", "eff3ffc6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b" ).map(Ce); const CW = We(UC); var WC = new Array(3).concat( "e5f5e0a1d99b31a354", "edf8e9bae4b374c476238b45", "edf8e9bae4b374c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b" ).map(Ce); const SW = We(WC); var HC = new Array(3).concat( "f0f0f0bdbdbd636363", "f7f7f7cccccc969696525252", "f7f7f7cccccc969696636363252525", "f7f7f7d9d9d9bdbdbd969696636363252525", "f7f7f7d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000" ).map(Ce); const AW = We(HC); var GC = new Array(3).concat( "efedf5bcbddc756bb1", "f2f0f7cbc9e29e9ac86a51a3", "f2f0f7cbc9e29e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d" ).map(Ce); const MW = We(GC); var jC = new Array(3).concat( "fee0d2fc9272de2d26", "fee5d9fcae91fb6a4acb181d", "fee5d9fcae91fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d" ).map(Ce); const LW = We(jC); var $C = new Array(3).concat( "fee6cefdae6be6550d", "feeddefdbe85fd8d3cd94701", "feeddefdbe85fd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704" ).map(Ce); const RW = We($C); function IW(t) { return t = Math.max(0, Math.min(1, t)), "rgb(" + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + ", " + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + ", " + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67))))))) + ")"; } const NW = x1(si(300, 0.5, 0), si(-240, 0.5, 1)); var BW = x1(si(-100, 0.75, 0.35), si(80, 1.5, 0.8)), DW = x1(si(260, 0.75, 0.35), si(80, 1.5, 0.8)), ju = si(); function OW(t) { (t < 0 || t > 1) && (t -= Math.floor(t)); var e = Math.abs(t - 0.5); return ju.h = 360 * t - 100, ju.s = 1.5 - 1.5 * e, ju.l = 0.8 - 0.9 * e, ju + ""; } var $u = Oo(), FW = Math.PI / 3, PW = Math.PI * 2 / 3; function qW(t) { var e; return t = (0.5 - t) * Math.PI, $u.r = 255 * (e = Math.sin(t)) * e, $u.g = 255 * (e = Math.sin(t + FW)) * e, $u.b = 255 * (e = Math.sin(t + PW)) * e, $u + ""; } function VW(t) { return t = Math.max(0, Math.min(1, t)), "rgb(" + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + ", " + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + ", " + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66))))))) + ")"; } function P1(t) { var e = t.length; return function(r) { return t[Math.max(0, Math.min(e - 1, Math.floor(r * e)))]; }; } const zW = P1(Ce("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")); var YW = P1(Ce("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")), UW = P1(Ce("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")), WW = P1(Ce("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")); function ke(t) { return function() { return t; }; } const Gv = Math.abs, zr = Math.atan2, aa = Math.cos, HW = Math.max, Co = Math.min, fn = Math.sin, je = Math.sqrt, Yr = 1e-12, $a = Math.PI, Tf = $a / 2, qa = 2 * $a; function GW(t) { return t > 1 ? 0 : t < -1 ? $a : Math.acos(t); } function jv(t) { return t >= 1 ? Tf : t <= -1 ? -Tf : Math.asin(t); } function jW(t) { return t.innerRadius; } function $W(t) { return t.outerRadius; } function XW(t) { return t.startAngle; } function KW(t) { return t.endAngle; } function ZW(t) { return t && t.padAngle; } function QW(t, e, r, n, i, a, s, o) { var l = r - t, u = n - e, h = s - i, d = o - a, f = d * l - h * u; if (!(f * f < Yr)) return f = (h * (e - a) - d * (t - i)) / f, [t + f * l, e + f * u]; } function Xu(t, e, r, n, i, a, s) { var o = t - r, l = e - n, u = (s ? a : -a) / je(o * o + l * l), h = u * l, d = -u * o, f = t + h, p = e + d, m = r + h, _ = n + d, y = (f + m) / 2, b = (p + _) / 2, x = m - f, k = _ - p, T = x * x + k * k, C = i - a, M = f * _ - m * p, S = (k < 0 ? -1 : 1) * je(HW(0, C * C * T - M * M)), R = (M * k - x * S) / T, A = (-M * x - k * S) / T, L = (M * k + x * S) / T, v = (-M * x + k * S) / T, B = R - y, w = A - b, D = L - y, N = v - b; return B * B + w * w > D * D + N * N && (R = L, A = v), { cx: R, cy: A, x01: -h, y01: -d, x11: R * (i / C - 1), y11: A * (i / C - 1) }; } function Ef() { var t = jW, e = $W, r = ke(0), n = null, i = XW, a = KW, s = ZW, o = null; function l() { var u, h, d = +t.apply(this, arguments), f = +e.apply(this, arguments), p = i.apply(this, arguments) - Tf, m = a.apply(this, arguments) - Tf, _ = Gv(m - p), y = m > p; if (o || (o = u = ts()), f < d && (h = f, f = d, d = h), !(f > Yr)) o.moveTo(0, 0); else if (_ > qa - Yr) o.moveTo(f * aa(p), f * fn(p)), o.arc(0, 0, f, p, m, !y), d > Yr && (o.moveTo(d * aa(m), d * fn(m)), o.arc(0, 0, d, m, p, y)); else { var b = p, x = m, k = p, T = m, C = _, M = _, S = s.apply(this, arguments) / 2, R = S > Yr && (n ? +n.apply(this, arguments) : je(d * d + f * f)), A = Co(Gv(f - d) / 2, +r.apply(this, arguments)), L = A, v = A, B, w; if (R > Yr) { var D = jv(R / d * fn(S)), N = jv(R / f * fn(S)); (C -= D * 2) > Yr ? (D *= y ? 1 : -1, k += D, T -= D) : (C = 0, k = T = (p + m) / 2), (M -= N * 2) > Yr ? (N *= y ? 1 : -1, b += N, x -= N) : (M = 0, b = x = (p + m) / 2); } var z = f * aa(b), X = f * fn(b), ct = d * aa(T), J = d * fn(T); if (A > Yr) { var Y = f * aa(x), $ = f * fn(x), lt = d * aa(k), ut = d * fn(k), W; if (_ < $a && (W = QW(z, X, lt, ut, Y, $, ct, J))) { var tt = z - W[0], K = X - W[1], it = Y - W[0], Z = $ - W[1], V = 1 / fn(GW((tt * it + K * Z) / (je(tt * tt + K * K) * je(it * it + Z * Z))) / 2), Q = je(W[0] * W[0] + W[1] * W[1]); L = Co(A, (d - Q) / (V - 1)), v = Co(A, (f - Q) / (V + 1)); } } M > Yr ? v > Yr ? (B = Xu(lt, ut, z, X, f, v, y), w = Xu(Y, $, ct, J, f, v, y), o.moveTo(B.cx + B.x01, B.cy + B.y01), v < A ? o.arc(B.cx, B.cy, v, zr(B.y01, B.x01), zr(w.y01, w.x01), !y) : (o.arc(B.cx, B.cy, v, zr(B.y01, B.x01), zr(B.y11, B.x11), !y), o.arc(0, 0, f, zr(B.cy + B.y11, B.cx + B.x11), zr(w.cy + w.y11, w.cx + w.x11), !y), o.arc(w.cx, w.cy, v, zr(w.y11, w.x11), zr(w.y01, w.x01), !y))) : (o.moveTo(z, X), o.arc(0, 0, f, b, x, !y)) : o.moveTo(z, X), !(d > Yr) || !(C > Yr) ? o.lineTo(ct, J) : L > Yr ? (B = Xu(ct, J, Y, $, d, -L, y), w = Xu(z, X, lt, ut, d, -L, y), o.lineTo(B.cx + B.x01, B.cy + B.y01), L < A ? o.arc(B.cx, B.cy, L, zr(B.y01, B.x01), zr(w.y01, w.x01), !y) : (o.arc(B.cx, B.cy, L, zr(B.y01, B.x01), zr(B.y11, B.x11), !y), o.arc(0, 0, d, zr(B.cy + B.y11, B.cx + B.x11), zr(w.cy + w.y11, w.cx + w.x11), y), o.arc(w.cx, w.cy, L, zr(w.y11, w.x11), zr(w.y01, w.x01), !y))) : o.arc(0, 0, d, T, k, y); } if (o.closePath(), u) return o = null, u + "" || null; } return l.centroid = function() { var u = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, h = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - $a / 2; return [aa(h) * u, fn(h) * u]; }, l.innerRadius = function(u) { return arguments.length ? (t = typeof u == "function" ? u : ke(+u), l) : t; }, l.outerRadius = function(u) { return arguments.length ? (e = typeof u == "function" ? u : ke(+u), l) : e; }, l.cornerRadius = function(u) { return arguments.length ? (r = typeof u == "function" ? u : ke(+u), l) : r; }, l.padRadius = function(u) { return arguments.length ? (n = u == null ? null : typeof u == "function" ? u : ke(+u), l) : n; }, l.startAngle = function(u) { return arguments.length ? (i = typeof u == "function" ? u : ke(+u), l) : i; }, l.endAngle = function(u) { return arguments.length ? (a = typeof u == "function" ? u : ke(+u), l) : a; }, l.padAngle = function(u) { return arguments.length ? (s = typeof u == "function" ? u : ke(+u), l) : s; }, l.context = function(u) { return arguments.length ? (o = u == null ? null : u, l) : o; }, l; } var JW = Array.prototype.slice; function q1(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function XC(t) { this._context = t; } XC.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; default: this._context.lineTo(t, e); break; } } }; function bn(t) { return new XC(t); } function h4(t) { return t[0]; } function f4(t) { return t[1]; } function ns(t, e) { var r = ke(!0), n = null, i = bn, a = null; t = typeof t == "function" ? t : t === void 0 ? h4 : ke(t), e = typeof e == "function" ? e : e === void 0 ? f4 : ke(e); function s(o) { var l, u = (o = q1(o)).length, h, d = !1, f; for (n == null && (a = i(f = ts())), l = 0; l <= u; ++l) !(l < u && r(h = o[l], l, o)) === d && ((d = !d) ? a.lineStart() : a.lineEnd()), d && a.point(+t(h, l, o), +e(h, l, o)); if (f) return a = null, f + "" || null; } return s.x = function(o) { return arguments.length ? (t = typeof o == "function" ? o : ke(+o), s) : t; }, s.y = function(o) { return arguments.length ? (e = typeof o == "function" ? o : ke(+o), s) : e; }, s.defined = function(o) { return arguments.length ? (r = typeof o == "function" ? o : ke(!!o), s) : r; }, s.curve = function(o) { return arguments.length ? (i = o, n != null && (a = i(n)), s) : i; }, s.context = function(o) { return arguments.length ? (o == null ? n = a = null : a = i(n = o), s) : n; }, s; } function KC(t, e, r) { var n = null, i = ke(!0), a = null, s = bn, o = null; t = typeof t == "function" ? t : t === void 0 ? h4 : ke(+t), e = typeof e == "function" ? e : ke(e === void 0 ? 0 : +e), r = typeof r == "function" ? r : r === void 0 ? f4 : ke(+r); function l(h) { var d, f, p, m = (h = q1(h)).length, _, y = !1, b, x = new Array(m), k = new Array(m); for (a == null && (o = s(b = ts())), d = 0; d <= m; ++d) { if (!(d < m && i(_ = h[d], d, h)) === y) if (y = !y) f = d, o.areaStart(), o.lineStart(); else { for (o.lineEnd(), o.lineStart(), p = d - 1; p >= f; --p) o.point(x[p], k[p]); o.lineEnd(), o.areaEnd(); } y && (x[d] = +t(_, d, h), k[d] = +e(_, d, h), o.point(n ? +n(_, d, h) : x[d], r ? +r(_, d, h) : k[d])); } if (b) return o = null, b + "" || null; } function u() { return ns().defined(i).curve(s).context(a); } return l.x = function(h) { return arguments.length ? (t = typeof h == "function" ? h : ke(+h), n = null, l) : t; }, l.x0 = function(h) { return arguments.length ? (t = typeof h == "function" ? h : ke(+h), l) : t; }, l.x1 = function(h) { return arguments.length ? (n = h == null ? null : typeof h == "function" ? h : ke(+h), l) : n; }, l.y = function(h) { return arguments.length ? (e = typeof h == "function" ? h : ke(+h), r = null, l) : e; }, l.y0 = function(h) { return arguments.length ? (e = typeof h == "function" ? h : ke(+h), l) : e; }, l.y1 = function(h) { return arguments.length ? (r = h == null ? null : typeof h == "function" ? h : ke(+h), l) : r; }, l.lineX0 = l.lineY0 = function() { return u().x(t).y(e); }, l.lineY1 = function() { return u().x(t).y(r); }, l.lineX1 = function() { return u().x(n).y(e); }, l.defined = function(h) { return arguments.length ? (i = typeof h == "function" ? h : ke(!!h), l) : i; }, l.curve = function(h) { return arguments.length ? (s = h, a != null && (o = s(a)), l) : s; }, l.context = function(h) { return arguments.length ? (h == null ? a = o = null : o = s(a = h), l) : a; }, l; } function tH(t, e) { return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function eH(t) { return t; } function ZC() { var t = eH, e = tH, r = null, n = ke(0), i = ke(qa), a = ke(0); function s(o) { var l, u = (o = q1(o)).length, h, d, f = 0, p = new Array(u), m = new Array(u), _ = +n.apply(this, arguments), y = Math.min(qa, Math.max(-qa, i.apply(this, arguments) - _)), b, x = Math.min(Math.abs(y) / u, a.apply(this, arguments)), k = x * (y < 0 ? -1 : 1), T; for (l = 0; l < u; ++l) (T = m[p[l] = l] = +t(o[l], l, o)) > 0 && (f += T); for (e != null ? p.sort(function(C, M) { return e(m[C], m[M]); }) : r != null && p.sort(function(C, M) { return r(o[C], o[M]); }), l = 0, d = f ? (y - u * k) / f : 0; l < u; ++l, _ = b) h = p[l], T = m[h], b = _ + (T > 0 ? T * d : 0) + k, m[h] = { data: o[h], index: l, value: T, startAngle: _, endAngle: b, padAngle: x }; return m; } return s.value = function(o) { return arguments.length ? (t = typeof o == "function" ? o : ke(+o), s) : t; }, s.sortValues = function(o) { return arguments.length ? (e = o, r = null, s) : e; }, s.sort = function(o) { return arguments.length ? (r = o, e = null, s) : r; }, s.startAngle = function(o) { return arguments.length ? (n = typeof o == "function" ? o : ke(+o), s) : n; }, s.endAngle = function(o) { return arguments.length ? (i = typeof o == "function" ? o : ke(+o), s) : i; }, s.padAngle = function(o) { return arguments.length ? (a = typeof o == "function" ? o : ke(+o), s) : a; }, s; } var QC = d4(bn); function JC(t) { this._curve = t; } JC.prototype = { areaStart: function() { this._curve.areaStart(); }, areaEnd: function() { this._curve.areaEnd(); }, lineStart: function() { this._curve.lineStart(); }, lineEnd: function() { this._curve.lineEnd(); }, point: function(t, e) { this._curve.point(e * Math.sin(t), e * -Math.cos(t)); } }; function d4(t) { function e(r) { return new JC(t(r)); } return e._curve = t, e; } function jl(t) { var e = t.curve; return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t.curve = function(r) { return arguments.length ? e(d4(r)) : e()._curve; }, t; } function $v() { return jl(ns().curve(QC)); } function Xv() { var t = KC().curve(QC), e = t.curve, r = t.lineX0, n = t.lineX1, i = t.lineY0, a = t.lineY1; return t.angle = t.x, delete t.x, t.startAngle = t.x0, delete t.x0, t.endAngle = t.x1, delete t.x1, t.radius = t.y, delete t.y, t.innerRadius = t.y0, delete t.y0, t.outerRadius = t.y1, delete t.y1, t.lineStartAngle = function() { return jl(r()); }, delete t.lineX0, t.lineEndAngle = function() { return jl(n()); }, delete t.lineX1, t.lineInnerRadius = function() { return jl(i()); }, delete t.lineY0, t.lineOuterRadius = function() { return jl(a()); }, delete t.lineY1, t.curve = function(s) { return arguments.length ? e(d4(s)) : e()._curve; }, t; } function $l(t, e) { return [(e = +e) * Math.cos(t -= Math.PI / 2), e * Math.sin(t)]; } class tS { constructor(e, r) { this._context = e, this._x = r; } areaStart() { this._line = 0; } areaEnd() { this._line = NaN; } lineStart() { this._point = 0; } lineEnd() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; } point(e, r) { switch (e = +e, r = +r, this._point) { case 0: { this._point = 1, this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r); break; } case 1: this._point = 2; default: { this._x ? this._context.bezierCurveTo(this._x0 = (this._x0 + e) / 2, this._y0, this._x0, r, e, r) : this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + r) / 2, e, this._y0, e, r); break; } } this._x0 = e, this._y0 = r; } } class rH { constructor(e) { this._context = e; } lineStart() { this._point = 0; } lineEnd() { } point(e, r) { if (e = +e, r = +r, this._point++ === 0) this._x0 = e, this._y0 = r; else { const n = $l(this._x0, this._y0), i = $l(this._x0, this._y0 = (this._y0 + r) / 2), a = $l(e, this._y0), s = $l(e, r); this._context.moveTo(...n), this._context.bezierCurveTo(...i, ...a, ...s); } } } function eS(t) { return new tS(t, !0); } function rS(t) { return new tS(t, !1); } function nH(t) { return new rH(t); } function iH(t) { return t.source; } function aH(t) { return t.target; } function V1(t) { let e = iH, r = aH, n = h4, i = f4, a = null, s = null; function o() { let l; const u = JW.call(arguments), h = e.apply(this, u), d = r.apply(this, u); if (a == null && (s = t(l = ts())), s.lineStart(), u[0] = h, s.point(+n.apply(this, u), +i.apply(this, u)), u[0] = d, s.point(+n.apply(this, u), +i.apply(this, u)), s.lineEnd(), l) return s = null, l + "" || null; } return o.source = function(l) { return arguments.length ? (e = l, o) : e; }, o.target = function(l) { return arguments.length ? (r = l, o) : r; }, o.x = function(l) { return arguments.length ? (n = typeof l == "function" ? l : ke(+l), o) : n; }, o.y = function(l) { return arguments.length ? (i = typeof l == "function" ? l : ke(+l), o) : i; }, o.context = function(l) { return arguments.length ? (l == null ? a = s = null : s = t(a = l), o) : a; }, o; } function sH() { return V1(eS); } function oH() { return V1(rS); } function lH() { const t = V1(nH); return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t; } const cH = je(3), nS = { draw(t, e) { const r = je(e + Co(e / 28, 0.75)) * 0.59436, n = r / 2, i = n * cH; t.moveTo(0, r), t.lineTo(0, -r), t.moveTo(-i, -n), t.lineTo(i, n), t.moveTo(-i, n), t.lineTo(i, -n); } }, z1 = { draw(t, e) { const r = je(e / $a); t.moveTo(r, 0), t.arc(0, 0, r, 0, qa); } }, iS = { draw(t, e) { const r = je(e / 5) / 2; t.moveTo(-3 * r, -r), t.lineTo(-r, -r), t.lineTo(-r, -3 * r), t.lineTo(r, -3 * r), t.lineTo(r, -r), t.lineTo(3 * r, -r), t.lineTo(3 * r, r), t.lineTo(r, r), t.lineTo(r, 3 * r), t.lineTo(-r, 3 * r), t.lineTo(-r, r), t.lineTo(-3 * r, r), t.closePath(); } }, aS = je(1 / 3), uH = aS * 2, sS = { draw(t, e) { const r = je(e / uH), n = r * aS; t.moveTo(0, -r), t.lineTo(n, 0), t.lineTo(0, r), t.lineTo(-n, 0), t.closePath(); } }, oS = { draw(t, e) { const r = je(e) * 0.62625; t.moveTo(0, -r), t.lineTo(r, 0), t.lineTo(0, r), t.lineTo(-r, 0), t.closePath(); } }, lS = { draw(t, e) { const r = je(e - Co(e / 7, 2)) * 0.87559; t.moveTo(-r, 0), t.lineTo(r, 0), t.moveTo(0, r), t.lineTo(0, -r); } }, cS = { draw(t, e) { const r = je(e), n = -r / 2; t.rect(n, n, r, r); } }, uS = { draw(t, e) { const r = je(e) * 0.4431; t.moveTo(r, r), t.lineTo(r, -r), t.lineTo(-r, -r), t.lineTo(-r, r), t.closePath(); } }, hH = 0.8908130915292852, hS = fn($a / 10) / fn(7 * $a / 10), fH = fn(qa / 10) * hS, dH = -aa(qa / 10) * hS, fS = { draw(t, e) { const r = je(e * hH), n = fH * r, i = dH * r; t.moveTo(0, -r), t.lineTo(n, i); for (let a = 1; a < 5; ++a) { const s = qa * a / 5, o = aa(s), l = fn(s); t.lineTo(l * r, -o * r), t.lineTo(o * n - l * i, l * n + o * i); } t.closePath(); } }, vd = je(3), dS = { draw(t, e) { const r = -je(e / (vd * 3)); t.moveTo(0, r * 2), t.lineTo(-vd * r, -r), t.lineTo(vd * r, -r), t.closePath(); } }, pH = je(3), pS = { draw(t, e) { const r = je(e) * 0.6824, n = r / 2, i = r * pH / 2; t.moveTo(0, -r), t.lineTo(i, n), t.lineTo(-i, n), t.closePath(); } }, Rn = -0.5, In = je(3) / 2, gb = 1 / je(12), gH = (gb / 2 + 1) * 3, gS = { draw(t, e) { const r = je(e / gH), n = r / 2, i = r * gb, a = n, s = r * gb + r, o = -a, l = s; t.moveTo(n, i), t.lineTo(a, s), t.lineTo(o, l), t.lineTo(Rn * n - In * i, In * n + Rn * i), t.lineTo(Rn * a - In * s, In * a + Rn * s), t.lineTo(Rn * o - In * l, In * o + Rn * l), t.lineTo(Rn * n + In * i, Rn * i - In * n), t.lineTo(Rn * a + In * s, Rn * s - In * a), t.lineTo(Rn * o + In * l, Rn * l - In * o), t.closePath(); } }, yS = { draw(t, e) { const r = je(e - Co(e / 6, 1.7)) * 0.6189; t.moveTo(-r, -r), t.lineTo(r, r), t.moveTo(-r, r), t.lineTo(r, -r); } }, Kv = [ z1, iS, sS, cS, fS, dS, gS ], yH = [ z1, lS, yS, pS, nS, uS, oS ]; function mH(t, e) { let r = null; t = typeof t == "function" ? t : ke(t || z1), e = typeof e == "function" ? e : ke(e === void 0 ? 64 : +e); function n() { let i; if (r || (r = i = ts()), t.apply(this, arguments).draw(r, +e.apply(this, arguments)), i) return r = null, i + "" || null; } return n.type = function(i) { return arguments.length ? (t = typeof i == "function" ? i : ke(i), n) : t; }, n.size = function(i) { return arguments.length ? (e = typeof i == "function" ? i : ke(+i), n) : e; }, n.context = function(i) { return arguments.length ? (r = i == null ? null : i, n) : r; }, n; } function Xa() { } function Cf(t, e, r) { t._context.bezierCurveTo( (2 * t._x0 + t._x1) / 3, (2 * t._y0 + t._y1) / 3, (t._x0 + 2 * t._x1) / 3, (t._y0 + 2 * t._y1) / 3, (t._x0 + 4 * t._x1 + e) / 6, (t._y0 + 4 * t._y1 + r) / 6 ); } function Y1(t) { this._context = t; } Y1.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 3: Cf(this, this._x1, this._y1); case 2: this._context.lineTo(this._x1, this._y1); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; break; case 2: this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); default: Cf(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function Ps(t) { return new Y1(t); } function mS(t) { this._context = t; } mS.prototype = { areaStart: Xa, areaEnd: Xa, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x2, this._y2), this._context.closePath(); break; } case 2: { this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); break; } case 3: { this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); break; } } }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._x2 = t, this._y2 = e; break; case 1: this._point = 2, this._x3 = t, this._y3 = e; break; case 2: this._point = 3, this._x4 = t, this._y4 = e, this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6); break; default: Cf(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function bS(t) { return new mS(t); } function _S(t) { this._context = t; } _S.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3; var r = (this._x0 + 4 * this._x1 + t) / 6, n = (this._y0 + 4 * this._y1 + e) / 6; this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n); break; case 3: this._point = 4; default: Cf(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function vS(t) { return new _S(t); } function xS(t, e) { this._basis = new Y1(t), this._beta = e; } xS.prototype = { lineStart: function() { this._x = [], this._y = [], this._basis.lineStart(); }, lineEnd: function() { var t = this._x, e = this._y, r = t.length - 1; if (r > 0) for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, o = -1, l; ++o <= r; ) l = o / r, this._basis.point( this._beta * t[o] + (1 - this._beta) * (n + l * a), this._beta * e[o] + (1 - this._beta) * (i + l * s) ); this._x = this._y = null, this._basis.lineEnd(); }, point: function(t, e) { this._x.push(+t), this._y.push(+e); } }; const bH = function t(e) { function r(n) { return e === 1 ? new Y1(n) : new xS(n, e); } return r.beta = function(n) { return t(+n); }, r; }(0.85); function Sf(t, e, r) { t._context.bezierCurveTo( t._x1 + t._k * (t._x2 - t._x0), t._y1 + t._k * (t._y2 - t._y0), t._x2 + t._k * (t._x1 - e), t._y2 + t._k * (t._y1 - r), t._x2, t._y2 ); } function p4(t, e) { this._context = t, this._k = (1 - e) / 6; } p4.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: Sf(this, this._x1, this._y1); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2, this._x1 = t, this._y1 = e; break; case 2: this._point = 3; default: Sf(this, t, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const _H = function t(e) { function r(n) { return new p4(n, e); } return r.tension = function(n) { return t(+n); }, r; }(0); function g4(t, e) { this._context = t, this._k = (1 - e) / 6; } g4.prototype = { areaStart: Xa, areaEnd: Xa, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break; } } }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._x3 = t, this._y3 = e; break; case 1: this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = e); break; case 2: this._point = 3, this._x5 = t, this._y5 = e; break; default: Sf(this, t, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const vH = function t(e) { function r(n) { return new g4(n, e); } return r.tension = function(n) { return t(+n); }, r; }(0); function y4(t, e) { this._context = t, this._k = (1 - e) / 6; } y4.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: Sf(this, t, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const xH = function t(e) { function r(n) { return new y4(n, e); } return r.tension = function(n) { return t(+n); }, r; }(0); function m4(t, e, r) { var n = t._x1, i = t._y1, a = t._x2, s = t._y2; if (t._l01_a > Yr) { var o = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, l = 3 * t._l01_a * (t._l01_a + t._l12_a); n = (n * o - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / l, i = (i * o - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / l; } if (t._l23_a > Yr) { var u = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, h = 3 * t._l23_a * (t._l23_a + t._l12_a); a = (a * u + t._x1 * t._l23_2a - e * t._l12_2a) / h, s = (s * u + t._y1 * t._l23_2a - r * t._l12_2a) / h; } t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2); } function kS(t, e) { this._context = t, this._alpha = e; } kS.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: this.point(this._x2, this._y2); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { if (t = +t, e = +e, this._point) { var r = this._x2 - t, n = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha)); } switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; break; case 2: this._point = 3; default: m4(this, t, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const kH = function t(e) { function r(n) { return e ? new kS(n, e) : new p4(n, 0); } return r.alpha = function(n) { return t(+n); }, r; }(0.5); function wS(t, e) { this._context = t, this._alpha = e; } wS.prototype = { areaStart: Xa, areaEnd: Xa, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break; } } }, point: function(t, e) { if (t = +t, e = +e, this._point) { var r = this._x2 - t, n = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha)); } switch (this._point) { case 0: this._point = 1, this._x3 = t, this._y3 = e; break; case 1: this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = e); break; case 2: this._point = 3, this._x5 = t, this._y5 = e; break; default: m4(this, t, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const wH = function t(e) { function r(n) { return e ? new wS(n, e) : new g4(n, 0); } return r.alpha = function(n) { return t(+n); }, r; }(0.5); function TS(t, e) { this._context = t, this._alpha = e; } TS.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { if (t = +t, e = +e, this._point) { var r = this._x2 - t, n = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha)); } switch (this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: m4(this, t, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const TH = function t(e) { function r(n) { return e ? new TS(n, e) : new y4(n, 0); } return r.alpha = function(n) { return t(+n); }, r; }(0.5); function ES(t) { this._context = t; } ES.prototype = { areaStart: Xa, areaEnd: Xa, lineStart: function() { this._point = 0; }, lineEnd: function() { this._point && this._context.closePath(); }, point: function(t, e) { t = +t, e = +e, this._point ? this._context.lineTo(t, e) : (this._point = 1, this._context.moveTo(t, e)); } }; function CS(t) { return new ES(t); } function Zv(t) { return t < 0 ? -1 : 1; } function Qv(t, e, r) { var n = t._x1 - t._x0, i = e - t._x1, a = (t._y1 - t._y0) / (n || i < 0 && -0), s = (r - t._y1) / (i || n < 0 && -0), o = (a * i + s * n) / (n + i); return (Zv(a) + Zv(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(o)) || 0; } function Jv(t, e) { var r = t._x1 - t._x0; return r ? (3 * (t._y1 - t._y0) / r - e) / 2 : e; } function xd(t, e, r) { var n = t._x0, i = t._y0, a = t._x1, s = t._y1, o = (a - n) / 3; t._context.bezierCurveTo(n + o, i + o * e, a - o, s - o * r, a, s); } function Af(t) { this._context = t; } Af.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x1, this._y1); break; case 3: xd(this, this._t0, Jv(this, this._t0)); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { var r = NaN; if (t = +t, e = +e, !(t === this._x1 && e === this._y1)) { switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; break; case 2: this._point = 3, xd(this, Jv(this, r = Qv(this, t, e)), r); break; default: xd(this, this._t0, r = Qv(this, t, e)); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e, this._t0 = r; } } }; function SS(t) { this._context = new AS(t); } (SS.prototype = Object.create(Af.prototype)).point = function(t, e) { Af.prototype.point.call(this, e, t); }; function AS(t) { this._context = t; } AS.prototype = { moveTo: function(t, e) { this._context.moveTo(e, t); }, closePath: function() { this._context.closePath(); }, lineTo: function(t, e) { this._context.lineTo(e, t); }, bezierCurveTo: function(t, e, r, n, i, a) { this._context.bezierCurveTo(e, t, n, r, a, i); } }; function MS(t) { return new Af(t); } function LS(t) { return new SS(t); } function RS(t) { this._context = t; } RS.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = [], this._y = []; }, lineEnd: function() { var t = this._x, e = this._y, r = t.length; if (r) if (this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2) this._context.lineTo(t[1], e[1]); else for (var n = t6(t), i = t6(e), a = 0, s = 1; s < r; ++a, ++s) this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]); (this._line || this._line !== 0 && r === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null; }, point: function(t, e) { this._x.push(+t), this._y.push(+e); } }; function t6(t) { var e, r = t.length - 1, n, i = new Array(r), a = new Array(r), s = new Array(r); for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) i[e] = 1, a[e] = 4, s[e] = 4 * t[e] + 2 * t[e + 1]; for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) n = i[e] / a[e - 1], a[e] -= n, s[e] -= n * s[e - 1]; for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e]; for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1]; return [i, a]; } function IS(t) { return new RS(t); } function U1(t, e) { this._context = t, this._t = e; } U1.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = this._y = NaN, this._point = 0; }, lineEnd: function() { 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line); }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; default: { if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e); else { var r = this._x * (1 - this._t) + t * this._t; this._context.lineTo(r, this._y), this._context.lineTo(r, e); } break; } } this._x = t, this._y = e; } }; function NS(t) { return new U1(t, 0.5); } function BS(t) { return new U1(t, 0); } function DS(t) { return new U1(t, 1); } function Go(t, e) { if ((s = t.length) > 1) for (var r = 1, n, i, a = t[e[0]], s, o = a.length; r < s; ++r) for (i = a, a = t[e[r]], n = 0; n < o; ++n) a[n][1] += a[n][0] = isNaN(i[n][1]) ? i[n][0] : i[n][1]; } function jo(t) { for (var e = t.length, r = new Array(e); --e >= 0; ) r[e] = e; return r; } function EH(t, e) { return t[e]; } function CH(t) { const e = []; return e.key = t, e; } function SH() { var t = ke([]), e = jo, r = Go, n = EH; function i(a) { var s = Array.from(t.apply(this, arguments), CH), o, l = s.length, u = -1, h; for (const d of a) for (o = 0, ++u; o < l; ++o) (s[o][u] = [0, +n(d, s[o].key, u, a)]).data = d; for (o = 0, h = q1(e(s)); o < l; ++o) s[h[o]].index = o; return r(s, h), s; } return i.keys = function(a) { return arguments.length ? (t = typeof a == "function" ? a : ke(Array.from(a)), i) : t; }, i.value = function(a) { return arguments.length ? (n = typeof a == "function" ? a : ke(+a), i) : n; }, i.order = function(a) { return arguments.length ? (e = a == null ? jo : typeof a == "function" ? a : ke(Array.from(a)), i) : e; }, i.offset = function(a) { return arguments.length ? (r = a == null ? Go : a, i) : r; }, i; } function AH(t, e) { if ((n = t.length) > 0) { for (var r, n, i = 0, a = t[0].length, s; i < a; ++i) { for (s = r = 0; r < n; ++r) s += t[r][i][1] || 0; if (s) for (r = 0; r < n; ++r) t[r][i][1] /= s; } Go(t, e); } } function MH(t, e) { if ((l = t.length) > 0) for (var r, n = 0, i, a, s, o, l, u = t[e[0]].length; n < u; ++n) for (s = o = 0, r = 0; r < l; ++r) (a = (i = t[e[r]][n])[1] - i[0]) > 0 ? (i[0] = s, i[1] = s += a) : a < 0 ? (i[1] = o, i[0] = o += a) : (i[0] = 0, i[1] = a); } function LH(t, e) { if ((i = t.length) > 0) { for (var r = 0, n = t[e[0]], i, a = n.length; r < a; ++r) { for (var s = 0, o = 0; s < i; ++s) o += t[s][r][1] || 0; n[r][1] += n[r][0] = -o / 2; } Go(t, e); } } function RH(t, e) { if (!(!((s = t.length) > 0) || !((a = (i = t[e[0]]).length) > 0))) { for (var r = 0, n = 1, i, a, s; n < a; ++n) { for (var o = 0, l = 0, u = 0; o < s; ++o) { for (var h = t[e[o]], d = h[n][1] || 0, f = h[n - 1][1] || 0, p = (d - f) / 2, m = 0; m < o; ++m) { var _ = t[e[m]], y = _[n][1] || 0, b = _[n - 1][1] || 0; p += y - b; } l += d, u += p * d; } i[n - 1][1] += i[n - 1][0] = r, l && (r -= u / l); } i[n - 1][1] += i[n - 1][0] = r, Go(t, e); } } function OS(t) { var e = t.map(IH); return jo(t).sort(function(r, n) { return e[r] - e[n]; }); } function IH(t) { for (var e = -1, r = 0, n = t.length, i, a = -1 / 0; ++e < n; ) (i = +t[e][1]) > a && (a = i, r = e); return r; } function FS(t) { var e = t.map(PS); return jo(t).sort(function(r, n) { return e[r] - e[n]; }); } function PS(t) { for (var e = 0, r = -1, n = t.length, i; ++r < n; ) (i = +t[r][1]) && (e += i); return e; } function NH(t) { return FS(t).reverse(); } function BH(t) { var e = t.length, r, n, i = t.map(PS), a = OS(t), s = 0, o = 0, l = [], u = []; for (r = 0; r < e; ++r) n = a[r], s < o ? (s += i[n], l.push(n)) : (o += i[n], u.push(n)); return u.reverse().concat(l); } function DH(t) { return jo(t).reverse(); } const Ku = (t) => () => t; function OH(t, { sourceEvent: e, target: r, transform: n, dispatch: i }) { Object.defineProperties(this, { type: { value: t, enumerable: !0, configurable: !0 }, sourceEvent: { value: e, enumerable: !0, configurable: !0 }, target: { value: r, enumerable: !0, configurable: !0 }, transform: { value: n, enumerable: !0, configurable: !0 }, _: { value: i } }); } function Ai(t, e, r) { this.k = t, this.x = e, this.y = r; } Ai.prototype = { constructor: Ai, scale: function(t) { return t === 1 ? this : new Ai(this.k * t, this.x, this.y); }, translate: function(t, e) { return t === 0 & e === 0 ? this : new Ai(this.k, this.x + this.k * t, this.y + this.k * e); }, apply: function(t) { return [t[0] * this.k + this.x, t[1] * this.k + this.y]; }, applyX: function(t) { return t * this.k + this.x; }, applyY: function(t) { return t * this.k + this.y; }, invert: function(t) { return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k]; }, invertX: function(t) { return (t - this.x) / this.k; }, invertY: function(t) { return (t - this.y) / this.k; }, rescaleX: function(t) { return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)); }, rescaleY: function(t) { return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)); }, toString: function() { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; } }; var W1 = new Ai(1, 0, 0); qS.prototype = Ai.prototype; function qS(t) { for (; !t.__zoom; ) if (!(t = t.parentNode)) return W1; return t.__zoom; } function kd(t) { t.stopImmediatePropagation(); } function Ml(t) { t.preventDefault(), t.stopImmediatePropagation(); } function FH(t) { return (!t.ctrlKey || t.type === "wheel") && !t.button; } function PH() { var t = this; return t instanceof SVGElement ? (t = t.ownerSVGElement || t, t.hasAttribute("viewBox") ? (t = t.viewBox.baseVal, [[t.x, t.y], [t.x + t.width, t.y + t.height]]) : [[0, 0], [t.width.baseVal.value, t.height.baseVal.value]]) : [[0, 0], [t.clientWidth, t.clientHeight]]; } function e6() { return this.__zoom || W1; } function qH(t) { return -t.deltaY * (t.deltaMode === 1 ? 0.05 : t.deltaMode ? 1 : 2e-3) * (t.ctrlKey ? 10 : 1); } function VH() { return navigator.maxTouchPoints || "ontouchstart" in this; } function zH(t, e, r) { var n = t.invertX(e[0][0]) - r[0][0], i = t.invertX(e[1][0]) - r[1][0], a = t.invertY(e[0][1]) - r[0][1], s = t.invertY(e[1][1]) - r[1][1]; return t.translate( i > n ? (n + i) / 2 : Math.min(0, n) || Math.max(0, i), s > a ? (a + s) / 2 : Math.min(0, a) || Math.max(0, s) ); } function YH() { var t = FH, e = PH, r = zH, n = qH, i = VH, a = [0, 1 / 0], s = [[-1 / 0, -1 / 0], [1 / 0, 1 / 0]], o = 250, l = Q9, u = Ws("start", "zoom", "end"), h, d, f, p = 500, m = 150, _ = 0, y = 10; function b(D) { D.property("__zoom", e6).on("wheel.zoom", R, { passive: !1 }).on("mousedown.zoom", A).on("dblclick.zoom", L).filter(i).on("touchstart.zoom", v).on("touchmove.zoom", B).on("touchend.zoom touchcancel.zoom", w).style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); } b.transform = function(D, N, z, X) { var ct = D.selection ? D.selection() : D; ct.property("__zoom", e6), D !== ct ? C(D, N, z, X) : ct.interrupt().each(function() { M(this, arguments).event(X).start().zoom(null, typeof N == "function" ? N.apply(this, arguments) : N).end(); }); }, b.scaleBy = function(D, N, z, X) { b.scaleTo(D, function() { var ct = this.__zoom.k, J = typeof N == "function" ? N.apply(this, arguments) : N; return ct * J; }, z, X); }, b.scaleTo = function(D, N, z, X) { b.transform(D, function() { var ct = e.apply(this, arguments), J = this.__zoom, Y = z == null ? T(ct) : typeof z == "function" ? z.apply(this, arguments) : z, $ = J.invert(Y), lt = typeof N == "function" ? N.apply(this, arguments) : N; return r(k(x(J, lt), Y, $), ct, s); }, z, X); }, b.translateBy = function(D, N, z, X) { b.transform(D, function() { return r(this.__zoom.translate( typeof N == "function" ? N.apply(this, arguments) : N, typeof z == "function" ? z.apply(this, arguments) : z ), e.apply(this, arguments), s); }, null, X); }, b.translateTo = function(D, N, z, X, ct) { b.transform(D, function() { var J = e.apply(this, arguments), Y = this.__zoom, $ = X == null ? T(J) : typeof X == "function" ? X.apply(this, arguments) : X; return r(W1.translate($[0], $[1]).scale(Y.k).translate( typeof N == "function" ? -N.apply(this, arguments) : -N, typeof z == "function" ? -z.apply(this, arguments) : -z ), J, s); }, X, ct); }; function x(D, N) { return N = Math.max(a[0], Math.min(a[1], N)), N === D.k ? D : new Ai(N, D.x, D.y); } function k(D, N, z) { var X = N[0] - z[0] * D.k, ct = N[1] - z[1] * D.k; return X === D.x && ct === D.y ? D : new Ai(D.k, X, ct); } function T(D) { return [(+D[0][0] + +D[1][0]) / 2, (+D[0][1] + +D[1][1]) / 2]; } function C(D, N, z, X) { D.on("start.zoom", function() { M(this, arguments).event(X).start(); }).on("interrupt.zoom end.zoom", function() { M(this, arguments).event(X).end(); }).tween("zoom", function() { var ct = this, J = arguments, Y = M(ct, J).event(X), $ = e.apply(ct, J), lt = z == null ? T($) : typeof z == "function" ? z.apply(ct, J) : z, ut = Math.max($[1][0] - $[0][0], $[1][1] - $[0][1]), W = ct.__zoom, tt = typeof N == "function" ? N.apply(ct, J) : N, K = l(W.invert(lt).concat(ut / W.k), tt.invert(lt).concat(ut / tt.k)); return function(it) { if (it === 1) it = tt; else { var Z = K(it), V = ut / Z[2]; it = new Ai(V, lt[0] - Z[0] * V, lt[1] - Z[1] * V); } Y.zoom(null, it); }; }); } function M(D, N, z) { return !z && D.__zooming || new S(D, N); } function S(D, N) { this.that = D, this.args = N, this.active = 0, this.sourceEvent = null, this.extent = e.apply(D, N), this.taps = 0; } S.prototype = { event: function(D) { return D && (this.sourceEvent = D), this; }, start: function() { return ++this.active === 1 && (this.that.__zooming = this, this.emit("start")), this; }, zoom: function(D, N) { return this.mouse && D !== "mouse" && (this.mouse[1] = N.invert(this.mouse[0])), this.touch0 && D !== "touch" && (this.touch0[1] = N.invert(this.touch0[0])), this.touch1 && D !== "touch" && (this.touch1[1] = N.invert(this.touch1[0])), this.that.__zoom = N, this.emit("zoom"), this; }, end: function() { return --this.active === 0 && (delete this.that.__zooming, this.emit("end")), this; }, emit: function(D) { var N = St(this.that).datum(); u.call( D, this.that, new OH(D, { sourceEvent: this.sourceEvent, target: b, type: D, transform: this.that.__zoom, dispatch: u }), N ); } }; function R(D, ...N) { if (!t.apply(this, arguments)) return; var z = M(this, N).event(D), X = this.__zoom, ct = Math.max(a[0], Math.min(a[1], X.k * Math.pow(2, n.apply(this, arguments)))), J = Cn(D); if (z.wheel) (z.mouse[0][0] !== J[0] || z.mouse[0][1] !== J[1]) && (z.mouse[1] = X.invert(z.mouse[0] = J)), clearTimeout(z.wheel); else { if (X.k === ct) return; z.mouse = [J, X.invert(J)], Es(this), z.start(); } Ml(D), z.wheel = setTimeout(Y, m), z.zoom("mouse", r(k(x(X, ct), z.mouse[0], z.mouse[1]), z.extent, s)); function Y() { z.wheel = null, z.end(); } } function A(D, ...N) { if (f || !t.apply(this, arguments)) return; var z = D.currentTarget, X = M(this, N, !0).event(D), ct = St(D.view).on("mousemove.zoom", lt, !0).on("mouseup.zoom", ut, !0), J = Cn(D, z), Y = D.clientX, $ = D.clientY; g1(D.view), kd(D), X.mouse = [J, this.__zoom.invert(J)], Es(this), X.start(); function lt(W) { if (Ml(W), !X.moved) { var tt = W.clientX - Y, K = W.clientY - $; X.moved = tt * tt + K * K > _; } X.event(W).zoom("mouse", r(k(X.that.__zoom, X.mouse[0] = Cn(W, z), X.mouse[1]), X.extent, s)); } function ut(W) { ct.on("mousemove.zoom mouseup.zoom", null), y1(W.view, X.moved), Ml(W), X.event(W).end(); } } function L(D, ...N) { if (!!t.apply(this, arguments)) { var z = this.__zoom, X = Cn(D.changedTouches ? D.changedTouches[0] : D, this), ct = z.invert(X), J = z.k * (D.shiftKey ? 0.5 : 2), Y = r(k(x(z, J), X, ct), e.apply(this, N), s); Ml(D), o > 0 ? St(this).transition().duration(o).call(C, Y, X, D) : St(this).call(b.transform, Y, X, D); } } function v(D, ...N) { if (!!t.apply(this, arguments)) { var z = D.touches, X = z.length, ct = M(this, N, D.changedTouches.length === X).event(D), J, Y, $, lt; for (kd(D), Y = 0; Y < X; ++Y) $ = z[Y], lt = Cn($, this), lt = [lt, this.__zoom.invert(lt), $.identifier], ct.touch0 ? !ct.touch1 && ct.touch0[2] !== lt[2] && (ct.touch1 = lt, ct.taps = 0) : (ct.touch0 = lt, J = !0, ct.taps = 1 + !!h); h && (h = clearTimeout(h)), J && (ct.taps < 2 && (d = lt[0], h = setTimeout(function() { h = null; }, p)), Es(this), ct.start()); } } function B(D, ...N) { if (!!this.__zooming) { var z = M(this, N).event(D), X = D.changedTouches, ct = X.length, J, Y, $, lt; for (Ml(D), J = 0; J < ct; ++J) Y = X[J], $ = Cn(Y, this), z.touch0 && z.touch0[2] === Y.identifier ? z.touch0[0] = $ : z.touch1 && z.touch1[2] === Y.identifier && (z.touch1[0] = $); if (Y = z.that.__zoom, z.touch1) { var ut = z.touch0[0], W = z.touch0[1], tt = z.touch1[0], K = z.touch1[1], it = (it = tt[0] - ut[0]) * it + (it = tt[1] - ut[1]) * it, Z = (Z = K[0] - W[0]) * Z + (Z = K[1] - W[1]) * Z; Y = x(Y, Math.sqrt(it / Z)), $ = [(ut[0] + tt[0]) / 2, (ut[1] + tt[1]) / 2], lt = [(W[0] + K[0]) / 2, (W[1] + K[1]) / 2]; } else if (z.touch0) $ = z.touch0[0], lt = z.touch0[1]; else return; z.zoom("touch", r(k(Y, $, lt), z.extent, s)); } } function w(D, ...N) { if (!!this.__zooming) { var z = M(this, N).event(D), X = D.changedTouches, ct = X.length, J, Y; for (kd(D), f && clearTimeout(f), f = setTimeout(function() { f = null; }, p), J = 0; J < ct; ++J) Y = X[J], z.touch0 && z.touch0[2] === Y.identifier ? delete z.touch0 : z.touch1 && z.touch1[2] === Y.identifier && delete z.touch1; if (z.touch1 && !z.touch0 && (z.touch0 = z.touch1, delete z.touch1), z.touch0) z.touch0[1] = this.__zoom.invert(z.touch0[0]); else if (z.end(), z.taps === 2 && (Y = Cn(Y, this), Math.hypot(d[0] - Y[0], d[1] - Y[1]) < y)) { var $ = St(this).on("dblclick.zoom"); $ && $.apply(this, arguments); } } } return b.wheelDelta = function(D) { return arguments.length ? (n = typeof D == "function" ? D : Ku(+D), b) : n; }, b.filter = function(D) { return arguments.length ? (t = typeof D == "function" ? D : Ku(!!D), b) : t; }, b.touchable = function(D) { return arguments.length ? (i = typeof D == "function" ? D : Ku(!!D), b) : i; }, b.extent = function(D) { return arguments.length ? (e = typeof D == "function" ? D : Ku([[+D[0][0], +D[0][1]], [+D[1][0], +D[1][1]]]), b) : e; }, b.scaleExtent = function(D) { return arguments.length ? (a[0] = +D[0], a[1] = +D[1], b) : [a[0], a[1]]; }, b.translateExtent = function(D) { return arguments.length ? (s[0][0] = +D[0][0], s[1][0] = +D[1][0], s[0][1] = +D[0][1], s[1][1] = +D[1][1], b) : [[s[0][0], s[0][1]], [s[1][0], s[1][1]]]; }, b.constrain = function(D) { return arguments.length ? (r = D, b) : r; }, b.duration = function(D) { return arguments.length ? (o = +D, b) : o; }, b.interpolate = function(D) { return arguments.length ? (l = D, b) : l; }, b.on = function() { var D = u.on.apply(u, arguments); return D === u ? b : D; }, b.clickDistance = function(D) { return arguments.length ? (_ = (D = +D) * D, b) : Math.sqrt(_); }, b.tapDistance = function(D) { return arguments.length ? (y = +D, b) : y; }, b; } const UH = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, bisect: Us, bisectRight: Hw, bisectLeft: WR, bisectCenter: HR, ascending: tr, bisector: l1, blur: GR, blur2: Gw, blurImage: jR, count: c1, cross: tI, cumsum: eI, descending: zw, deviation: Xw, extent: Ql, Adder: wr, fsum: rI, fcumsum: nI, group: Jw, flatGroup: iI, flatRollup: aI, groups: t9, index: sI, indexes: oI, rollup: r9, rollups: n9, groupSort: lI, bin: z_, histogram: z_, thresholdFreedmanDiaconis: hI, thresholdScott: fI, thresholdSturges: Qb, max: Bo, maxIndex: Jb, mean: dI, median: pI, medianIndex: gI, merge: e3, min: gc, minIndex: t3, mode: mI, nice: s9, pairs: bI, permute: a9, quantile: yc, quantileIndex: c9, quantileSorted: l9, quickselect: u1, range: Da, rank: vI, least: xI, leastIndex: u9, greatest: o9, greatestIndex: kI, scan: wI, shuffle: TI, shuffler: h9, sum: EI, ticks: As, tickIncrement: No, tickStep: pc, transpose: f9, variance: $w, zip: SI, every: AI, some: MI, filter: LI, map: RI, reduce: II, reverse: NI, sort: mm, difference: BI, disjoint: DI, intersection: OI, subset: PI, superset: d9, union: qI, InternMap: dc, InternSet: Ss, axisTop: p9, axisRight: GI, axisBottom: g9, axisLeft: jI, brush: dF, brushX: hF, brushY: fF, brushSelection: uF, chord: gF, chordTranspose: yF, chordDirected: mF, ribbon: CF, ribbonArrow: SF, color: Wa, rgb: Oo, hsl: Uh, lab: Hh, hcl: Gh, lch: XB, gray: $B, cubehelix: si, contours: qm, contourDensity: VF, Delaunay: v3, Voronoi: mT, dispatch: Ws, drag: OB, dragDisable: g1, dragEnable: y1, dsvFormat: E1, csvParse: _T, csvParseRows: cP, csvFormat: uP, csvFormatBody: hP, csvFormatRows: fP, csvFormatRow: dP, csvFormatValue: pP, tsvParse: vT, tsvParseRows: gP, tsvFormat: yP, tsvFormatBody: mP, tsvFormatRows: bP, tsvFormatRow: _P, tsvFormatValue: vP, autoType: xP, easeLinear: wO, easeQuad: s5, easeQuadIn: TO, easeQuadOut: EO, easeQuadInOut: s5, easeCubic: Nm, easeCubicIn: CO, easeCubicOut: SO, easeCubicInOut: Nm, easePoly: o5, easePolyIn: AO, easePolyOut: MO, easePolyInOut: o5, easeSin: l5, easeSinIn: LO, easeSinOut: RO, easeSinInOut: l5, easeExp: c5, easeExpIn: IO, easeExpOut: NO, easeExpInOut: c5, easeCircle: u5, easeCircleIn: BO, easeCircleOut: DO, easeCircleInOut: u5, easeBounce: wc, easeBounceIn: WO, easeBounceOut: wc, easeBounceInOut: HO, easeBack: h5, easeBackIn: GO, easeBackOut: jO, easeBackInOut: h5, easeElastic: f5, easeElasticIn: $O, easeElasticOut: f5, easeElasticInOut: XO, blob: TP, buffer: CP, dsv: AP, csv: MP, tsv: LP, image: RP, json: NP, text: C1, xml: BP, html: DP, svg: OP, forceCenter: FP, forceCollide: rq, forceLink: iq, forceManyBody: dq, forceRadial: pq, forceSimulation: fq, forceX: gq, forceY: yq, formatDefaultLocale: ET, get format() { return M1; }, get formatPrefix() { return w3; }, formatLocale: TT, formatSpecifier: Vo, FormatSpecifier: A1, precisionFixed: CT, precisionPrefix: ST, precisionRound: AT, geoArea: Cq, geoBounds: Lq, geoCentroid: Oq, geoCircle: Fq, geoClipAntimeridian: Qm, geoClipCircle: jT, geoClipExtent: Wq, geoClipRectangle: L1, geoContains: Zq, geoDistance: ff, geoGraticule: KT, geoGraticule10: Qq, geoInterpolate: Jq, geoLength: $T, geoPath: hV, geoAlbers: cE, geoAlbersUsa: xV, geoAzimuthalEqualArea: kV, geoAzimuthalEqualAreaRaw: N3, geoAzimuthalEquidistant: wV, geoAzimuthalEquidistantRaw: B3, geoConicConformal: EV, geoConicConformalRaw: fE, geoConicEqualArea: vf, geoConicEqualAreaRaw: lE, geoConicEquidistant: SV, geoConicEquidistantRaw: dE, geoEqualEarth: MV, geoEqualEarthRaw: D3, geoEquirectangular: CV, geoEquirectangularRaw: Ac, geoGnomonic: LV, geoGnomonicRaw: O3, geoIdentity: RV, geoProjection: zi, geoProjectionMutator: R3, geoMercator: TV, geoMercatorRaw: ru, geoNaturalEarth1: IV, geoNaturalEarth1Raw: F3, geoOrthographic: NV, geoOrthographicRaw: P3, geoStereographic: BV, geoStereographicRaw: q3, geoTransverseMercator: DV, geoTransverseMercatorRaw: V3, geoRotation: zT, geoStream: Kn, geoTransform: fV, cluster: UV, hierarchy: z3, Node: Bs, pack: _z, packSiblings: mz, packEnclose: dz, partition: vz, stratify: Tz, tree: Rz, treemap: Iz, treemapBinary: Nz, treemapDice: nu, treemapSlice: I1, treemapSliceDice: Bz, treemapSquarify: wE, treemapResquarify: Dz, interpolate: Ja, interpolateArray: tD, interpolateBasis: q9, interpolateBasisClosed: V9, interpolateDate: G9, interpolateDiscrete: nD, interpolateHue: iD, interpolateNumber: Dn, interpolateNumberArray: u3, interpolateObject: j9, interpolateRound: v1, interpolateString: h3, interpolateTransformCss: K9, interpolateTransformSvg: Z9, interpolateZoom: Q9, interpolateRgb: vc, interpolateRgbBasis: U9, interpolateRgbBasisClosed: JB, interpolateHsl: uD, interpolateHslLong: hD, interpolateLab: fD, interpolateHcl: eT, interpolateHclLong: dD, interpolateCubehelix: pD, interpolateCubehelixLong: x1, piecewise: nT, quantize: gD, path: ts, polygonArea: Oz, polygonCentroid: Fz, polygonHull: Vz, polygonContains: zz, polygonLength: Yz, quadtree: S1, randomUniform: Uz, randomInt: Wz, randomNormal: U3, randomLogNormal: Hz, randomBates: Gz, randomIrwinHall: TE, randomExponential: jz, randomPareto: $z, randomBernoulli: Xz, randomGeometric: EE, randomBinomial: SE, randomGamma: W3, randomBeta: CE, randomWeibull: Kz, randomCauchy: Zz, randomLogistic: Qz, randomPoisson: Jz, randomLcg: rY, scaleBand: H3, scalePoint: nY, scaleIdentity: LE, scaleLinear: j3, scaleLog: IE, scaleSymlog: NE, scaleOrdinal: N1, scaleImplicit: fb, scalePow: Z3, scaleSqrt: gY, scaleRadial: BE, scaleQuantile: DE, scaleQuantize: OE, scaleThreshold: FE, scaleTime: pC, scaleUtc: GU, scaleSequential: gC, scaleSequentialLog: yC, scaleSequentialPow: c4, scaleSequentialSqrt: jU, scaleSequentialSymlog: mC, scaleSequentialQuantile: bC, scaleDiverging: _C, scaleDivergingLog: vC, scaleDivergingPow: u4, scaleDivergingSqrt: $U, scaleDivergingSymlog: xC, tickFormat: ME, schemeCategory10: XU, schemeAccent: KU, schemeDark2: ZU, schemePaired: QU, schemePastel1: JU, schemePastel2: tW, schemeSet1: eW, schemeSet2: rW, schemeSet3: nW, schemeTableau10: iW, interpolateBrBG: aW, schemeBrBG: kC, interpolatePRGn: sW, schemePRGn: wC, interpolatePiYG: oW, schemePiYG: TC, interpolatePuOr: lW, schemePuOr: EC, interpolateRdBu: cW, schemeRdBu: CC, interpolateRdGy: uW, schemeRdGy: SC, interpolateRdYlBu: hW, schemeRdYlBu: AC, interpolateRdYlGn: fW, schemeRdYlGn: MC, interpolateSpectral: dW, schemeSpectral: LC, interpolateBuGn: pW, schemeBuGn: RC, interpolateBuPu: gW, schemeBuPu: IC, interpolateGnBu: yW, schemeGnBu: NC, interpolateOrRd: mW, schemeOrRd: BC, interpolatePuBuGn: bW, schemePuBuGn: DC, interpolatePuBu: _W, schemePuBu: OC, interpolatePuRd: vW, schemePuRd: FC, interpolateRdPu: xW, schemeRdPu: PC, interpolateYlGnBu: kW, schemeYlGnBu: qC, interpolateYlGn: wW, schemeYlGn: VC, interpolateYlOrBr: TW, schemeYlOrBr: zC, interpolateYlOrRd: EW, schemeYlOrRd: YC, interpolateBlues: CW, schemeBlues: UC, interpolateGreens: SW, schemeGreens: WC, interpolateGreys: AW, schemeGreys: HC, interpolatePurples: MW, schemePurples: GC, interpolateReds: LW, schemeReds: jC, interpolateOranges: RW, schemeOranges: $C, interpolateCividis: IW, interpolateCubehelixDefault: NW, interpolateRainbow: OW, interpolateWarm: BW, interpolateCool: DW, interpolateSinebow: qW, interpolateTurbo: VW, interpolateViridis: zW, interpolateMagma: YW, interpolateInferno: UW, interpolatePlasma: WW, create: AB, creator: f1, local: T9, matcher: n3, namespace: Xc, namespaces: wm, pointer: Cn, pointers: LB, select: St, selectAll: p1, selection: Hs, selector: d1, selectorAll: r3, style: Ms, window: i3, arc: Ef, area: KC, line: ns, pie: ZC, areaRadial: Xv, radialArea: Xv, lineRadial: $v, radialLine: $v, pointRadial: $l, link: V1, linkHorizontal: sH, linkVertical: oH, linkRadial: lH, symbol: mH, symbolsStroke: yH, symbolsFill: Kv, symbols: Kv, symbolAsterisk: nS, symbolCircle: z1, symbolCross: iS, symbolDiamond: sS, symbolDiamond2: oS, symbolPlus: lS, symbolSquare: cS, symbolSquare2: uS, symbolStar: fS, symbolTriangle: dS, symbolTriangle2: pS, symbolWye: gS, symbolX: yS, curveBasisClosed: bS, curveBasisOpen: vS, curveBasis: Ps, curveBumpX: eS, curveBumpY: rS, curveBundle: bH, curveCardinalClosed: vH, curveCardinalOpen: xH, curveCardinal: _H, curveCatmullRomClosed: wH, curveCatmullRomOpen: TH, curveCatmullRom: kH, curveLinearClosed: CS, curveLinear: bn, curveMonotoneX: MS, curveMonotoneY: LS, curveNatural: IS, curveStep: NS, curveStepAfter: DS, curveStepBefore: BS, stack: SH, stackOffsetExpand: AH, stackOffsetDiverging: MH, stackOffsetNone: Go, stackOffsetSilhouette: LH, stackOffsetWiggle: RH, stackOrderAppearance: OS, stackOrderAscending: FS, stackOrderDescending: NH, stackOrderInsideOut: BH, stackOrderNone: jo, stackOrderReverse: DH, timeInterval: Tr, timeMillisecond: pb, timeMilliseconds: Rv, utcMillisecond: pb, utcMilliseconds: Rv, timeSecond: Fa, timeSeconds: Nv, utcSecond: Fa, utcSeconds: Nv, timeMinute: J3, timeMinutes: mY, timeHour: t4, timeHours: bY, timeDay: au, timeDays: _Y, timeWeek: Wo, timeWeeks: Bv, timeSunday: Wo, timeSundays: Bv, timeMonday: Mc, timeMondays: vY, timeTuesday: YE, timeTuesdays: xY, timeWednesday: UE, timeWednesdays: kY, timeThursday: Os, timeThursdays: wY, timeFriday: WE, timeFridays: TY, timeSaturday: HE, timeSaturdays: EY, timeMonth: e4, timeMonths: CY, timeYear: Ga, timeYears: SY, utcMinute: n4, utcMinutes: AY, utcHour: i4, utcHours: MY, utcDay: su, utcDays: LY, utcWeek: Ho, utcWeeks: Dv, utcSunday: Ho, utcSundays: Dv, utcMonday: Lc, utcMondays: RY, utcTuesday: KE, utcTuesdays: IY, utcWednesday: ZE, utcWednesdays: NY, utcThursday: Fs, utcThursdays: BY, utcFriday: QE, utcFridays: DY, utcSaturday: JE, utcSaturdays: OY, utcMonth: a4, utcMonths: FY, utcYear: ja, utcYears: PY, utcTicks: rC, utcTickInterval: nC, timeTicks: iC, timeTickInterval: aC, timeFormatDefaultLocale: fC, get timeFormat() { return Rc; }, get timeParse() { return hC; }, get utcFormat() { return D1; }, get utcParse() { return o4; }, timeFormatLocale: sC, isoFormat: VU, isoParse: UU, now: Zc, timer: w1, timerFlush: sT, timeout: Mm, interval: _D, transition: uT, active: tF, interrupt: Es, zoom: YH, zoomTransform: qS, zoomIdentity: W1, ZoomTransform: Ai }, Symbol.toStringTag, { value: "Module" })); /*! @license DOMPurify 2.4.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.0/LICENSE */ function Na(t) { return Na = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, Na(t); } function yb(t, e) { return yb = Object.setPrototypeOf || function(n, i) { return n.__proto__ = i, n; }, yb(t, e); } function WH() { if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1; if (typeof Proxy == "function") return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })), !0; } catch { return !1; } } function Eh(t, e, r) { return WH() ? Eh = Reflect.construct : Eh = function(i, a, s) { var o = [null]; o.push.apply(o, a); var l = Function.bind.apply(i, o), u = new l(); return s && yb(u, s.prototype), u; }, Eh.apply(null, arguments); } function $n(t) { return HH(t) || GH(t) || jH(t) || $H(); } function HH(t) { if (Array.isArray(t)) return mb(t); } function GH(t) { if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t); } function jH(t, e) { if (!!t) { if (typeof t == "string") return mb(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); if (r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set") return Array.from(t); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return mb(t, e); } } function mb(t, e) { (e == null || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; return n; } function $H() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var XH = Object.hasOwnProperty, r6 = Object.setPrototypeOf, KH = Object.isFrozen, ZH = Object.getPrototypeOf, QH = Object.getOwnPropertyDescriptor, cn = Object.freeze, Oi = Object.seal, JH = Object.create, VS = typeof Reflect < "u" && Reflect, Mf = VS.apply, bb = VS.construct; Mf || (Mf = function(e, r, n) { return e.apply(r, n); }); cn || (cn = function(e) { return e; }); Oi || (Oi = function(e) { return e; }); bb || (bb = function(e, r) { return Eh(e, $n(r)); }); var tG = oi(Array.prototype.forEach), n6 = oi(Array.prototype.pop), Ll = oi(Array.prototype.push), Ch = oi(String.prototype.toLowerCase), eG = oi(String.prototype.match), Sa = oi(String.prototype.replace), rG = oi(String.prototype.indexOf), nG = oi(String.prototype.trim), Xr = oi(RegExp.prototype.test), wd = iG(TypeError); function oi(t) { return function(e) { for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++) n[i - 1] = arguments[i]; return Mf(t, e, n); }; } function iG(t) { return function() { for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++) r[n] = arguments[n]; return bb(t, r); }; } function Ae(t, e, r) { r = r || Ch, r6 && r6(t, null); for (var n = e.length; n--; ) { var i = e[n]; if (typeof i == "string") { var a = r(i); a !== i && (KH(e) || (e[n] = a), i = a); } t[i] = !0; } return t; } function ps(t) { var e = JH(null), r; for (r in t) Mf(XH, t, [r]) && (e[r] = t[r]); return e; } function Zu(t, e) { for (; t !== null; ) { var r = QH(t, e); if (r) { if (r.get) return oi(r.get); if (typeof r.value == "function") return oi(r.value); } t = ZH(t); } function n(i) { return console.warn("fallback value for", i), null; } return n; } var i6 = cn(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), Td = cn(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), Ed = cn(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), aG = cn(["animate", "color-profile", "cursor", "discard", "fedropshadow", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), Cd = cn(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover"]), sG = cn(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), a6 = cn(["#text"]), s6 = cn(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns", "slot"]), Sd = cn(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), o6 = cn(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), Qu = cn(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), oG = Oi(/\{\{[\w\W]*|[\w\W]*\}\}/gm), lG = Oi(/<%[\w\W]*|[\w\W]*%>/gm), cG = Oi(/^data-[\-\w.\u00B7-\uFFFF]/), uG = Oi(/^aria-[\-\w]+$/), hG = Oi( /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i ), fG = Oi(/^(?:\w+script|data):/i), dG = Oi( /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g ), pG = Oi(/^html$/i), gG = function() { return typeof window > "u" ? null : window; }, yG = function(e, r) { if (Na(e) !== "object" || typeof e.createPolicy != "function") return null; var n = null, i = "data-tt-policy-suffix"; r.currentScript && r.currentScript.hasAttribute(i) && (n = r.currentScript.getAttribute(i)); var a = "dompurify" + (n ? "#" + n : ""); try { return e.createPolicy(a, { createHTML: function(o) { return o; }, createScriptURL: function(o) { return o; } }); } catch { return console.warn("TrustedTypes policy " + a + " could not be created."), null; } }; function zS() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : gG(), e = function(st) { return zS(st); }; if (e.version = "2.4.0", e.removed = [], !t || !t.document || t.document.nodeType !== 9) return e.isSupported = !1, e; var r = t.document, n = t.document, i = t.DocumentFragment, a = t.HTMLTemplateElement, s = t.Node, o = t.Element, l = t.NodeFilter, u = t.NamedNodeMap, h = u === void 0 ? t.NamedNodeMap || t.MozNamedAttrMap : u, d = t.HTMLFormElement, f = t.DOMParser, p = t.trustedTypes, m = o.prototype, _ = Zu(m, "cloneNode"), y = Zu(m, "nextSibling"), b = Zu(m, "childNodes"), x = Zu(m, "parentNode"); if (typeof a == "function") { var k = n.createElement("template"); k.content && k.content.ownerDocument && (n = k.content.ownerDocument); } var T = yG(p, r), C = T ? T.createHTML("") : "", M = n, S = M.implementation, R = M.createNodeIterator, A = M.createDocumentFragment, L = M.getElementsByTagName, v = r.importNode, B = {}; try { B = ps(n).documentMode ? n.documentMode : {}; } catch { } var w = {}; e.isSupported = typeof x == "function" && S && typeof S.createHTMLDocument < "u" && B !== 9; var D = oG, N = lG, z = cG, X = uG, ct = fG, J = dG, Y = hG, $ = null, lt = Ae({}, [].concat($n(i6), $n(Td), $n(Ed), $n(Cd), $n(a6))), ut = null, W = Ae({}, [].concat($n(s6), $n(Sd), $n(o6), $n(Qu))), tt = Object.seal(Object.create(null, { tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 } })), K = null, it = null, Z = !0, V = !0, Q = !1, q = !1, U = !1, F = !1, j = !1, P = !1, et = !1, at = !1, It = !0, Lt = !1, Rt = "user-content-", Ct = !0, pt = !1, mt = {}, _t = null, Tt = Ae({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]), ft = null, le = Ae({}, ["audio", "video", "img", "source", "image", "track"]), Dt = null, Ht = Ae({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), $t = "http://www.w3.org/1998/Math/MathML", Qt = "http://www.w3.org/2000/svg", we = "http://www.w3.org/1999/xhtml", Gt = we, Ft = !1, zt, wt = ["application/xhtml+xml", "text/html"], bt = "text/html", Et, kt = null, Ut = n.createElement("form"), gt = function(st) { return st instanceof RegExp || st instanceof Function; }, he = function(st) { kt && kt === st || ((!st || Na(st) !== "object") && (st = {}), st = ps(st), zt = wt.indexOf(st.PARSER_MEDIA_TYPE) === -1 ? zt = bt : zt = st.PARSER_MEDIA_TYPE, Et = zt === "application/xhtml+xml" ? function(At) { return At; } : Ch, $ = "ALLOWED_TAGS" in st ? Ae({}, st.ALLOWED_TAGS, Et) : lt, ut = "ALLOWED_ATTR" in st ? Ae({}, st.ALLOWED_ATTR, Et) : W, Dt = "ADD_URI_SAFE_ATTR" in st ? Ae( ps(Ht), st.ADD_URI_SAFE_ATTR, Et ) : Ht, ft = "ADD_DATA_URI_TAGS" in st ? Ae( ps(le), st.ADD_DATA_URI_TAGS, Et ) : le, _t = "FORBID_CONTENTS" in st ? Ae({}, st.FORBID_CONTENTS, Et) : Tt, K = "FORBID_TAGS" in st ? Ae({}, st.FORBID_TAGS, Et) : {}, it = "FORBID_ATTR" in st ? Ae({}, st.FORBID_ATTR, Et) : {}, mt = "USE_PROFILES" in st ? st.USE_PROFILES : !1, Z = st.ALLOW_ARIA_ATTR !== !1, V = st.ALLOW_DATA_ATTR !== !1, Q = st.ALLOW_UNKNOWN_PROTOCOLS || !1, q = st.SAFE_FOR_TEMPLATES || !1, U = st.WHOLE_DOCUMENT || !1, P = st.RETURN_DOM || !1, et = st.RETURN_DOM_FRAGMENT || !1, at = st.RETURN_TRUSTED_TYPE || !1, j = st.FORCE_BODY || !1, It = st.SANITIZE_DOM !== !1, Lt = st.SANITIZE_NAMED_PROPS || !1, Ct = st.KEEP_CONTENT !== !1, pt = st.IN_PLACE || !1, Y = st.ALLOWED_URI_REGEXP || Y, Gt = st.NAMESPACE || we, st.CUSTOM_ELEMENT_HANDLING && gt(st.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (tt.tagNameCheck = st.CUSTOM_ELEMENT_HANDLING.tagNameCheck), st.CUSTOM_ELEMENT_HANDLING && gt(st.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (tt.attributeNameCheck = st.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), st.CUSTOM_ELEMENT_HANDLING && typeof st.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (tt.allowCustomizedBuiltInElements = st.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), q && (V = !1), et && (P = !0), mt && ($ = Ae({}, $n(a6)), ut = [], mt.html === !0 && (Ae($, i6), Ae(ut, s6)), mt.svg === !0 && (Ae($, Td), Ae(ut, Sd), Ae(ut, Qu)), mt.svgFilters === !0 && (Ae($, Ed), Ae(ut, Sd), Ae(ut, Qu)), mt.mathMl === !0 && (Ae($, Cd), Ae(ut, o6), Ae(ut, Qu))), st.ADD_TAGS && ($ === lt && ($ = ps($)), Ae($, st.ADD_TAGS, Et)), st.ADD_ATTR && (ut === W && (ut = ps(ut)), Ae(ut, st.ADD_ATTR, Et)), st.ADD_URI_SAFE_ATTR && Ae(Dt, st.ADD_URI_SAFE_ATTR, Et), st.FORBID_CONTENTS && (_t === Tt && (_t = ps(_t)), Ae(_t, st.FORBID_CONTENTS, Et)), Ct && ($["#text"] = !0), U && Ae($, ["html", "head", "body"]), $.table && (Ae($, ["tbody"]), delete K.tbody), cn && cn(st), kt = st); }, yt = Ae({}, ["mi", "mo", "mn", "ms", "mtext"]), re = Ae({}, ["foreignobject", "desc", "title", "annotation-xml"]), _e = Ae({}, ["title", "style", "font", "a", "script"]), ge = Ae({}, Td); Ae(ge, Ed), Ae(ge, aG); var be = Ae({}, Cd); Ae(be, sG); var Te = function(st) { var At = x(st); (!At || !At.tagName) && (At = { namespaceURI: we, tagName: "template" }); var Nt = Ch(st.tagName), Jt = Ch(At.tagName); return st.namespaceURI === Qt ? At.namespaceURI === we ? Nt === "svg" : At.namespaceURI === $t ? Nt === "svg" && (Jt === "annotation-xml" || yt[Jt]) : Boolean(ge[Nt]) : st.namespaceURI === $t ? At.namespaceURI === we ? Nt === "math" : At.namespaceURI === Qt ? Nt === "math" && re[Jt] : Boolean(be[Nt]) : st.namespaceURI === we ? At.namespaceURI === Qt && !re[Jt] || At.namespaceURI === $t && !yt[Jt] ? !1 : !be[Nt] && (_e[Nt] || !ge[Nt]) : !1; }, Wt = function(st) { Ll(e.removed, { element: st }); try { st.parentNode.removeChild(st); } catch { try { st.outerHTML = C; } catch { st.remove(); } } }, ae = function(st, At) { try { Ll(e.removed, { attribute: At.getAttributeNode(st), from: At }); } catch { Ll(e.removed, { attribute: null, from: At }); } if (At.removeAttribute(st), st === "is" && !ut[st]) if (P || et) try { Wt(At); } catch { } else try { At.setAttribute(st, ""); } catch { } }, ye = function(st) { var At, Nt; if (j) st = "" + st; else { var Jt = eG(st, /^[\r\n\t ]+/); Nt = Jt && Jt[0]; } zt === "application/xhtml+xml" && (st = '' + st + ""); var ze = T ? T.createHTML(st) : st; if (Gt === we) try { At = new f().parseFromString(ze, zt); } catch { } if (!At || !At.documentElement) { At = S.createDocument(Gt, "template", null); try { At.documentElement.innerHTML = Ft ? "" : ze; } catch { } } var Oe = At.body || At.documentElement; return st && Nt && Oe.insertBefore(n.createTextNode(Nt), Oe.childNodes[0] || null), Gt === we ? L.call(At, U ? "html" : "body")[0] : U ? At.documentElement : Oe; }, ue = function(st) { return R.call( st.ownerDocument || st, st, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT, null, !1 ); }, Ui = function(st) { return st instanceof d && (typeof st.nodeName != "string" || typeof st.textContent != "string" || typeof st.removeChild != "function" || !(st.attributes instanceof h) || typeof st.removeAttribute != "function" || typeof st.setAttribute != "function" || typeof st.namespaceURI != "string" || typeof st.insertBefore != "function"); }, Or = function(st) { return Na(s) === "object" ? st instanceof s : st && Na(st) === "object" && typeof st.nodeType == "number" && typeof st.nodeName == "string"; }, Ie = function(st, At, Nt) { !w[st] || tG(w[st], function(Jt) { Jt.call(e, At, Nt, kt); }); }, se = function(st) { var At; if (Ie("beforeSanitizeElements", st, null), Ui(st) || Xr(/[\u0080-\uFFFF]/, st.nodeName)) return Wt(st), !0; var Nt = Et(st.nodeName); if (Ie("uponSanitizeElement", st, { tagName: Nt, allowedTags: $ }), st.hasChildNodes() && !Or(st.firstElementChild) && (!Or(st.content) || !Or(st.content.firstElementChild)) && Xr(/<[/\w]/g, st.innerHTML) && Xr(/<[/\w]/g, st.textContent) || Nt === "select" && Xr(/