@kong-ui-public/analytics-metric-provider 1.1.31 → 1.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vitals-metric-provider.umd.js","sources":["../../analytics-utilities/dist/vitals-utilities.es.js","../src/composables/useI18n.ts","../src/types/explore-types.ts","../src/constants.ts","../../../../node_modules/.pnpm/@kong-ui-public+core@1.1.0_axios@1.4.0_swrv@1.0.4_vue@3.3.4/node_modules/@kong-ui-public/core/dist/core.es.js","../src/composables/useMetricFetcher.ts","../src/composables/useMetricCardBuilder.ts","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/lib/hash.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/cache/index.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/lib/web-preset.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/use-swrv.js","../src/composables/useRequest.ts","../src/composables/index.ts","../src/components/metricsProviderUtil.ts","../src/components/MetricsProviderInternal.vue","../../../../node_modules/.pnpm/@kong-ui-public+metric-cards@0.2.14_@kong+kongponents@8.123.3_vue@3.3.4/node_modules/@kong-ui-public/metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var oe = Object.defineProperty;\nvar le = (t, e, r) => e in t ? oe(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;\nvar c = (t, e, r) => (le(t, typeof e != \"symbol\" ? e + \"\" : e, r), r);\nvar s = /* @__PURE__ */ ((t) => (t.MINUTELY = \"Minutely\", t.HOURLY = \"Hourly\", t.DAILY = \"Daily\", t.WEEKLY = \"Weekly\", t))(s || {}), o = /* @__PURE__ */ ((t) => (t.FIFTEEN_MIN = \"15m\", t.ONE_HOUR = \"1h\", t.SIX_HOUR = \"6h\", t.TWELVE_HOUR = \"12h\", t.ONE_DAY = \"24h\", t.SEVEN_DAY = \"7d\", t.THIRTY_DAY = \"30d\", t.CURRENT_WEEK = \"current_week\", t.CURRENT_MONTH = \"current_month\", t.CURRENT_QUARTER = \"current_quarter\", t.PREVIOUS_WEEK = \"previous_week\", t.PREVIOUS_MONTH = \"previous_month\", t.PREVIOUS_QUARTER = \"previous_quarter\", t))(o || {}), fe = /* @__PURE__ */ ((t) => (t.DOUGHNUT = \"Doughnut\", t.HORIZONTAL_BAR = \"HorizontalBar\", t.VERTICAL_BAR = \"VerticalBar\", t.TIMESERIES_LINE = \"Line\", t.TIMESERIES_BAR = \"TimeSeriesBar\", t))(fe || {});\nfunction $(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar re = { exports: {} };\n(function(t) {\n function e(r) {\n return r && r.__esModule ? r : {\n default: r\n };\n }\n t.exports = e, t.exports.__esModule = !0, t.exports.default = t.exports;\n})(re);\nvar de = re.exports, H = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a) {\n if (a === null || a === !0 || a === !1)\n return NaN;\n var n = Number(a);\n return isNaN(n) ? n : n < 0 ? Math.ceil(n) : Math.floor(n);\n }\n t.exports = e.default;\n})(H, H.exports);\nvar ce = H.exports;\nconst me = /* @__PURE__ */ $(ce);\nvar A = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a) {\n var n = new Date(Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds(), a.getMilliseconds()));\n return n.setUTCFullYear(a.getFullYear()), a.getTime() - n.getTime();\n }\n t.exports = e.default;\n})(A, A.exports);\nvar De = A.exports;\nconst j = /* @__PURE__ */ $(De);\nfunction he(t, e) {\n var r = pe(e);\n return r.formatToParts ? Te(r, t) : ge(r, t);\n}\nvar ve = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Te(t, e) {\n try {\n for (var r = t.formatToParts(e), a = [], n = 0; n < r.length; n++) {\n var i = ve[r[n].type];\n i >= 0 && (a[i] = parseInt(r[n].value, 10));\n }\n return a;\n } catch (u) {\n if (u instanceof RangeError)\n return [NaN];\n throw u;\n }\n}\nfunction ge(t, e) {\n var r = t.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(r);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar L = {};\nfunction pe(t) {\n if (!L[t]) {\n var e = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\")), r = e === \"06/25/2014, 00:00:00\" || e === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n L[t] = r ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: t,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: t,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return L[t];\n}\nfunction z(t, e, r, a, n, i, u) {\n var l = /* @__PURE__ */ new Date(0);\n return l.setUTCFullYear(t, e, r), l.setUTCHours(a, n, i, u), l;\n}\nvar V = 36e5, we = 6e4, S = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction E(t, e, r) {\n var a, n;\n if (!t || (a = S.timezoneZ.exec(t), a))\n return 0;\n var i;\n if (a = S.timezoneHH.exec(t), a)\n return i = parseInt(a[1], 10), Z(i) ? -(i * V) : NaN;\n if (a = S.timezoneHHMM.exec(t), a) {\n i = parseInt(a[1], 10);\n var u = parseInt(a[2], 10);\n return Z(i, u) ? (n = Math.abs(i) * V + u * we, i > 0 ? -n : n) : NaN;\n }\n if (Ne(t)) {\n e = new Date(e || Date.now());\n var l = r ? e : ye(e), f = k(l, t), h = r ? f : Me(e, f, t);\n return -h;\n }\n return NaN;\n}\nfunction ye(t) {\n return z(\n t.getFullYear(),\n t.getMonth(),\n t.getDate(),\n t.getHours(),\n t.getMinutes(),\n t.getSeconds(),\n t.getMilliseconds()\n );\n}\nfunction k(t, e) {\n var r = he(t, e), a = z(\n r[0],\n r[1] - 1,\n r[2],\n r[3] % 24,\n r[4],\n r[5],\n 0\n ).getTime(), n = t.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction Me(t, e, r) {\n var a = t.getTime(), n = a - e, i = k(new Date(n), r);\n if (e === i)\n return e;\n n -= i - e;\n var u = k(new Date(n), r);\n return i === u ? i : Math.max(i, u);\n}\nfunction Z(t, e) {\n return -23 <= t && t <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar q = {};\nfunction Ne(t) {\n if (q[t])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: t }), q[t] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Ie = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst ae = Ie;\nvar U = 36e5, B = 6e4, Oe = 2, d = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n // 0 additional digits\n /^([+-]\\d{3})$/,\n // 1 additional digit\n /^([+-]\\d{4})$/\n // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n // 0 additional digits\n /^([+-]\\d{5})/,\n // 1 additional digit\n /^([+-]\\d{6})/\n // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: ae\n};\nfunction b(t, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (t === null)\n return /* @__PURE__ */ new Date(NaN);\n var r = e || {}, a = r.additionalDigits == null ? Oe : me(r.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (t instanceof Date || typeof t == \"object\" && Object.prototype.toString.call(t) === \"[object Date]\")\n return new Date(t.getTime());\n if (typeof t == \"number\" || Object.prototype.toString.call(t) === \"[object Number]\")\n return new Date(t);\n if (!(typeof t == \"string\" || Object.prototype.toString.call(t) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ye(t), i = Ee(n.date, a), u = i.year, l = i.restDateString, f = Re(l, u);\n if (isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n if (f) {\n var h = f.getTime(), g = 0, D;\n if (n.time && (g = _e(n.time), isNaN(g)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || r.timeZone) {\n if (D = E(n.timeZone || r.timeZone, new Date(h + g)), isNaN(D))\n return /* @__PURE__ */ new Date(NaN);\n } else\n D = j(new Date(h + g)), D = j(new Date(h + g + D));\n return new Date(h + g + D);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ye(t) {\n var e = {}, r = d.dateTimePattern.exec(t), a;\n if (r ? (e.date = r[1], a = r[3]) : (r = d.datePattern.exec(t), r ? (e.date = r[1], a = r[2]) : (e.date = null, a = t)), a) {\n var n = d.timeZone.exec(a);\n n ? (e.time = a.replace(n[1], \"\"), e.timeZone = n[1].trim()) : e.time = a;\n }\n return e;\n}\nfunction Ee(t, e) {\n var r = d.YYY[e], a = d.YYYYY[e], n;\n if (n = d.YYYY.exec(t) || a.exec(t), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: t.slice(i.length)\n };\n }\n if (n = d.YY.exec(t) || r.exec(t), n) {\n var u = n[1];\n return {\n year: parseInt(u, 10) * 100,\n restDateString: t.slice(u.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Re(t, e) {\n if (e === null)\n return null;\n var r, a, n, i;\n if (t.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (r = d.MM.exec(t), r)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(r[1], 10) - 1, X(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (r = d.DDD.exec(t), r) {\n a = /* @__PURE__ */ new Date(0);\n var u = parseInt(r[1], 10);\n return Ue(e, u) ? (a.setUTCFullYear(e, 0, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (r = d.MMDD.exec(t), r) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(r[1], 10) - 1;\n var l = parseInt(r[2], 10);\n return X(e, n, l) ? (a.setUTCFullYear(e, n, l), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (r = d.Www.exec(t), r)\n return i = parseInt(r[1], 10) - 1, J(e, i) ? Q(e, i) : /* @__PURE__ */ new Date(NaN);\n if (r = d.WwwD.exec(t), r) {\n i = parseInt(r[1], 10) - 1;\n var f = parseInt(r[2], 10) - 1;\n return J(e, i, f) ? Q(e, i, f) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction _e(t) {\n var e, r, a;\n if (e = d.HH.exec(t), e)\n return r = parseFloat(e[1].replace(\",\", \".\")), x(r) ? r % 24 * U : NaN;\n if (e = d.HHMM.exec(t), e)\n return r = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), x(r, a) ? r % 24 * U + a * B : NaN;\n if (e = d.HHMMSS.exec(t), e) {\n r = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return x(r, a, n) ? r % 24 * U + a * B + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Q(t, e, r) {\n e = e || 0, r = r || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + r + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Le = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Se = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction ne(t) {\n return t % 400 === 0 || t % 4 === 0 && t % 100 !== 0;\n}\nfunction X(t, e, r) {\n if (e < 0 || e > 11)\n return !1;\n if (r != null) {\n if (r < 1)\n return !1;\n var a = ne(t);\n if (a && r > Se[e] || !a && r > Le[e])\n return !1;\n }\n return !0;\n}\nfunction Ue(t, e) {\n if (e < 1)\n return !1;\n var r = ne(t);\n return !(r && e > 366 || !r && e > 365);\n}\nfunction J(t, e, r) {\n return !(e < 0 || e > 52 || r != null && (r < 0 || r > 6));\n}\nfunction x(t, e, r) {\n return !(t != null && (t < 0 || t >= 25) || e != null && (e < 0 || e >= 60) || r != null && (r < 0 || r >= 60));\n}\nvar C = { exports: {} }, G = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a, n) {\n if (a == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var i in n)\n Object.prototype.hasOwnProperty.call(n, i) && (a[i] = n[i]);\n return a;\n }\n t.exports = e.default;\n})(G, G.exports);\nvar xe = G.exports;\n(function(t, e) {\n var r = de.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = r(xe);\n function n(i) {\n return (0, a.default)({}, i);\n }\n t.exports = e.default;\n})(C, C.exports);\nvar He = C.exports;\nconst Ae = /* @__PURE__ */ $(He);\nfunction ke(t, e, r) {\n var a = b(t, r), n = E(e, a, !0), i = new Date(a.getTime() - n), u = /* @__PURE__ */ new Date(0);\n return u.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), u.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), u;\n}\nfunction ie(t, e) {\n return -E(t, e);\n}\nfunction be(t, e, r) {\n if (typeof t == \"string\" && !t.match(ae)) {\n var a = Ae(r);\n return a.timeZone = e, b(t, a);\n }\n var n = b(t, r), i = z(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), u = E(e, new Date(i));\n return new Date(i + u);\n}\nconst I = {\n [s.MINUTELY]: 60 * 1e3,\n [s.HOURLY]: 60 * 60 * 1e3,\n [s.DAILY]: 60 * 60 * 24 * 1e3,\n [s.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction at(t, e) {\n return t.map((r) => ({\n value: r,\n label: e.t(`configuration.vitals.reports.granularity.${r}`)\n }));\n}\nfunction Ce(t, e) {\n return t ? {\n duration: t,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction nt(t) {\n return t && Object.values(s).find((r) => t <= I[r]) || null;\n}\nfunction se(t, e, r, a) {\n const n = I[r];\n let i = 0;\n return n >= I[s.DAILY] && (a ? i = -ie(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(t((e.getTime() - i) / n) * n + i);\n}\nfunction K(t, e, r) {\n return se(Math.floor, t, e, r);\n}\nfunction ue(t, e, r) {\n return se(Math.ceil, t, e, r);\n}\nfunction O(t) {\n \"@babel/helpers - typeof\";\n return O = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, O(t);\n}\nfunction v(t) {\n if (t === null || t === !0 || t === !1)\n return NaN;\n var e = Number(t);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction m(t, e) {\n if (e.length < t)\n throw new TypeError(t + \" argument\" + (t > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction w(t) {\n m(1, arguments);\n var e = Object.prototype.toString.call(t);\n return t instanceof Date || O(t) === \"object\" && e === \"[object Date]\" ? new Date(t.getTime()) : typeof t == \"number\" || e === \"[object Number]\" ? new Date(t) : ((typeof t == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction F(t, e) {\n m(2, arguments);\n var r = w(t), a = v(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && r.setDate(r.getDate() + a), r);\n}\nfunction Ge(t, e) {\n m(2, arguments);\n var r = w(t), a = v(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return r;\n var n = r.getDate(), i = new Date(r.getTime());\n i.setMonth(r.getMonth() + a + 1, 0);\n var u = i.getDate();\n return n >= u ? i : (r.setFullYear(i.getFullYear(), i.getMonth(), n), r);\n}\nvar Fe = {};\nfunction Pe() {\n return Fe;\n}\nfunction Y(t, e) {\n var r, a, n, i, u, l, f, h;\n m(1, arguments);\n var g = Pe(), D = v((r = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (u = e.locale) === null || u === void 0 || (l = u.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && n !== void 0 ? n : g.weekStartsOn) !== null && a !== void 0 ? a : (f = g.locale) === null || f === void 0 || (h = f.options) === null || h === void 0 ? void 0 : h.weekStartsOn) !== null && r !== void 0 ? r : 0);\n if (!(D >= 0 && D <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var p = w(t), N = p.getDay(), _ = (N < D ? 7 : 0) + N - D;\n return p.setDate(p.getDate() - _), p.setHours(0, 0, 0, 0), p;\n}\nfunction ee(t) {\n m(1, arguments);\n var e = w(t);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar $e = 60, ze = 3600;\nfunction y(t) {\n m(1, arguments);\n var e = w(t);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction We(t) {\n m(1, arguments);\n var e = w(t), r = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(r, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction P(t) {\n m(1, arguments);\n var e = w(t), r = e.getTime();\n return r;\n}\nfunction te(t) {\n return m(1, arguments), Math.floor(P(t) / 1e3);\n}\nfunction je(t) {\n return m(1, arguments), Math.floor(t * ze);\n}\nfunction Ve(t, e) {\n m(2, arguments);\n var r = v(e);\n return F(t, -r);\n}\nfunction Ze(t) {\n m(1, arguments);\n var e = t / $e;\n return Math.floor(e);\n}\nfunction W(t, e) {\n m(2, arguments);\n var r = v(e);\n return Ge(t, -r);\n}\nfunction qe(t, e) {\n if (m(2, arguments), !e || O(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var r = e.years ? v(e.years) : 0, a = e.months ? v(e.months) : 0, n = e.weeks ? v(e.weeks) : 0, i = e.days ? v(e.days) : 0, u = e.hours ? v(e.hours) : 0, l = e.minutes ? v(e.minutes) : 0, f = e.seconds ? v(e.seconds) : 0, h = W(t, a + r * 12), g = Ve(h, i + n * 7), D = l + u * 60, p = f + D * 60, N = p * 1e3, _ = new Date(g.getTime() - N);\n return _;\n}\nclass R {\n constructor(e, r) {\n c(this, \"timeframe\");\n c(this, \"tz\");\n if (this.constructor === R)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = r;\n }\n calculateStartDate(e, r, a = 1) {\n if (e)\n return new Date(this.endDate().getTime() - this.timeframe.timeframeLengthMs() * a);\n {\n const n = this.endDate(), i = this.timeframe.rawStart(this.tz), u = K(i, r, this.tz), f = (n.getTime() - u.getTime()) * (a - 1);\n return K(\n new Date(i.getTime() - f),\n r,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return Ce(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return te(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return te(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return P(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return P(this.endDate());\n }\n // Return whether the timeframe's bounds are within the allotment for a free tier user.\n withinFreeTier() {\n return this.startDate() >= qe(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass it extends R {\n constructor(r, a, n) {\n super(r, n);\n c(this, \"granularity\");\n a && r.allowedGranularities().has(a) ? this.granularity = a : this.granularity = r.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return ue(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return I[this.granularity];\n }\n}\nclass Be extends R {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return ue(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass st extends Be {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity, 2);\n }\n granularityMs() {\n return this.endDate().getTime() - super.startDate().getTime();\n }\n}\nconst M = (t, e) => new Date(t.getTime() - ie(e, t));\nclass T {\n constructor(e) {\n c(this, \"timeframeText\");\n c(this, \"key\");\n c(this, \"display\");\n c(this, \"timeframeLength\");\n c(this, \"allowedTiers\");\n // defaultResponseGranularity tracks which of the allowed granularities is picked for a given\n // timeframe if the user does not or cannot specify a granularity.\n c(this, \"defaultResponseGranularity\");\n // dataGranularity tracks the granularity of the available data on the server for a specific timeframe.\n // As of writing, it's always the same as the default response granularity, but it may not always be.\n // It controls how timeframes are rounded to ensure complete time buckets from the server.\n c(this, \"dataGranularity\");\n // isRelative impacts whether we take the `floor` or the `ceil` of the start time.\n // If the time range is relative, we want the ceil -- because we take the ceil of the\n // end time to make sure we're showing all the data we can for the last time bucket.\n // If the time range is absolute, we want the floor -- because otherwise we wouldn't be including\n // the first time bucket.\n c(this, \"isRelative\");\n c(this, \"_startCustom\");\n c(this, \"_endCustom\");\n this.display = e.display, this.timeframeText = e.timeframeText, this.key = e.key, this.timeframeLength = e.timeframeLength, this.allowedTiers = e.allowedTiers, this.defaultResponseGranularity = e.defaultResponseGranularity, this.dataGranularity = e.dataGranularity, this.isRelative = e.isRelative, this._startCustom = e.startCustom, this._endCustom = e.endCustom;\n }\n // rawEnd does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryEndSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawEnd(e) {\n return this._endCustom || /* @__PURE__ */ new Date();\n }\n // rawStart does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryStartSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawStart(e) {\n return this._startCustom || new Date(this.rawEnd().getTime() - this.timeframeLengthMs());\n }\n timeframeLengthMs() {\n return this.timeframeLength() * 1e3;\n }\n maximumTimeframeLength() {\n return this.timeframeLength();\n }\n allowedGranularities() {\n const e = /* @__PURE__ */ new Set(), r = this.maximumTimeframeLength() / 3600;\n return r <= 6 && e.add(s.MINUTELY), r >= 2 && r <= 7 * 24 && e.add(s.HOURLY), r >= 2 * 24 && e.add(s.DAILY), r >= 2 * 24 * 14 && e.add(s.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const r = be(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return ke(r, e);\n }\n}\nclass Qe extends T {\n rawStart(e) {\n let r = Y(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (r = M(r, e)), r;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Xe extends T {\n rawStart(e) {\n let r = y(this.tzAdjustedDate(e));\n return e && (r = M(r, e)), r;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Je extends T {\n rawEnd(e) {\n let r = Y(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (r = M(r, e)), r;\n }\n rawStart(e) {\n const r = this.tzAdjustedDate(e);\n let a = Y(r.setDate(r.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = M(a, e)), a;\n }\n}\nclass Ke extends T {\n rawEnd(e) {\n let r = y(this.tzAdjustedDate(e));\n return e && (r = M(r, e)), r;\n }\n rawStart(e) {\n let r = y(W(this.tzAdjustedDate(e), 1));\n return e && (r = M(r, e)), r;\n }\n}\nconst et = /* @__PURE__ */ new Map([\n [\n o.FIFTEEN_MIN,\n new T({\n key: o.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: s.MINUTELY,\n dataGranularity: s.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.ONE_HOUR,\n new T({\n key: o.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: s.MINUTELY,\n dataGranularity: s.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.SIX_HOUR,\n new T({\n key: o.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.TWELVE_HOUR,\n new T({\n key: o.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.ONE_DAY,\n new T({\n key: o.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.SEVEN_DAY,\n new T({\n key: o.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.THIRTY_DAY,\n new T({\n key: o.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.CURRENT_WEEK,\n new Qe({\n key: o.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const t = Y(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ee(F(/* @__PURE__ */ new Date(), 1)).getTime() - t.getTime()) / 1e3;\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.CURRENT_MONTH,\n new Xe({\n key: o.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const t = y(/* @__PURE__ */ new Date());\n return (ee(F(/* @__PURE__ */ new Date(), 1)).getTime() - t.getTime()) / 1e3;\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.PREVIOUS_WEEK,\n new Je({\n key: o.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.PREVIOUS_MONTH,\n new Ke({\n key: o.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let t = 0;\n const e = y(/* @__PURE__ */ new Date()), r = y(W(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== r.getTimezoneOffset() && (t = tt(e, r)), 60 * 60 * 24 * We((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + je(t);\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction ut(t) {\n const e = new Date(t.start), r = new Date(t.end), a = (r.getTime() - e.getTime()) / 1e3;\n return t.timePeriodsKey && et.get(t.timePeriodsKey) || new T({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: r,\n timeframeLength: () => a,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ot(t) {\n return {\n ...t.key !== \"custom\" && { timePeriodsKey: t.key },\n start: t.rawStart(),\n end: t.rawEnd()\n };\n}\nfunction lt(t) {\n return {\n key: t.key,\n display: t.display,\n timeframeText: t.timeframeText,\n timeframeLength: () => t.key,\n // Used to generate test IDs for the Kongponent.\n start: () => t.rawStart(),\n end: () => t.rawEnd()\n };\n}\nfunction tt(t, e) {\n return Ze(t.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n fe as ChartTypes,\n st as DeltaQueryTime,\n I as Granularities,\n s as GranularityKeys,\n et as TimePeriods,\n T as Timeframe,\n o as TimeframeKeys,\n it as TimeseriesQueryTime,\n Be as UnaryQueryTime,\n ue as ceilToNearestTimeGrain,\n ut as datePickerSelectionToTimeframe,\n tt as dstOffsetHours,\n K as floorToNearestTimeGrain,\n at as granularitiesToOptions,\n Ce as granularityMsToQuery,\n nt as msToGranularity,\n ot as timeframeToDatepickerSelection,\n lt as timeframeToDatepickerTimeperiod\n};\n//# sourceMappingURL=vitals-utilities.es.js.map\n","import { createI18n, i18nTComponent } from '@kong-ui-public/i18n'\nimport english from '../locales/en.json'\n\nexport default function useI18n() {\n const i18n = createI18n<typeof english>('en-us', english)\n\n return {\n i18n,\n i18nT: i18nTComponent<typeof english>(i18n), // Translation component <i18n-t>\n }\n}\n","// These enums are exported by the package, but eslint doesn't seem to realize this.\n/* eslint-disable no-unused-vars */\nexport enum EXPLORE_V2_DIMENSIONS {\n API_PRODUCT = 'API_PRODUCT',\n API_PRODUCT_VERSION = 'API_PRODUCT_VERSION',\n RUNTIME_GROUP = 'RUNTIME_GROUP',\n GATEWAY_INSTANCE_ID = 'GATEWAY_INSTANCE_ID',\n GATEWAY_SERVICE = 'GATEWAY_SERVICE',\n ROUTE = 'ROUTE',\n APPLICATION = 'APPLICATION',\n STATUS_CODE = 'STATUS_CODE',\n STATUS_CODE_GROUPED = 'STATUS_CODE_GROUPED',\n TIME = 'TIME',\n ORGANIZATION = 'ORGANIZATION',\n}\n\nexport enum EXPLORE_V2_AGGREGATIONS {\n REQUEST_COUNT = 'REQUEST_COUNT',\n REQUEST_PER_MINUTE = 'REQUEST_PER_MINUTE',\n RESPONSE_LATENCY_P99 = 'RESPONSE_LATENCY_P99',\n RESPONSE_LATENCY_P95 = 'RESPONSE_LATENCY_P95',\n RESPONSE_LATENCY_P50 = 'RESPONSE_LATENCY_P50',\n RESPONSE_SIZE_P99 = 'RESPONSE_SIZE_P99',\n RESPONSE_SIZE_P95 = 'RESPONSE_SIZE_P95',\n RESPONSE_SIZE_P50 = 'RESPONSE_SIZE_P50',\n REQUEST_SIZE_P99 = 'REQUEST_SIZE_P99',\n REQUEST_SIZE_P95 = 'REQUEST_SIZE_P95',\n REQUEST_SIZE_P50 = 'REQUEST_SIZE_P50',\n}\n\nexport enum EXPLORE_V2_FILTER_TYPES {\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n}\n\nexport interface ExploreV2Filter {\n dimension: EXPLORE_V2_DIMENSIONS\n type: EXPLORE_V2_FILTER_TYPES\n values: string[]\n}\n\nexport interface ExploreV2Query {\n metrics: EXPLORE_V2_AGGREGATIONS[]\n dimensions?: EXPLORE_V2_DIMENSIONS[]\n filter?: ExploreV2Filter[]\n granularityMs?: number\n meta?: {\n queryId: string\n };\n}\n","export const MAX_ANALYTICS_REQUEST_RETRIES = 2\nexport const ALL_STATUS_CODE_GROUPS = ['1XX', '2XX', '3XX', '4XX', '5XX']\nexport const STATUS_CODES_FAILED = ['4XX', '5XX']\nexport const STATUS_CODES_SUCCESS = ['1XX', '2XX', '3XX']\n","import { ref as q, readonly as ae, computed as fe, nextTick as ie, getCurrentInstance as ye, reactive as Te, onMounted as pe, onUnmounted as Ce, watch as De, isReadonly as Se, toRefs as Oe, watchEffect as Pe } from \"vue\";\nfunction B(r) {\n \"@babel/helpers - typeof\";\n return B = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, B(r);\n}\nfunction A(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction T(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction P(r) {\n T(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || B(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction Ee(r, e) {\n T(2, arguments);\n var t = P(r).getTime(), n = A(e);\n return new Date(t + n);\n}\nvar Me = {};\nfunction K() {\n return Me;\n}\nfunction ke(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction _e(r) {\n return T(1, arguments), r instanceof Date || B(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction xe(r) {\n if (T(1, arguments), !_e(r) && typeof r != \"number\")\n return !1;\n var e = P(r);\n return !isNaN(Number(e));\n}\nfunction We(r, e) {\n T(2, arguments);\n var t = A(e);\n return Ee(r, -t);\n}\nvar Re = 864e5;\nfunction Ue(r) {\n T(1, arguments);\n var e = P(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var n = e.getTime(), a = t - n;\n return Math.floor(a / Re) + 1;\n}\nfunction X(r) {\n T(1, arguments);\n var e = 1, t = P(r), n = t.getUTCDay(), a = (n < e ? 7 : 0) + n - e;\n return t.setUTCDate(t.getUTCDate() - a), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction ve(r) {\n T(1, arguments);\n var e = P(r), t = e.getUTCFullYear(), n = /* @__PURE__ */ new Date(0);\n n.setUTCFullYear(t + 1, 0, 4), n.setUTCHours(0, 0, 0, 0);\n var a = X(n), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = X(i);\n return e.getTime() >= a.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction Ae(r) {\n T(1, arguments);\n var e = ve(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var n = X(t);\n return n;\n}\nvar Le = 6048e5;\nfunction Ye(r) {\n T(1, arguments);\n var e = P(r), t = X(e).getTime() - Ae(e).getTime();\n return Math.round(t / Le) + 1;\n}\nfunction Q(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && a !== void 0 ? a : c.weekStartsOn) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(v >= 0 && v <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var d = P(r), f = d.getUTCDay(), g = (f < v ? 7 : 0) + f - v;\n return d.setUTCDate(d.getUTCDate() - g), d.setUTCHours(0, 0, 0, 0), d;\n}\nfunction he(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = P(r), v = c.getUTCFullYear(), d = K(), f = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = d.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(f >= 1 && f <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var g = /* @__PURE__ */ new Date(0);\n g.setUTCFullYear(v + 1, 0, f), g.setUTCHours(0, 0, 0, 0);\n var b = Q(g, e), p = /* @__PURE__ */ new Date(0);\n p.setUTCFullYear(v, 0, f), p.setUTCHours(0, 0, 0, 0);\n var W = Q(p, e);\n return c.getTime() >= b.getTime() ? v + 1 : c.getTime() >= W.getTime() ? v : v - 1;\n}\nfunction Ne(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : c.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), d = he(r, e), f = /* @__PURE__ */ new Date(0);\n f.setUTCFullYear(d, 0, v), f.setUTCHours(0, 0, 0, 0);\n var g = Q(f, e);\n return g;\n}\nvar Ie = 6048e5;\nfunction Fe(r, e) {\n T(1, arguments);\n var t = P(r), n = Q(t, e).getTime() - Ne(t, e).getTime();\n return Math.round(n / Ie) + 1;\n}\nfunction h(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", n = Math.abs(r).toString(); n.length < e; )\n n = \"0\" + n;\n return t + n;\n}\nvar He = {\n // Year\n y: function(e, t) {\n var n = e.getUTCFullYear(), a = n > 0 ? n : 1 - n;\n return h(t === \"yy\" ? a % 100 : a, t.length);\n },\n // Month\n M: function(e, t) {\n var n = e.getUTCMonth();\n return t === \"M\" ? String(n + 1) : h(n + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return h(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var n = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.toUpperCase();\n case \"aaa\":\n return n;\n case \"aaaaa\":\n return n[0];\n case \"aaaa\":\n default:\n return n === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return h(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return h(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return h(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return h(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var n = t.length, a = e.getUTCMilliseconds(), i = Math.floor(a * Math.pow(10, n - 3));\n return h(i, t.length);\n }\n};\nconst x = He;\nvar N = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, $e = {\n // Era\n G: function(e, t, n) {\n var a = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return n.era(a, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return n.era(a, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return n.era(a, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, n) {\n if (t === \"yo\") {\n var a = e.getUTCFullYear(), i = a > 0 ? a : 1 - a;\n return n.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return x.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, n, a) {\n var i = he(e, a), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var s = o % 100;\n return h(s, 2);\n }\n return t === \"Yo\" ? n.ordinalNumber(o, {\n unit: \"year\"\n }) : h(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var n = ve(e);\n return h(n, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var n = e.getUTCFullYear();\n return h(n, t.length);\n },\n // Quarter\n Q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return h(a, 2);\n case \"Qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(a);\n case \"qq\":\n return h(a, 2);\n case \"qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return x.M(e, t);\n case \"Mo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return n.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return h(a + 1, 2);\n case \"Lo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return n.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, n, a) {\n var i = Fe(e, a);\n return t === \"wo\" ? n.ordinalNumber(i, {\n unit: \"week\"\n }) : h(i, t.length);\n },\n // ISO week of year\n I: function(e, t, n) {\n var a = Ye(e);\n return t === \"Io\" ? n.ordinalNumber(a, {\n unit: \"week\"\n }) : h(a, t.length);\n },\n // Day of the month\n d: function(e, t, n) {\n return t === \"do\" ? n.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : x.d(e, t);\n },\n // Day of year\n D: function(e, t, n) {\n var a = Ue(e);\n return t === \"Do\" ? n.ordinalNumber(a, {\n unit: \"dayOfYear\"\n }) : h(a, t.length);\n },\n // Day of week\n E: function(e, t, n) {\n var a = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return h(o, 2);\n case \"eo\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return n.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return n.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return h(o, t.length);\n case \"co\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return n.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return n.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, n) {\n var a = e.getUTCDay(), i = a === 0 ? 7 : a;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return h(i, t.length);\n case \"io\":\n return n.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, n) {\n var a = e.getUTCHours(), i = a / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a === 12 ? i = N.noon : a === 0 ? i = N.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a >= 17 ? i = N.evening : a >= 12 ? i = N.afternoon : a >= 4 ? i = N.morning : i = N.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, n) {\n if (t === \"ho\") {\n var a = e.getUTCHours() % 12;\n return a === 0 && (a = 12), n.ordinalNumber(a, {\n unit: \"hour\"\n });\n }\n return x.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, n) {\n return t === \"Ho\" ? n.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : x.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, n) {\n var a = e.getUTCHours() % 12;\n return t === \"Ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Hour [1-24]\n k: function(e, t, n) {\n var a = e.getUTCHours();\n return a === 0 && (a = 24), t === \"ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Minute\n m: function(e, t, n) {\n return t === \"mo\" ? n.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : x.m(e, t);\n },\n // Second\n s: function(e, t, n) {\n return t === \"so\" ? n.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : x.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return x.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return ue(o);\n case \"XXXX\":\n case \"XX\":\n return U(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return ue(o);\n case \"xxxx\":\n case \"xx\":\n return U(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + oe(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + oe(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, n, a) {\n var i = a._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return h(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTime();\n return h(o, t.length);\n }\n};\nfunction oe(r, e) {\n var t = r > 0 ? \"-\" : \"+\", n = Math.abs(r), a = Math.floor(n / 60), i = n % 60;\n if (i === 0)\n return t + String(a);\n var o = e || \"\";\n return t + String(a) + o + h(i, 2);\n}\nfunction ue(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + h(Math.abs(r) / 60, 2);\n }\n return U(r, e);\n}\nfunction U(r, e) {\n var t = e || \"\", n = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = h(Math.floor(a / 60), 2), o = h(a % 60, 2);\n return n + i + t + o;\n}\nconst Ve = $e;\nvar le = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, me = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, qe = function(e, t) {\n var n = e.match(/(P+)(p+)?/) || [], a = n[1], i = n[2];\n if (!i)\n return le(e, t);\n var o;\n switch (a) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", le(a, t)).replace(\"{{time}}\", me(i, t));\n}, Ge = {\n p: me,\n P: qe\n};\nconst je = Ge;\nvar Be = [\"D\", \"DD\"], Xe = [\"YY\", \"YYYY\"];\nfunction Qe(r) {\n return Be.indexOf(r) !== -1;\n}\nfunction Je(r) {\n return Xe.indexOf(r) !== -1;\n}\nfunction se(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar Ke = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, ze = function(e, t, n) {\n var a, i = Ke[e];\n return typeof i == \"string\" ? a = i : t === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nconst Ze = ze;\nfunction z(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, n = r.formats[t] || r.formats[r.defaultWidth];\n return n;\n };\n}\nvar et = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, tt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, rt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, nt = {\n date: z({\n formats: et,\n defaultWidth: \"full\"\n }),\n time: z({\n formats: tt,\n defaultWidth: \"full\"\n }),\n dateTime: z({\n formats: rt,\n defaultWidth: \"full\"\n })\n};\nconst at = nt;\nvar it = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, ot = function(e, t, n, a) {\n return it[e];\n};\nconst ut = ot;\nfunction $(r) {\n return function(e, t) {\n var n = t != null && t.context ? String(t.context) : \"standalone\", a;\n if (n === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n a = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var s = r.defaultWidth, l = t != null && t.width ? String(t.width) : r.defaultWidth;\n a = r.values[l] || r.values[s];\n }\n var u = r.argumentCallback ? r.argumentCallback(e) : e;\n return a[u];\n };\n}\nvar lt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, st = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, ct = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, dt = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, ft = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, vt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, ht = function(e, t) {\n var n = Number(e), a = n % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return n + \"st\";\n case 2:\n return n + \"nd\";\n case 3:\n return n + \"rd\";\n }\n return n + \"th\";\n}, mt = {\n ordinalNumber: ht,\n era: $({\n values: lt,\n defaultWidth: \"wide\"\n }),\n quarter: $({\n values: st,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: $({\n values: ct,\n defaultWidth: \"wide\"\n }),\n day: $({\n values: dt,\n defaultWidth: \"wide\"\n }),\n dayPeriod: $({\n values: ft,\n defaultWidth: \"wide\",\n formattingValues: vt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst gt = mt;\nfunction V(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.width, a = n && r.matchPatterns[n] || r.matchPatterns[r.defaultMatchWidth], i = e.match(a);\n if (!i)\n return null;\n var o = i[0], s = n && r.parsePatterns[n] || r.parsePatterns[r.defaultParseWidth], l = Array.isArray(s) ? bt(s, function(v) {\n return v.test(o);\n }) : wt(s, function(v) {\n return v.test(o);\n }), u;\n u = r.valueCallback ? r.valueCallback(l) : l, u = t.valueCallback ? t.valueCallback(u) : u;\n var c = e.slice(o.length);\n return {\n value: u,\n rest: c\n };\n };\n}\nfunction wt(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction bt(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction yt(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = e.match(r.matchPattern);\n if (!n)\n return null;\n var a = n[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var s = e.slice(a.length);\n return {\n value: o,\n rest: s\n };\n };\n}\nvar Tt = /^(\\d+)(th|st|nd|rd)?/i, pt = /\\d+/i, Ct = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, Dt = {\n any: [/^b/i, /^(a|c)/i]\n}, St = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Ot = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Pt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Et = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Mt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, kt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, _t = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, xt = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, Wt = {\n ordinalNumber: yt({\n matchPattern: Tt,\n parsePattern: pt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: V({\n matchPatterns: Ct,\n defaultMatchWidth: \"wide\",\n parsePatterns: Dt,\n defaultParseWidth: \"any\"\n }),\n quarter: V({\n matchPatterns: St,\n defaultMatchWidth: \"wide\",\n parsePatterns: Ot,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: V({\n matchPatterns: Pt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Et,\n defaultParseWidth: \"any\"\n }),\n day: V({\n matchPatterns: Mt,\n defaultMatchWidth: \"wide\",\n parsePatterns: kt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: V({\n matchPatterns: _t,\n defaultMatchWidth: \"any\",\n parsePatterns: xt,\n defaultParseWidth: \"any\"\n })\n};\nconst Rt = Wt;\nvar Ut = {\n code: \"en-US\",\n formatDistance: Ze,\n formatLong: at,\n formatRelative: ut,\n localize: gt,\n match: Rt,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst At = Ut;\nvar Lt = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, Yt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Nt = /^'([^]*?)'?$/, It = /''/g, Ft = /[a-zA-Z]/;\nfunction Ht(r, e, t) {\n var n, a, i, o, s, l, u, c, v, d, f, g, b, p, W, w, m, L;\n T(2, arguments);\n var C = String(e), D = K(), S = (n = (a = t == null ? void 0 : t.locale) !== null && a !== void 0 ? a : D.locale) !== null && n !== void 0 ? n : At, R = A((i = (o = (s = (l = t == null ? void 0 : t.firstWeekContainsDate) !== null && l !== void 0 ? l : t == null || (u = t.locale) === null || u === void 0 || (c = u.options) === null || c === void 0 ? void 0 : c.firstWeekContainsDate) !== null && s !== void 0 ? s : D.firstWeekContainsDate) !== null && o !== void 0 ? o : (v = D.locale) === null || v === void 0 || (d = v.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(R >= 1 && R <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var Y = A((f = (g = (b = (p = t == null ? void 0 : t.weekStartsOn) !== null && p !== void 0 ? p : t == null || (W = t.locale) === null || W === void 0 || (w = W.options) === null || w === void 0 ? void 0 : w.weekStartsOn) !== null && b !== void 0 ? b : D.weekStartsOn) !== null && g !== void 0 ? g : (m = D.locale) === null || m === void 0 || (L = m.options) === null || L === void 0 ? void 0 : L.weekStartsOn) !== null && f !== void 0 ? f : 0);\n if (!(Y >= 0 && Y <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!S.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!S.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var _ = P(r);\n if (!xe(_))\n throw new RangeError(\"Invalid time value\");\n var G = ke(_), H = We(_, G), E = {\n firstWeekContainsDate: R,\n weekStartsOn: Y,\n locale: S,\n _originalDate: _\n }, j = C.match(Yt).map(function(y) {\n var O = y[0];\n if (O === \"p\" || O === \"P\") {\n var M = je[O];\n return M(y, S.formatLong);\n }\n return y;\n }).join(\"\").match(Lt).map(function(y) {\n if (y === \"''\")\n return \"'\";\n var O = y[0];\n if (O === \"'\")\n return $t(y);\n var M = Ve[O];\n if (M)\n return !(t != null && t.useAdditionalWeekYearTokens) && Je(y) && se(y, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Qe(y) && se(y, e, String(r)), M(H, y, S.localize, E);\n if (O.match(Ft))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + O + \"`\");\n return y;\n }).join(\"\");\n return j;\n}\nfunction $t(r) {\n var e = r.match(Nt);\n return e ? e[1].replace(It, \"'\") : r;\n}\nfunction nr() {\n return {\n formatDateBy: (t, n = {}) => {\n if (isNaN(t))\n return null;\n try {\n return new Date(t * 1e3).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n hour12: !1,\n ...n\n });\n } catch {\n return null;\n }\n },\n formatUnixToDate: (t, n) => {\n if (!t)\n return \"\";\n const a = n ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd HH:mm:ss XX\";\n try {\n const i = new Date(t * 1e3);\n return Ht(i, a);\n } catch {\n return \"\";\n }\n }\n };\n}\nfunction ar() {\n return {\n debounce: (e, t) => {\n let n;\n return (...a) => {\n clearTimeout(n), n = window == null ? void 0 : window.setTimeout(() => {\n e(...a);\n }, t);\n };\n }\n };\n}\nfunction ir({ script: r, styles: e, onReady: t }) {\n const n = q(!0), a = q(!0), i = async () => {\n const { libName: l, url: u, type: c } = r;\n if ((c !== void 0 && [\"umd\", \"es\"].includes(c) ? c : \"umd\") === \"es\") {\n await import(\n /* @vite-ignore */\n u\n ), typeof t == \"function\" && await t();\n return;\n }\n const d = l.startsWith(\"kong-ui-\") ? l : `kong-ui-${l}`;\n return window[d] || (window[d] = await new Promise((f, g) => {\n const b = document.createElement(\"script\");\n b.async = !0, b.addEventListener(\"load\", async () => {\n typeof t == \"function\" && await t(), n.value = !1, f(window[d]);\n }), b.addEventListener(\"error\", () => {\n g(new Error(`Could not load '${d}' from ${u}`));\n }), b.src = u, document.head.appendChild(b);\n })), window[d];\n }, o = async (l, u) => {\n var c;\n for (const v of l) {\n const d = document.createElement(\"link\");\n d.type = \"text/css\", d.rel = \"stylesheet\", d.href = v;\n const f = u ? document.querySelector(u) : null, g = u ? (c = f == null ? void 0 : f.shadowRoot) == null ? void 0 : c.children[0] : null;\n if (f && g)\n try {\n g.appendChild(d);\n } catch {\n document.head.appendChild(d);\n }\n else\n document.head.appendChild(d);\n }\n };\n return {\n importPackage: async () => {\n var u, c;\n if (!r || !r.url || typeof window > \"u\" || typeof document > \"u\")\n return;\n const l = fe(() => !!(e && (e != null && e.urls) && (e != null && e.urls.length) && e.shadowRoot));\n if ((!e || !(e != null && e.urls) || !((u = e == null ? void 0 : e.urls) != null && u.length)) && (a.value = !1), e != null && e.urls && ((c = e == null ? void 0 : e.urls) != null && c.length) && !l.value && (await o(e.urls), a.value = !1), (!r.type || r.type === \"umd\") && !l.value)\n return await i();\n await i(), await ie(), n.value = !1, e != null && e.urls && l.value && (await o(e.urls, e == null ? void 0 : e.shadowRoot), await ie(), a.value = !1);\n },\n loadingPackage: ae(n),\n loadingStyles: ae(a)\n };\n}\nvar Z = /* @__PURE__ */ new WeakMap(), ce = 0;\nfunction Vt(r) {\n if (!r.length)\n return \"\";\n for (var e = \"arg\", t = 0; t < r.length; ++t) {\n var n = void 0;\n r[t] === null || typeof r[t] != \"object\" && typeof r[t] != \"function\" ? typeof r[t] == \"string\" ? n = '\"' + r[t] + '\"' : n = String(r[t]) : Z.has(r[t]) ? n = Z.get(r[t]) : (n = ce, Z.set(r[t], ce++)), e += \"@\" + n;\n }\n return e;\n}\nfunction qt(r) {\n if (typeof r == \"function\")\n try {\n r = r();\n } catch {\n r = \"\";\n }\n return Array.isArray(r) ? r = Vt(r) : r = String(r || \"\"), r;\n}\nvar ne = (\n /** @class */\n function() {\n function r(e) {\n e === void 0 && (e = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = e;\n }\n return r.prototype.serializeKey = function(e) {\n return qt(e);\n }, r.prototype.get = function(e) {\n var t = this.serializeKey(e);\n return this.items.get(t);\n }, r.prototype.set = function(e, t, n) {\n var a = this.serializeKey(e), i = n || this.ttl, o = Date.now(), s = {\n data: t,\n createdAt: o,\n expiresAt: i ? o + i : 1 / 0\n };\n this.dispatchExpire(i, s, a), this.items.set(a, s);\n }, r.prototype.dispatchExpire = function(e, t, n) {\n var a = this;\n e && setTimeout(function() {\n var i = Date.now(), o = i >= t.expiresAt;\n o && a.delete(n);\n }, e);\n }, r.prototype.delete = function(e) {\n this.items.delete(e);\n }, r;\n }()\n);\nfunction Gt() {\n return typeof navigator.onLine < \"u\" ? navigator.onLine : !0;\n}\nfunction jt() {\n return typeof document < \"u\" && typeof document.visibilityState < \"u\" ? document.visibilityState !== \"hidden\" : !0;\n}\nvar Bt = function(r) {\n return fetch(r).then(function(e) {\n return e.json();\n });\n};\nconst ee = {\n isOnline: Gt,\n isDocumentVisible: jt,\n fetcher: Bt\n};\nvar k = globalThis && globalThis.__assign || function() {\n return k = Object.assign || function(r) {\n for (var e, t = 1, n = arguments.length; t < n; t++) {\n e = arguments[t];\n for (var a in e)\n Object.prototype.hasOwnProperty.call(e, a) && (r[a] = e[a]);\n }\n return r;\n }, k.apply(this, arguments);\n}, I = globalThis && globalThis.__awaiter || function(r, e, t, n) {\n function a(i) {\n return i instanceof t ? i : new t(function(o) {\n o(i);\n });\n }\n return new (t || (t = Promise))(function(i, o) {\n function s(c) {\n try {\n u(n.next(c));\n } catch (v) {\n o(v);\n }\n }\n function l(c) {\n try {\n u(n.throw(c));\n } catch (v) {\n o(v);\n }\n }\n function u(c) {\n c.done ? i(c.value) : a(c.value).then(s, l);\n }\n u((n = n.apply(r, e || [])).next());\n });\n}, F = globalThis && globalThis.__generator || function(r, e) {\n var t = { label: 0, sent: function() {\n if (i[0] & 1)\n throw i[1];\n return i[1];\n }, trys: [], ops: [] }, n, a, i, o;\n return o = { next: s(0), throw: s(1), return: s(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function s(u) {\n return function(c) {\n return l([u, c]);\n };\n }\n function l(u) {\n if (n)\n throw new TypeError(\"Generator is already executing.\");\n for (; t; )\n try {\n if (n = 1, a && (i = u[0] & 2 ? a.return : u[0] ? a.throw || ((i = a.return) && i.call(a), 0) : a.next) && !(i = i.call(a, u[1])).done)\n return i;\n switch (a = 0, i && (u = [u[0] & 2, i.value]), u[0]) {\n case 0:\n case 1:\n i = u;\n break;\n case 4:\n return t.label++, { value: u[1], done: !1 };\n case 5:\n t.label++, a = u[1], u = [0];\n continue;\n case 7:\n u = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (u[0] === 6 || u[0] === 2)) {\n t = 0;\n continue;\n }\n if (u[0] === 3 && (!i || u[1] > i[0] && u[1] < i[3])) {\n t.label = u[1];\n break;\n }\n if (u[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = u;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(u);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n u = e.call(r, t);\n } catch (c) {\n u = [6, c], a = 0;\n } finally {\n n = i = 0;\n }\n if (u[0] & 5)\n throw u[1];\n return { value: u[0] ? u[1] : void 0, done: !0 };\n }\n}, Xt = globalThis && globalThis.__read || function(r, e) {\n var t = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!t)\n return r;\n var n = t.call(r), a, i = [], o;\n try {\n for (; (e === void 0 || e-- > 0) && !(a = n.next()).done; )\n i.push(a.value);\n } catch (s) {\n o = { error: s };\n } finally {\n try {\n a && !a.done && (t = n.return) && t.call(n);\n } finally {\n if (o)\n throw o.error;\n }\n }\n return i;\n}, Qt = globalThis && globalThis.__spreadArray || function(r, e, t) {\n if (t || arguments.length === 2)\n for (var n = 0, a = e.length, i; n < a; n++)\n (i || !(n in e)) && (i || (i = Array.prototype.slice.call(e, 0, n)), i[n] = e[n]);\n return r.concat(i || Array.prototype.slice.call(e));\n}, ge = new ne(), J = new ne(), te = new ne(), we = {\n cache: ge,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1e3,\n dedupingInterval: 2e3,\n revalidateOnFocus: !0,\n revalidateDebounce: 0,\n shouldRetryOnError: !0,\n errorRetryInterval: 5e3,\n errorRetryCount: 5,\n fetcher: ee.fetcher,\n isOnline: ee.isOnline,\n isDocumentVisible: ee.isDocumentVisible\n};\nfunction Jt(r, e, t) {\n var n = J.get(r);\n if (n)\n n.data.push(e);\n else {\n var a = 5e3;\n J.set(r, [e], t > 0 ? t + a : t);\n }\n}\nfunction Kt(r, e, t) {\n if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && e > t.errorRetryCount)) {\n var n = Math.min(e || 0, t.errorRetryCount), a = n * t.errorRetryInterval;\n setTimeout(function() {\n r(null, { errorRetryCount: n + 1, shouldRetryOnError: !0 });\n }, a);\n }\n}\nvar de = function(r, e, t, n) {\n return t === void 0 && (t = ge), n === void 0 && (n = we.ttl), I(void 0, void 0, void 0, function() {\n var a, i, o, s, l, u, c;\n return F(this, function(v) {\n switch (v.label) {\n case 0:\n if (!Zt(e))\n return [3, 5];\n v.label = 1;\n case 1:\n return v.trys.push([1, 3, , 4]), [4, e];\n case 2:\n return a = v.sent(), [3, 4];\n case 3:\n return s = v.sent(), i = s, [3, 4];\n case 4:\n return [3, 6];\n case 5:\n a = e, v.label = 6;\n case 6:\n if (o = !1, l = { data: a, error: i, isValidating: o }, typeof a < \"u\")\n try {\n t.set(r, l, n);\n } catch (d) {\n console.error(\"swrv(mutate): failed to set cache\", d);\n }\n return u = J.get(r), u && u.data.length && (c = u.data.filter(function(d) {\n return d.key === r;\n }), c.forEach(function(d, f) {\n typeof l.data < \"u\" && (d.data = l.data), d.error = l.error, d.isValidating = l.isValidating;\n var g = f === c.length - 1;\n g || delete c[f];\n }), c = c.filter(Boolean)), [2, l];\n }\n });\n });\n};\nfunction zt() {\n for (var r = this, e = [], t = 0; t < arguments.length; t++)\n e[t] = arguments[t];\n var n, a, i = k({}, we), o = !1, s = !1, l = ye(), u = (l == null ? void 0 : l.proxy) || l;\n if (!u)\n return console.error(\"Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.\"), null;\n var c = (u == null ? void 0 : u.$isServer) || !1;\n e.length >= 1 && (n = e[0]), e.length >= 2 && (a = e[1]), e.length > 2 && (i = k(k({}, i), e[2]));\n var v = c ? i.serverTTL : i.ttl, d = typeof n == \"function\" ? n : q(n);\n typeof a > \"u\" && (a = i.fetcher);\n var f = null;\n f || (f = Te({\n data: void 0,\n error: void 0,\n isValidating: !0,\n key: null\n }));\n var g = function(w, m) {\n return I(r, void 0, void 0, function() {\n var L, C, D, S, R, Y, _, G = this;\n return F(this, function(H) {\n switch (H.label) {\n case 0:\n return L = f.data === void 0, C = d.value, C ? (D = i.cache.get(C), S = D && D.data, f.isValidating = !0, S && (f.data = S.data, f.error = S.error), R = w || a, !R || !i.isDocumentVisible() && !L || (m == null ? void 0 : m.forceRevalidate) !== void 0 && !(m != null && m.forceRevalidate) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : D && (Y = !!(Date.now() - D.createdAt >= i.dedupingInterval || m != null && m.forceRevalidate), !Y) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : (_ = function() {\n return I(G, void 0, void 0, function() {\n var E, j, y, O;\n return F(this, function(M) {\n switch (M.label) {\n case 0:\n return E = te.get(C), E ? [3, 2] : (j = Array.isArray(C) ? C : [C], y = R.apply(void 0, Qt([], Xt(j), !1)), te.set(C, y, i.dedupingInterval), [4, de(C, y, i.cache, v)]);\n case 1:\n return M.sent(), [3, 4];\n case 2:\n return [4, de(C, E.data, i.cache, v)];\n case 3:\n M.sent(), M.label = 4;\n case 4:\n return f.isValidating = !1, te.delete(C), f.error !== void 0 && (O = !o && i.shouldRetryOnError && (m ? m.shouldRetryOnError : !0), O && Kt(g, m ? m.errorRetryCount : 1, i)), [\n 2\n /*return*/\n ];\n }\n });\n });\n }, S && i.revalidateDebounce ? (setTimeout(function() {\n return I(G, void 0, void 0, function() {\n return F(this, function(E) {\n switch (E.label) {\n case 0:\n return o ? [3, 2] : [4, _()];\n case 1:\n E.sent(), E.label = 2;\n case 2:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, i.revalidateDebounce), [3, 3]) : [3, 1])) : [\n 2\n /*return*/\n ];\n case 1:\n return [4, _()];\n case 2:\n H.sent(), H.label = 3;\n case 3:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, b = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(w) {\n return [2, g(null, { shouldRetryOnError: !1 })];\n });\n });\n }, p = null;\n pe(function() {\n var w = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(m) {\n switch (m.label) {\n case 0:\n return !f.error && i.isOnline() ? [4, g()] : [3, 2];\n case 1:\n return m.sent(), [3, 3];\n case 2:\n p && clearTimeout(p), m.label = 3;\n case 3:\n return i.refreshInterval && !o && (p = setTimeout(w, i.refreshInterval)), [\n 2\n /*return*/\n ];\n }\n });\n });\n };\n i.refreshInterval && (p = setTimeout(w, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener(\"visibilitychange\", b, !1), window.addEventListener(\"focus\", b, !1));\n }), Ce(function() {\n o = !0, p && clearTimeout(p), i.revalidateOnFocus && (document.removeEventListener(\"visibilitychange\", b, !1), window.removeEventListener(\"focus\", b, !1));\n var w = J.get(d.value);\n w && (w.data = w.data.filter(function(m) {\n return m !== f;\n }));\n });\n try {\n De(d, function(w) {\n Se(d) || (d.value = w), f.key = w, f.isValidating = !!w, Jt(d.value, f, v), !c && !s && d.value && g(), s = !1;\n }, {\n immediate: !0\n });\n } catch {\n }\n var W = k(k({}, Oe(f)), { mutate: function(w, m) {\n return g(w, k(k({}, m), { forceRevalidate: !0 }));\n } });\n return W;\n}\nfunction Zt(r) {\n return r !== null && typeof r == \"object\" && typeof r.then == \"function\";\n}\nfunction or(r, e, t) {\n const { data: n, error: a, isValidating: i, mutate: o } = zt(r, e, {\n revalidateDebounce: 500,\n revalidateOnFocus: !1,\n dedupingInterval: 100,\n ...t\n });\n return {\n data: fe(() => {\n var l;\n return (l = n.value) == null ? void 0 : l.data;\n }),\n response: n,\n error: a,\n isValidating: i,\n revalidate: o\n };\n}\nvar be = /* @__PURE__ */ ((r) => (r.VALIDATING = \"VALIDATING\", r.VALIDATING_HAS_DATA = \"VALIDATING_HAS_DATA\", r.PENDING = \"PENDING\", r.SUCCESS = \"SUCCESS\", r.SUCCESS_HAS_DATA = \"SUCCESS_HAS_DATA\", r.ERROR = \"ERROR\", r.STALE_IF_ERROR = \"STALE_IF_ERROR\", r))(be || {});\nconst er = (r) => {\n var e, t, n, a, i;\n return r ? !!// TODO: revisit: currently only the first check ever matters?\n ((e = Object.keys(r)) != null && e.length || (t = r.data) != null && t.length || (a = (n = r.data) == null ? void 0 : n.data) != null && a.length || !((i = r.data) != null && i.data) && typeof r.data == \"object\" && Object.keys(r == null ? void 0 : r.data).length) : !1;\n};\nfunction ur(r = q({}), e, t, n = er) {\n const a = q(\n \"PENDING\"\n /* PENDING */\n );\n return Pe(() => {\n const i = n(r.value);\n if (r.value && i && t.value) {\n a.value = \"VALIDATING_HAS_DATA\";\n return;\n }\n if (r.value && t.value) {\n a.value = \"VALIDATING\";\n return;\n }\n if (r.value && e.value) {\n a.value = \"STALE_IF_ERROR\";\n return;\n }\n if (r.value === void 0 && !e.value) {\n a.value = \"PENDING\";\n return;\n }\n if (r.value && !e.value && i) {\n a.value = \"SUCCESS_HAS_DATA\";\n return;\n }\n if (r.value && !e.value) {\n a.value = \"SUCCESS\";\n return;\n }\n r.value === void 0 && e && (a.value = \"ERROR\");\n }), {\n state: a,\n swrvState: be\n };\n}\nconst re = \"khcp-user-table-preferences\", tr = {\n pageSize: 30,\n sortColumnKey: void 0,\n sortColumnOrder: void 0\n};\nfunction lr() {\n const r = (i) => {\n if (typeof i == \"string\")\n try {\n return JSON.parse(i);\n } catch (o) {\n console.error(\"useTablePreferences(tryParseJson)\", o);\n return;\n }\n }, e = () => {\n const i = r(localStorage.getItem(re));\n return !i || !Object.keys(i).length ? /* @__PURE__ */ new Map() : new Map(Object.entries(i));\n };\n return {\n setTablePreferences: (i, o) => {\n try {\n const s = e();\n s.set(i, o), localStorage.setItem(re, JSON.stringify(Object.fromEntries(s.entries())));\n } catch (s) {\n console.error(\"useTablePreferences(setTablePreferences)\", s);\n }\n },\n getTablePreferences: (i) => {\n const o = e();\n return (o == null ? void 0 : o.get(i)) || void 0 || tr;\n },\n deleteAllTablePreferences: () => {\n localStorage.removeItem(re);\n }\n };\n}\nfunction sr() {\n const r = () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.search) || \"\";\n };\n return {\n getLocationSearch: r,\n getLocationHostname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.hostname) || \"\";\n },\n getLocationHref: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.href) || \"\";\n },\n getLocationPathname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.pathname) || \"\";\n },\n getLocationOrigin: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.origin) || \"\";\n },\n getUrlSearchParams: () => new URLSearchParams(r()),\n setLocationAssign: (l) => {\n window.location.assign(l);\n },\n setLocationReplace: (l) => {\n window.location.replace(l);\n }\n };\n}\nexport {\n tr as DEFAULT_USER_TABLE_PREFERENCES,\n re as USER_TABLE_PREFERENCES_LOCAL_STORAGE_KEY,\n nr as useDate,\n ar as useDebounce,\n ir as usePackage,\n or as useSwrvRequest,\n ur as useSwrvState,\n lr as useTablePreferences,\n sr as useWindow\n};\n","import type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport { DeltaQueryTime, UnaryQueryTime } from '@kong-ui-public/analytics-utilities'\nimport type { AnalyticsExploreV2Result, QueryTime } from '@kong-ui-public/analytics-utilities'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { EXPLORE_V2_AGGREGATIONS, ExploreV2Query, MetricFetcherOptions } from '../types'\nimport { MAX_ANALYTICS_REQUEST_RETRIES } from '../constants'\nimport composables from '.'\nimport type { AxiosResponse } from 'axios'\nimport { useSwrvState } from '@kong-ui-public/core'\n\nexport const DEFAULT_KEY = Symbol('default')\nexport type MappedMetrics = Record<string | typeof DEFAULT_KEY, Record<string | typeof DEFAULT_KEY, number>>\n\n// This dimension is special: metric cards are never going to group on this dimension\n// except in order to determine traffic and error rate information.\nconst ERROR_RATE_DIMENSION = EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED\n\nexport interface ChronologicalMappedMetrics {\n current: MappedMetrics\n previous: MappedMetrics\n}\n\nexport interface FetcherResult {\n isLoading: Ref<boolean>\n hasError: Ref<boolean>\n raw: Ref<AxiosResponse<AnalyticsExploreV2Result, any> | undefined>\n mapped: Ref<ChronologicalMappedMetrics>\n}\n\nconst setMetric = (result: ChronologicalMappedMetrics, time: 'previous' | 'current', topLevelKey: string | typeof DEFAULT_KEY, secondLevelKey: string | typeof DEFAULT_KEY, metricValue: number) => {\n if (!result[time][topLevelKey]) {\n result[time][topLevelKey] = {} as Record<string | typeof DEFAULT_KEY, number>\n }\n result[time][topLevelKey][secondLevelKey] = metricValue\n}\n\nexport function buildDeltaMapping(result: AnalyticsExploreV2Result, queryTime: QueryTime, withTrend: boolean): ChronologicalMappedMetrics {\n // We should always have metric names in the result; if they're not present, just pick something that won't crash.\n const metricName = result.meta.metricNames?.[0] || ''\n\n // We only ever have 2 dimensions in the response if the second dimension is STATUS_CODE_GROUPED.\n // TIME doesn't show up in the response.\n // Assert that this is the case; raise a reportable error if not.\n const dimensionNames = Object.keys(result.meta.dimensions || {})\n const hasErrorRateDimension = !!dimensionNames.find(k => k === ERROR_RATE_DIMENSION)\n const keyDimension = dimensionNames.find(k => k !== ERROR_RATE_DIMENSION)\n\n if (dimensionNames.length > 2 || (dimensionNames.length > 1 && !hasErrorRateDimension)) {\n console.error(\"Don't know how to work with provided dimensions:\", dimensionNames)\n return {\n previous: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n current: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n }\n }\n\n // Go through each record and add it to the correct group.\n // Explore always returns results sorted in ascending order by time.\n return result.records.reduce<ChronologicalMappedMetrics>((result, record) => {\n const metricValue = record.event[metricName] as number\n\n // If we have dimensions, then index the results based on the dimension name.\n // If we don't have dimensions, insert a synthetic key (DEFAULT_KEY).\n const topLevelKey = keyDimension ? record.event[keyDimension] as string : DEFAULT_KEY\n\n // If we have the error rate key, then index the 2nd level results based on that.\n // Otherwise, insert a synthetic key (DEFAULT_KEY).\n const secondLevelKey = hasErrorRateDimension ? record.event[ERROR_RATE_DIMENSION] as string : DEFAULT_KEY\n\n // The records are in ascending order, so the first record is the earliest.\n // If the timestamp of the current record is the same as the query start date, it belongs to\n // the previous group, otherwise it belongs to the current group.\n if (new Date(record.timestamp).getTime() === queryTime.startDate().getTime() && withTrend) {\n setMetric(result, 'previous', topLevelKey, secondLevelKey, metricValue)\n } else {\n setMetric(result, 'current', topLevelKey, secondLevelKey, metricValue)\n }\n\n return result\n }, {\n previous: {},\n current: {},\n } as ChronologicalMappedMetrics)\n}\n\nexport default function useMetricFetcher(opts: MetricFetcherOptions): FetcherResult {\n if (opts.queryReady === undefined) {\n opts.queryReady = computed(() => true)\n }\n\n const queryTime: Ref<QueryTime> = computed(() => {\n return opts.withTrend ? new DeltaQueryTime(opts.timeframe.value) : new UnaryQueryTime(opts.timeframe.value)\n })\n\n const query: Ref<ExploreV2Query> = computed(() => ({\n metrics: opts.metrics as EXPLORE_V2_AGGREGATIONS[],\n dimensions: [\n ...(opts.dimensions?.length ? [...opts.dimensions as EXPLORE_V2_DIMENSIONS[]] : []),\n ...(opts.withTrend ? [EXPLORE_V2_DIMENSIONS.TIME] : []),\n ],\n granularityMs: queryTime.value.granularityMs(),\n ...(opts.filter.value?.length ? { filter: opts.filter.value } : {}),\n }))\n\n const timeRangeString = computed(() => `${queryTime.value.endDate().toString()}-${queryTime.value.startDate().toString()}`)\n const cacheKey: Ref<string | null> = computed(() => {\n if (!opts.queryReady?.value || (opts.featureFlags && !opts.featureFlags.every(e => e))) {\n return null\n }\n\n const additionalFilterKey = opts.filter?.value ? JSON.stringify(opts.filter.value) : ''\n // need to have some uniqueness in the cache key to avoid collisions.\n // this was happening when there are multiple providers on the same page with the same dimensions and metrics.\n // For example the singleProvider and multiProvider that appear in the test harness.\n return `metric-fetcher-${timeRangeString.value}-${opts.dimensions?.join('-')}-${opts.metrics?.join('-')}-${additionalFilterKey}`\n })\n\n const { response: raw, error: metricError, isValidating: isMetricDataValidating } = composables.useRequest<AnalyticsExploreV2Result>(\n () => cacheKey.value,\n () => opts.dataFetcher(queryTime.value, query.value),\n {\n refreshInterval: opts.refreshInterval,\n revalidateOnFocus: false,\n errorRetryCount: MAX_ANALYTICS_REQUEST_RETRIES,\n },\n )\n\n const { state: metricRequestState, swrvState: STATE } = useSwrvState(raw, metricError, isMetricDataValidating)\n\n const mapped = computed<ChronologicalMappedMetrics>(() => {\n if (!raw.value?.data?.records?.length || !raw.value?.data?.meta?.dimensions || !raw.value?.data?.meta?.metricNames?.length) {\n // Invalid or empty result.\n return { current: {}, previous: {} } as ChronologicalMappedMetrics\n }\n\n return buildDeltaMapping(raw.value.data, queryTime.value, !!opts.withTrend)\n })\n\n return {\n isLoading: computed(() => STATE.PENDING === metricRequestState.value),\n hasError: computed(() => STATE.ERROR === metricRequestState.value),\n raw,\n mapped,\n }\n}\n","import type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport type { ChronologicalMappedMetrics } from './useMetricFetcher'\nimport { DEFAULT_KEY } from './useMetricFetcher'\n\nexport interface BuilderOptions {\n title: Ref<string>,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n}\n\nexport const sumValues = (recordValue: ChronologicalMappedMetrics, period: 'current' | 'previous', dimensionLookupKey: string | typeof DEFAULT_KEY = DEFAULT_KEY, sumGroupedValues?: string[]) => {\n const groupedValueKey: string[] | (typeof DEFAULT_KEY)[] = sumGroupedValues ?? [DEFAULT_KEY]\n\n // @ts-ignore: TS can't seem to handle the fact that `groupedValueKey` has a union type.\n return groupedValueKey.reduce((acc: number, lookup: string | typeof DEFAULT_KEY) => {\n const groupValue = recordValue[period][dimensionLookupKey]\n if (groupValue) {\n return acc + (groupValue[lookup] || 0)\n }\n\n return acc\n }, 0)\n}\n\nexport default function useMetricCardBuilder(opts: BuilderOptions): Ref<MetricCardDef> {\n const {\n title,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n } = opts\n\n return computed<MetricCardDef>(() => {\n let currentValue = 0\n let previousValue = 0\n\n if (record?.value) {\n try {\n currentValue = sumValues(record.value, 'current', opts.lookupKey, opts.sumGroupedValues)\n previousValue = sumValues(record.value, 'previous', opts.lookupKey, opts.sumGroupedValues)\n } catch (e) {\n // Values default to 0 if this happens.\n console.error(\n \"Metric card data doesn't have the expected structure:\",\n e,\n )\n }\n }\n\n return {\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n }\n })\n}\n","// From https://github.com/vercel/swr/blob/master/src/libs/hash.ts\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nvar table = new WeakMap();\n// counter of the key\nvar counter = 0;\n// hashes an array of objects and returns a string\nexport default function hash(args) {\n if (!args.length)\n return '';\n var key = 'arg';\n for (var i = 0; i < args.length; ++i) {\n var _hash = void 0;\n if (args[i] === null ||\n (typeof args[i] !== 'object' && typeof args[i] !== 'function')) {\n // need to consider the case that args[i] is a string:\n // args[i] _hash\n // \"undefined\" -> '\"undefined\"'\n // undefined -> 'undefined'\n // 123 -> '123'\n // null -> 'null'\n // \"null\" -> '\"null\"'\n if (typeof args[i] === 'string') {\n _hash = '\"' + args[i] + '\"';\n }\n else {\n _hash = String(args[i]);\n }\n }\n else {\n if (!table.has(args[i])) {\n _hash = counter;\n table.set(args[i], counter++);\n }\n else {\n _hash = table.get(args[i]);\n }\n }\n key += '@' + _hash;\n }\n return key;\n}\n//# sourceMappingURL=hash.js.map","import hash from '../lib/hash';\nfunction serializeKeyDefault(key) {\n if (typeof key === 'function') {\n try {\n key = key();\n }\n catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n if (Array.isArray(key)) {\n key = hash(key);\n }\n else {\n // convert null to ''\n key = String(key || '');\n }\n return key;\n}\nvar SWRVCache = /** @class */ (function () {\n function SWRVCache(ttl) {\n if (ttl === void 0) { ttl = 0; }\n this.items = new Map();\n this.ttl = ttl;\n }\n SWRVCache.prototype.serializeKey = function (key) {\n return serializeKeyDefault(key);\n };\n SWRVCache.prototype.get = function (k) {\n var _key = this.serializeKey(k);\n return this.items.get(_key);\n };\n SWRVCache.prototype.set = function (k, v, ttl) {\n var _key = this.serializeKey(k);\n var timeToLive = ttl || this.ttl;\n var now = Date.now();\n var item = {\n data: v,\n createdAt: now,\n expiresAt: timeToLive ? now + timeToLive : Infinity\n };\n this.dispatchExpire(timeToLive, item, _key);\n this.items.set(_key, item);\n };\n SWRVCache.prototype.dispatchExpire = function (ttl, item, serializedKey) {\n var _this = this;\n ttl && setTimeout(function () {\n var current = Date.now();\n var hasExpired = current >= item.expiresAt;\n if (hasExpired)\n _this.delete(serializedKey);\n }, ttl);\n };\n SWRVCache.prototype.delete = function (serializedKey) {\n this.items.delete(serializedKey);\n };\n return SWRVCache;\n}());\nexport default SWRVCache;\n//# sourceMappingURL=index.js.map","function isOnline() {\n if (typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n // always assume it's online\n return true;\n}\nfunction isDocumentVisible() {\n if (typeof document !== 'undefined' &&\n typeof document.visibilityState !== 'undefined') {\n return document.visibilityState !== 'hidden';\n }\n // always assume it's visible\n return true;\n}\nvar fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };\nexport default {\n isOnline: isOnline,\n isDocumentVisible: isDocumentVisible,\n fetcher: fetcher\n};\n//# sourceMappingURL=web-preset.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/** ____\n *--------------/ \\.------------------/\n * / swrv \\. / //\n * / / /\\. / //\n * / _____/ / \\. /\n * / / ____/ . \\. /\n * / \\ \\_____ \\. /\n * / . \\_____ \\ \\ / //\n * \\ _____/ / ./ / //\n * \\ / _____/ ./ /\n * \\ / / . ./ /\n * \\ / / ./ /\n * . \\/ ./ / //\n * \\ ./ / //\n * \\.. / /\n * . ||| /\n * ||| /\n * . ||| / //\n * ||| / //\n * ||| /\n */\nimport { reactive, watch, ref, toRefs, \n// isRef,\nonMounted, onUnmounted, getCurrentInstance, isReadonly } from 'vue';\nimport webPreset from './lib/web-preset';\nimport SWRVCache from './cache';\nvar DATA_CACHE = new SWRVCache();\nvar REF_CACHE = new SWRVCache();\nvar PROMISES_CACHE = new SWRVCache();\nvar defaultConfig = {\n cache: DATA_CACHE,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1000,\n dedupingInterval: 2000,\n revalidateOnFocus: true,\n revalidateDebounce: 0,\n shouldRetryOnError: true,\n errorRetryInterval: 5000,\n errorRetryCount: 5,\n fetcher: webPreset.fetcher,\n isOnline: webPreset.isOnline,\n isDocumentVisible: webPreset.isDocumentVisible\n};\n/**\n * Cache the refs for later revalidation\n */\nfunction setRefCache(key, theRef, ttl) {\n var refCacheItem = REF_CACHE.get(key);\n if (refCacheItem) {\n refCacheItem.data.push(theRef);\n }\n else {\n // #51 ensures ref cache does not evict too soon\n var gracePeriod = 5000;\n REF_CACHE.set(key, [theRef], ttl > 0 ? ttl + gracePeriod : ttl);\n }\n}\nfunction onErrorRetry(revalidate, errorRetryCount, config) {\n if (!config.isDocumentVisible()) {\n return;\n }\n if (config.errorRetryCount !== undefined && errorRetryCount > config.errorRetryCount) {\n return;\n }\n var count = Math.min(errorRetryCount || 0, config.errorRetryCount);\n var timeout = count * config.errorRetryInterval;\n setTimeout(function () {\n revalidate(null, { errorRetryCount: count + 1, shouldRetryOnError: true });\n }, timeout);\n}\n/**\n * Main mutation function for receiving data from promises to change state and\n * set data cache\n */\nvar mutate = function (key, res, cache, ttl) {\n if (cache === void 0) { cache = DATA_CACHE; }\n if (ttl === void 0) { ttl = defaultConfig.ttl; }\n return __awaiter(void 0, void 0, void 0, function () {\n var data, error, isValidating, err_1, newData, stateRef, refs_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isPromise(res)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, res];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n error = err_1;\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n data = res;\n _a.label = 6;\n case 6:\n // eslint-disable-next-line prefer-const\n isValidating = false;\n newData = { data: data, error: error, isValidating: isValidating };\n if (typeof data !== 'undefined') {\n try {\n cache.set(key, newData, ttl);\n }\n catch (err) {\n console.error('swrv(mutate): failed to set cache', err);\n }\n }\n stateRef = REF_CACHE.get(key);\n if (stateRef && stateRef.data.length) {\n refs_1 = stateRef.data.filter(function (r) { return r.key === key; });\n refs_1.forEach(function (r, idx) {\n if (typeof newData.data !== 'undefined') {\n r.data = newData.data;\n }\n r.error = newData.error;\n r.isValidating = newData.isValidating;\n var isLast = idx === refs_1.length - 1;\n if (!isLast) {\n // Clean up refs that belonged to old keys\n delete refs_1[idx];\n }\n });\n refs_1 = refs_1.filter(Boolean);\n }\n return [2 /*return*/, newData];\n }\n });\n });\n};\nfunction useSWRV() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var key;\n var fn;\n var config = __assign({}, defaultConfig);\n var unmounted = false;\n var isHydrated = false;\n var instance = getCurrentInstance();\n var vm = (instance === null || instance === void 0 ? void 0 : instance.proxy) || instance; // https://github.com/vuejs/composition-api/pull/520\n if (!vm) {\n console.error('Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.');\n return null;\n }\n var IS_SERVER = (vm === null || vm === void 0 ? void 0 : vm.$isServer) || false;\n // #region ssr\n /**\n const isSsrHydration = Boolean(\n \\!IS_SERVER &&\n vm.$vnode &&\n vm.$vnode.elm &&\n vm.$vnode.elm.dataset &&\n vm.$vnode.elm.dataset.swrvKey)\n */\n // #endregion\n if (args.length >= 1) {\n key = args[0];\n }\n if (args.length >= 2) {\n fn = args[1];\n }\n if (args.length > 2) {\n config = __assign(__assign({}, config), args[2]);\n }\n var ttl = IS_SERVER ? config.serverTTL : config.ttl;\n var keyRef = typeof key === 'function' ? key : ref(key);\n if (typeof fn === 'undefined') {\n // use the global fetcher\n fn = config.fetcher;\n }\n var stateRef = null;\n // #region ssr\n // if (isSsrHydration) {\n // // component was ssrHydrated, so make the ssr reactive as the initial data\n // const swrvState = (window as any).__SWRV_STATE__ ||\n // ((window as any).__NUXT__ && (window as any).__NUXT__.swrv) || []\n // const swrvKey = +(vm as any).$vnode.elm.dataset.swrvKey\n // if (swrvKey !== undefined && swrvKey !== null) {\n // const nodeState = swrvState[swrvKey] || []\n // const instanceState = nodeState[isRef(keyRef) ? keyRef.value : keyRef()]\n // if (instanceState) {\n // stateRef = reactive(instanceState)\n // isHydrated = true\n // }\n // }\n // }\n // #endregion\n if (!stateRef) {\n stateRef = reactive({\n data: undefined,\n error: undefined,\n isValidating: true,\n key: null\n });\n }\n /**\n * Revalidate the cache, mutate data\n */\n var revalidate = function (data, opts) { return __awaiter(_this, void 0, void 0, function () {\n var isFirstFetch, keyVal, cacheItem, newData, fetcher, shouldRevalidate, trigger;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFirstFetch = stateRef.data === undefined;\n keyVal = keyRef.value;\n if (!keyVal) {\n return [2 /*return*/];\n }\n cacheItem = config.cache.get(keyVal);\n newData = cacheItem && cacheItem.data;\n stateRef.isValidating = true;\n if (newData) {\n stateRef.data = newData.data;\n stateRef.error = newData.error;\n }\n fetcher = data || fn;\n if (!fetcher ||\n (!config.isDocumentVisible() && !isFirstFetch) ||\n ((opts === null || opts === void 0 ? void 0 : opts.forceRevalidate) !== undefined && !(opts === null || opts === void 0 ? void 0 : opts.forceRevalidate))) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n // Dedupe items that were created in the last interval #76\n if (cacheItem) {\n shouldRevalidate = Boolean(((Date.now() - cacheItem.createdAt) >= config.dedupingInterval) || (opts === null || opts === void 0 ? void 0 : opts.forceRevalidate));\n if (!shouldRevalidate) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n }\n trigger = function () { return __awaiter(_this, void 0, void 0, function () {\n var promiseFromCache, fetcherArgs, newPromise, shouldRetryOnError;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promiseFromCache = PROMISES_CACHE.get(keyVal);\n if (!!promiseFromCache) return [3 /*break*/, 2];\n fetcherArgs = Array.isArray(keyVal) ? keyVal : [keyVal];\n newPromise = fetcher.apply(void 0, __spreadArray([], __read(fetcherArgs), false));\n PROMISES_CACHE.set(keyVal, newPromise, config.dedupingInterval);\n return [4 /*yield*/, mutate(keyVal, newPromise, config.cache, ttl)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mutate(keyVal, promiseFromCache.data, config.cache, ttl)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n stateRef.isValidating = false;\n PROMISES_CACHE.delete(keyVal);\n if (stateRef.error !== undefined) {\n shouldRetryOnError = !unmounted && config.shouldRetryOnError && (opts ? opts.shouldRetryOnError : true);\n if (shouldRetryOnError) {\n onErrorRetry(revalidate, opts ? opts.errorRetryCount : 1, config);\n }\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (!(newData && config.revalidateDebounce)) return [3 /*break*/, 1];\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!unmounted) return [3 /*break*/, 2];\n return [4 /*yield*/, trigger()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, config.revalidateDebounce);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, trigger()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n var revalidateCall = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, revalidate(null, { shouldRetryOnError: false })];\n }); }); };\n var timer = null;\n /**\n * Setup polling\n */\n onMounted(function () {\n var tick = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!stateRef.error && config.isOnline())) return [3 /*break*/, 2];\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n return [4 /*yield*/, revalidate()];\n case 1:\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (timer) {\n clearTimeout(timer);\n }\n _a.label = 3;\n case 3:\n if (config.refreshInterval && !unmounted) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (config.refreshInterval) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n if (config.revalidateOnFocus) {\n document.addEventListener('visibilitychange', revalidateCall, false);\n window.addEventListener('focus', revalidateCall, false);\n }\n });\n /**\n * Teardown\n */\n onUnmounted(function () {\n unmounted = true;\n if (timer) {\n clearTimeout(timer);\n }\n if (config.revalidateOnFocus) {\n document.removeEventListener('visibilitychange', revalidateCall, false);\n window.removeEventListener('focus', revalidateCall, false);\n }\n var refCacheItem = REF_CACHE.get(keyRef.value);\n if (refCacheItem) {\n refCacheItem.data = refCacheItem.data.filter(function (ref) { return ref !== stateRef; });\n }\n });\n // #region ssr\n // if (IS_SERVER) {\n // // make sure srwv exists in ssrContext\n // let swrvRes = []\n // if (vm.$ssrContext) {\n // swrvRes = vm.$ssrContext.swrv = vm.$ssrContext.swrv || swrvRes\n // }\n // const ssrKey = swrvRes.length\n // if (!vm.$vnode || (vm.$node && !vm.$node.data)) {\n // vm.$vnode = {\n // data: { attrs: { 'data-swrv-key': ssrKey } }\n // }\n // }\n // const attrs = (vm.$vnode.data.attrs = vm.$vnode.data.attrs || {})\n // attrs['data-swrv-key'] = ssrKey\n // // Nuxt compatibility\n // if (vm.$ssrContext && vm.$ssrContext.nuxt) {\n // vm.$ssrContext.nuxt.swrv = swrvRes\n // }\n // onServerPrefetch(async () => {\n // await revalidate()\n // if (!swrvRes[ssrKey]) swrvRes[ssrKey] = {}\n // swrvRes[ssrKey][keyRef.value] = {\n // data: stateRef.data,\n // error: stateRef.error,\n // isValidating: stateRef.isValidating\n // }\n // })\n // }\n // #endregion\n /**\n * Revalidate when key dependencies change\n */\n try {\n watch(keyRef, function (val) {\n if (!isReadonly(keyRef)) {\n keyRef.value = val;\n }\n stateRef.key = val;\n stateRef.isValidating = Boolean(val);\n setRefCache(keyRef.value, stateRef, ttl);\n if (!IS_SERVER && !isHydrated && keyRef.value) {\n revalidate();\n }\n isHydrated = false;\n }, {\n immediate: true\n });\n }\n catch (_a) {\n // do nothing\n }\n var res = __assign(__assign({}, toRefs(stateRef)), { mutate: function (data, opts) { return revalidate(data, __assign(__assign({}, opts), { forceRevalidate: true })); } });\n return res;\n}\nfunction isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\nexport { mutate };\nexport default useSWRV;\n//# sourceMappingURL=use-swrv.js.map","import type { IConfig } from 'swrv'\nimport useSWRV from 'swrv'\nimport type { AxiosResponse, AxiosError } from 'axios'\nimport type { IKey, fetcherFn } from 'swrv/dist/types'\nimport { computed } from 'vue'\n\nexport default function useRequest<Data = unknown, Error = { message: string }>(\n key: IKey,\n fn?: fetcherFn<AxiosResponse<Data>>,\n config?: IConfig,\n) {\n const {\n data: response,\n error,\n isValidating,\n mutate: revalidate,\n } = useSWRV<AxiosResponse<Data>, AxiosError<Error>>(key, fn, {\n revalidateDebounce: 500,\n revalidateOnFocus: false,\n dedupingInterval: 100,\n ...config,\n })\n\n const data = computed<Data | undefined>(() => {\n return response.value?.data\n })\n\n return {\n data,\n response,\n error,\n isValidating,\n revalidate,\n }\n}\n","import useI18n from './useI18n'\nimport useMetricCardBuilder from './useMetricCardBuilder'\nimport useMetricFetcher from './useMetricFetcher'\nimport useRequest from './useRequest'\n\n// All composables must be exported as part of the default object for Cypress test stubs\nexport default {\n useI18n,\n useMetricCardBuilder,\n useMetricFetcher,\n useRequest,\n}\n","import type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport composables from '../composables'\nimport { EXPLORE_V2_AGGREGATIONS, EXPLORE_V2_DIMENSIONS, EXPLORE_V2_FILTER_TYPES } from '../types'\nimport type { DataFetcher, ExploreV2Filter, MetricFetcherOptions } from '../types'\nimport { computed } from 'vue'\nimport type { InjectionKey, Ref } from 'vue'\n\ninterface ProviderData {\n data: {\n [key: string]: any // TODO\n },\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n}\n\nexport const METRICS_PROVIDER_KEY = Symbol('METRICS_PROVIDER_KEY') as InjectionKey<ProviderData>\n\ninterface FetcherOptions {\n dimension?: EXPLORE_V2_DIMENSIONS\n dimensionFilterValue?: string\n additionalFilter: Ref<ExploreV2Filter[] | undefined>\n queryReady: Ref<boolean>\n timeframe: Ref<Timeframe>\n hasTrendAccess: boolean\n refreshInterval: number\n dataFetcher: DataFetcher\n}\n\nexport const defaultFetcherDefs = (opts: FetcherOptions) => {\n const {\n dimension,\n dimensionFilterValue,\n additionalFilter,\n queryReady,\n timeframe,\n hasTrendAccess,\n refreshInterval,\n dataFetcher,\n } = opts\n\n if (dimensionFilterValue && !dimension) {\n throw new Error('Must provide a dimension if filtering by a value')\n }\n\n const singleEntityQuery = !!(dimension && dimensionFilterValue)\n const multiEntityQuery = !!(dimension && !dimensionFilterValue)\n\n const filter = computed<ExploreV2Filter[]>(() => {\n const retval: ExploreV2Filter[] = []\n\n if (singleEntityQuery) {\n retval.push({\n dimension,\n type: EXPLORE_V2_FILTER_TYPES.IN,\n values: [dimensionFilterValue],\n })\n }\n\n if (additionalFilter.value) {\n retval.push(...additionalFilter.value)\n }\n\n return retval\n })\n\n const trafficMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.REQUEST_COUNT,\n ],\n\n // Traffic and error rate cards should only try to query for the dimension if it's going to be used.\n // It isn't used for single entity queries.\n dimensions: [\n ...((dimension && !singleEntityQuery) ? [dimension] : []),\n EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED,\n ],\n\n filter,\n queryReady,\n timeframe,\n\n // Traffic and error rate cards can't query trend if multiple entities are expected.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const latencyMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.RESPONSE_LATENCY_P99,\n ],\n\n // To keep single-entity queries consistent, don't bother querying the dimension for latency\n // in the single-entity case, even though it's possible.\n ...((dimension && !singleEntityQuery) ? { dimensions: [dimension] } : {}),\n\n filter,\n queryReady,\n timeframe,\n\n // Don't query latency trends in the multi-entity case: it's possible, but wasteful.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const trafficData = composables.useMetricFetcher(trafficMetricFetcherOptions)\n const latencyData = composables.useMetricFetcher(latencyMetricFetcherOptions)\n\n return {\n trafficData,\n latencyData,\n }\n}\n","<template>\n <slot\n :has-trend-access=\"props.hasTrendAccess\"\n :timeframe=\"timeframe\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, provide, toRef } from 'vue'\nimport type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport { TimePeriods, TimeframeKeys } from '@kong-ui-public/analytics-utilities'\nimport { METRICS_PROVIDER_KEY, defaultFetcherDefs } from './metricsProviderUtil'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { DataFetcher, ExploreV2Filter } from '../types'\n\nconst props = withDefaults(defineProps<{\n maxTimeframe?: TimeframeKeys,\n overrideTimeframe?: Timeframe,\n dimension?: `${EXPLORE_V2_DIMENSIONS}`,\n filterValue?: string,\n additionalFilter?: ExploreV2Filter[],\n queryReady?: boolean,\n dataFetcher: DataFetcher,\n hasTrendAccess: boolean,\n refreshInterval: number,\n longCardTitles?: boolean,\n}>(), {\n maxTimeframe: TimeframeKeys.THIRTY_DAY,\n overrideTimeframe: undefined,\n dimension: undefined,\n filterValue: undefined,\n additionalFilter: undefined,\n queryReady: true,\n longCardTitles: false,\n})\n\n// Fail early if there's a programming error.\nif (props.dimension && !{}.hasOwnProperty.call(EXPLORE_V2_DIMENSIONS, props.dimension)) {\n throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${props.dimension}`)\n}\n\n// Note: the component implicitly assumes the values it feeds to the composables aren't going to change.\n// If they do need to change, then the `useMetricCardGoldenSignals` composable, and dependencies,\n// needs to be reactive as well. Ideally, this would be the case; we don't have any guarantee that the\n// tier data has finished loading by the time the component mounts, for example.\n\nconst timeframe = computed(() => {\n if (props.overrideTimeframe) {\n // Trust that the host component calculated the timeframe for us.\n return props.overrideTimeframe\n }\n\n const retval = props.hasTrendAccess\n ? TimePeriods.get(props.maxTimeframe)\n : TimePeriods.get(TimeframeKeys.ONE_DAY)\n\n if (!retval) {\n throw new Error('Metrics provider failed to resolve fallback timeframe.')\n }\n\n return retval\n})\n\nconst {\n trafficData,\n latencyData,\n} = defaultFetcherDefs({\n dimension: props.dimension as (EXPLORE_V2_DIMENSIONS | undefined),\n dimensionFilterValue: props.filterValue,\n additionalFilter: toRef(props, 'additionalFilter'),\n queryReady: toRef(props, 'queryReady'),\n timeframe,\n hasTrendAccess: props.hasTrendAccess,\n refreshInterval: props.refreshInterval,\n dataFetcher: props.dataFetcher,\n})\n\nprovide(METRICS_PROVIDER_KEY, {\n data: {\n traffic: trafficData,\n latency: latencyData,\n },\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n})\n\n</script>\n","import { defineComponent as L, resolveComponent as x, openBlock as s, createElementBlock as f, createElementVNode as _, normalizeClass as C, toDisplayString as h, createBlock as k, withCtx as q, createVNode as p, createCommentVNode as S, normalizeStyle as B, unref as M, computed as F, Fragment as b, renderList as O, mergeProps as P } from \"vue\";\nfunction T(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar E = { exports: {} };\n(function(e) {\n (function() {\n function a(r, t) {\n if (t.separator === !1 || r < 1e3)\n return r.toString();\n var i = typeof t.separator == \"string\" ? t.separator : \",\", d = [], v = Math.round(r).toString().split(\"\");\n return v.reverse().forEach(function(V, N) {\n N && N % 3 === 0 && d.push(i), d.push(V);\n }), d.reverse().join(\"\");\n }\n function o(r, t, i) {\n var d = r / t, v = i.round ? \"round\" : \"floor\";\n return i.decimal === !1 ? (r = Math[v](d), r.toString()) : (i.precision ? r = d : r = d < 10 ? Math[v](d * 10) / 10 : Math[v](d), r = r.toString(), typeof i.decimal == \"string\" && (r = r.replace(\".\", i.decimal)), r);\n }\n var u = 1e3, n = 1e4, g = 1e6, c = 1e9, l = 1e12;\n function y(r, t) {\n var i;\n t = t || {};\n var d = r < 0;\n d && (r = Math.abs(r)), t.precision && (r = parseFloat(r.toPrecision(t.precision)));\n var v = t.min10k ? n : u;\n return r < v || t.precision && t.precision > Math.log10(r) ? i = a(o(r, 1, t), t) : r < g ? i = o(r, u, t) + \"k\" : r < c ? i = o(r, g, t) + \"m\" : r < l ? i = a(o(r, c, t), t) + \"b\" : i = a(o(r, l, t), t) + \"t\", d && (i = \"-\" + i), t.capital && (i = i.toUpperCase()), t.prefix && (i = t.prefix + i), t.suffix && (i = i + t.suffix), i;\n }\n y.addCommas = a, e.exports = y;\n })();\n})(E);\nvar w = E.exports;\nconst A = /* @__PURE__ */ T(w);\nvar m = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.ExtraLarge = \"xl\", e))(m || {});\nconst D = 2, z = D + 2, K = (e, a, o = !1) => {\n let u = !a || Number(e.toFixed(z)) === 0 ? 0 : Number(e.toFixed(z)) > 0 ? 1 : -1;\n return o && (u *= -1), u;\n}, $ = (e, a, o) => a ? `${Math.abs(e * 100).toFixed(D)}%` : o, U = (e, a) => a === 0 ? 0 : e / a - 1, R = (e, a = !1) => (a && (e *= -1), e > 0 ? \"arrowUp\" : e < 0 ? \"arrowDown\" : \"noData\"), j = { class: \"metricscard\" }, H = {\n key: 0,\n class: \"metricscard-error\"\n}, G = {\n key: 1,\n class: \"metricscard-value\"\n}, Y = /* @__PURE__ */ L({\n __name: \"MetricsCard\",\n props: {\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n tooltip: {\n type: String,\n required: !1,\n default: \"\"\n },\n timeframe: {\n type: String,\n required: !1,\n default: \"\"\n },\n metricValue: {\n type: String,\n default: \"\"\n },\n metricChange: {\n type: String,\n required: !0\n },\n changePolarity: {\n type: Number,\n required: !0\n },\n icon: {\n type: String,\n default: \"\"\n },\n hasError: {\n type: Boolean,\n default: !1\n },\n errorMessage: {\n type: String,\n default: \"Vitals data error\"\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => \"lg\"\n }\n },\n setup(e) {\n const a = e, o = (c) => {\n const l = {\n red: \"var(--kong-ui-metric-card-trend-negative, var(--red-500, '#d44324'))\",\n green: \"var(--kong-ui-metric-card-trend-positive, var(--green-500, '#07a88d'))\",\n grey: \"var(--kong-ui-metric-card-trend-neutral, var(--grey-500, '#6f7787'))\"\n };\n return c > 0 ? l.green : c < 0 ? l.red : l.grey;\n }, u = (c) => c > 0 ? \"positive\" : c < 0 ? \"negative\" : \"neutral\", n = [m.Medium, m.Large].includes(a.cardSize), g = a.cardSize === m.ExtraLarge ? \"48px\" : [m.Medium, m.Large].includes(a.cardSize) ? \"22px\" : \"16px\";\n return (c, l) => {\n const y = x(\"KIcon\"), r = x(\"KTooltip\");\n return s(), f(\"div\", j, [\n _(\"div\", {\n class: C([\"metricscard-title\", e.cardSize])\n }, [\n _(\"span\", null, h(e.title), 1),\n e.tooltip ? (s(), k(r, {\n key: 0,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: q(() => [\n p(y, {\n icon: \"info\",\n size: \"12\"\n })\n ]),\n _: 1\n }, 8, [\"label\"])) : S(\"\", !0)\n ], 2),\n e.hasError ? (s(), f(\"div\", H, [\n p(y, {\n icon: \"warning\",\n size: \"20\"\n }),\n _(\"div\", null, h(e.errorMessage), 1)\n ])) : (s(), f(\"div\", G, [\n _(\"div\", {\n style: B(`font-size:${M(g)}`)\n }, h(e.metricValue), 5),\n M(n) ? (s(), f(\"div\", {\n key: 0,\n class: C([\"metricscard-value-trend\", u(e.changePolarity)])\n }, [\n e.changePolarity !== 0 ? (s(), k(y, {\n key: 0,\n color: o(e.changePolarity),\n icon: e.icon,\n size: \"18\"\n }, null, 8, [\"color\", \"icon\"])) : S(\"\", !0),\n _(\"div\", null, h(e.metricChange), 1)\n ], 2)) : S(\"\", !0)\n ]))\n ]);\n };\n }\n});\nconst I = (e, a) => {\n const o = e.__vccOpts || e;\n for (const [u, n] of a)\n o[u] = n;\n return o;\n}, J = /* @__PURE__ */ I(Y, [[\"__scopeId\", \"data-v-ee980c4c\"]]);\nconst Q = {}, W = { class: \"loading-tabs\" };\nfunction X(e, a) {\n const o = x(\"KSkeletonBox\");\n return s(), f(\"div\", W, [\n p(o, { width: \"100\" }),\n p(o, { width: \"75\" })\n ]);\n}\nconst Z = /* @__PURE__ */ I(Q, [[\"render\", X], [\"__scopeId\", \"data-v-e4239529\"]]), ee = {\n key: 0,\n class: \"error-display\"\n}, re = {\n key: 0,\n class: \"error-display-message\"\n}, te = /* @__PURE__ */ L({\n __name: \"MetricCardContainer\",\n props: {\n fallbackDisplayText: {\n type: String,\n required: !0\n },\n cards: {\n type: Array,\n required: !0\n },\n errorMessage: {\n type: String,\n required: !1,\n default: \"\"\n },\n loading: {\n type: Boolean,\n required: !1,\n default: !1\n },\n hasTrendAccess: {\n type: Boolean,\n required: !1,\n default: !0\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => m.Large\n }\n },\n setup(e) {\n const a = e, o = F(() => a.cards.every((n) => (n == null ? void 0 : n.hasError) === !0)), u = (n) => {\n const g = U(n.currentValue, n.previousValue) || 0, c = K(g, a.hasTrendAccess, n.increaseIsBad);\n return {\n metricValue: n.formatValueFn ? n.formatValueFn(n.currentValue) : A(n.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: n.formatChangeFn ? n.formatChangeFn(g) : $(g, a.hasTrendAccess, a.fallbackDisplayText),\n changePolarity: c,\n icon: R(c, n.increaseIsBad),\n cardSize: a.cardSize\n };\n };\n return (n, g) => {\n const c = x(\"KIcon\");\n return s(), f(\"div\", {\n class: C([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n M(o) ? (s(), f(\"div\", ee, [\n p(c, {\n class: \"error-display-icon\",\n icon: \"warning\",\n size: \"24\"\n }),\n e.errorMessage ? (s(), f(\"div\", re, h(e.errorMessage), 1)) : S(\"\", !0)\n ])) : (s(!0), f(b, { key: 1 }, O(e.cards, (l, y) => (s(), f(b, null, [\n e.loading ? (s(), k(Z, {\n key: `skeleton-${y}`,\n class: C(e.cardSize === M(m).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (s(), k(J, P({ key: y }, u(l), {\n \"card-size\": e.cardSize,\n \"error-message\": e.errorMessage,\n \"has-error\": l.hasError,\n title: l.title,\n tooltip: l.tooltip\n }), null, 16, [\"card-size\", \"error-message\", \"has-error\", \"title\", \"tooltip\"]))\n ], 64))), 256))\n ], 2);\n };\n }\n});\nconst ie = /* @__PURE__ */ I(te, [[\"__scopeId\", \"data-v-390af84f\"]]);\nexport {\n D as DECIMAL_DISPLAY,\n z as DECIMAL_ROUNDING_PRECISION,\n ie as MetricCardContainer,\n m as MetricCardSize,\n U as calculateChange,\n K as changePolarity,\n R as defineIcon,\n $ as metricChange\n};\n","<template>\n <slot :card-values=\"cardValues\">\n <MetricCardContainer\n v-bind=\"containerOpts\"\n />\n </slot>\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { inject, computed } from 'vue'\nimport { METRICS_PROVIDER_KEY } from './metricsProviderUtil'\nimport type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport { MetricCardSize, DECIMAL_DISPLAY, MetricCardContainer } from '@kong-ui-public/metric-cards'\nimport '@kong-ui-public/metric-cards/dist/style.css'\nimport composables from '../composables'\nimport { ALL_STATUS_CODE_GROUPS, STATUS_CODES_FAILED } from '../constants'\nimport { sumValues } from '../composables/useMetricCardBuilder'\n\ntype CardToDisplay = 'TRAFFIC' | 'ERROR_RATE' | 'LATENCY'\n\nconst props = withDefaults(defineProps<{\n lookupKey?: string\n cardSize?: MetricCardSize\n cardToDisplay?: CardToDisplay\n}>(), {\n lookupKey: undefined,\n cardSize: MetricCardSize.Large,\n cardToDisplay: undefined,\n})\n\nconst providerData = inject(METRICS_PROVIDER_KEY)\n\nif (!providerData) {\n throw new Error('MetricsConsumer must be nested inside a MetricsProvider instance.')\n}\n\nconst { traffic, latency } = providerData.data\n\nconst { i18n } = composables.useI18n()\n\nconst trafficCard = composables.useMetricCardBuilder({\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n})\n\n// Error rate (special case, requires operation)\n// TODO: provide a error rate aggregation in explore later\n// then can use default MetricCardBuilder\nconst formatErrorRate = (val: number) => `${val.toFixed(DECIMAL_DISPLAY)}%`\nconst errorRateCard = computed<MetricCardDef>(() => {\n const record = traffic.mapped.value\n\n const currentErrors = sumValues(record, 'current', props.lookupKey, STATUS_CODES_FAILED)\n const currentTotal = sumValues(record, 'current', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRateCurrent = currentErrors / currentTotal * 100 || 0\n\n const previousErrors = sumValues(record, 'previous', props.lookupKey, STATUS_CODES_FAILED)\n const previousTotal = sumValues(record, 'previous', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRatePrevious = previousErrors / previousTotal * 100 || 0\n\n return {\n hasError: traffic.hasError.value,\n currentValue: errorRateCurrent,\n previousValue: errorRatePrevious,\n formatValueFn: formatErrorRate,\n title: providerData.longCardTitles\n ? i18n.t('metricCard.long.errorRate')\n : i18n.t('metricCard.short.errorRate'),\n increaseIsBad: true,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n})\n\nconst cards: Ref<MetricCardDef[]> = computed(() => {\n if (props.cardToDisplay === 'TRAFFIC') {\n return [trafficCard.value]\n } else if (props.cardToDisplay === 'ERROR_RATE') {\n return [errorRateCard.value]\n } else if (props.cardToDisplay === 'LATENCY') {\n return [latencyCard.value]\n }\n\n return [trafficCard.value, errorRateCard.value, latencyCard.value]\n})\n\nconst isLoading = computed<boolean>(() => {\n if (props.cardToDisplay === 'TRAFFIC' || props.cardToDisplay === 'ERROR_RATE') {\n return traffic.isLoading.value\n } else if (props.cardToDisplay === 'LATENCY') {\n return latency.isLoading.value\n }\n\n return traffic.isLoading.value || latency.isLoading.value\n})\n\n// TODO: per-card loading?\nconst containerOpts = computed(() => ({\n cards: cards.value,\n loading: isLoading.value,\n hasTrendAccess: providerData.hasTrendAccess,\n fallbackDisplayText: i18n.t('general.notAvailable'),\n cardSize: props.cardSize,\n hideTitle: true,\n}))\n\nconst cardValues = computed(() => ({\n loading: containerOpts.value.loading,\n trafficCard: trafficCard.value,\n errorRateCard: errorRateCard.value,\n latencyCard: latencyCard.value,\n errorRateFormatted: formatErrorRate(errorRateCard.value.currentValue),\n latencyFormatted: formatLatency(latencyCard.value.currentValue),\n}))\n\n</script>\n","import type { AnalyticsExploreResult } from '@kong-ui-public/analytics-utilities'\nimport type { ExploreV2Query } from './types'\nimport { EXPLORE_V2_DIMENSIONS } from './types'\nimport type { CyHttpMessages } from 'cypress/types/net-stubbing'\nimport { ALL_STATUS_CODE_GROUPS } from './constants'\n\n// Replicate date-fns `fromUnixTime` here to avoid a dependency.\nconst fromUnixTimeMs = (t: number) => new Date(t)\n\nexport interface MockOptions {\n dimensionNames?: string[]\n injectErrors?: 'latency' | 'traffic' | 'all'\n}\n\nexport const mockExploreResponseFromCypress = (\n req: CyHttpMessages.IncomingHttpRequest,\n opts?: MockOptions,\n) => {\n const body: ExploreV2Query = req.body\n\n const { startMs: qStart, endMs: qEnd } = req.query\n\n const start = typeof qStart !== 'number' ? parseInt(qStart, 10) : qStart\n const end = typeof qEnd !== 'number' ? parseInt(qEnd, 10) : qEnd\n\n req.reply({\n statusCode: 200,\n body: mockExploreResponse(body, start, end, opts),\n })\n}\n\nexport const mockExploreResponse = (\n body: ExploreV2Query,\n start: number,\n end: number,\n opts?: MockOptions,\n) => {\n const granularity = body.granularityMs || 0\n\n const numRecords = granularity ? (end - start) / granularity : 1\n\n if (numRecords !== 1 && numRecords !== 2) {\n throw new Error(\n \"Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?\",\n )\n }\n\n if ((body.dimensions ?? []).length > 2) {\n throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(body.dimensions)}`)\n }\n\n const primaryDimension = (body.dimensions ?? []).find((x) => x !== 'TIME')\n const dimensionNames = opts?.dimensionNames ?? []\n const dimensionLength = Math.max(dimensionNames.length, 1)\n const records: any = []\n\n for (let i = 0; i < numRecords; i++) {\n for (let j = 0; j < dimensionLength; j++) {\n const eventValue: any = primaryDimension\n ? { [primaryDimension]: dimensionNames[j] }\n : {}\n\n if (body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED)) {\n ALL_STATUS_CODE_GROUPS.forEach(code => {\n const event = body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + 100 * j + 1\n return accum\n }, { ...eventValue, STATUS_CODE_GROUPED: code })\n\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event,\n })\n })\n } else {\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event: body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + (100 * j) + 1\n return accum\n }, { ...eventValue }),\n })\n }\n }\n }\n\n const meta = {\n start,\n end,\n granularity,\n dimensions: primaryDimension\n ? {\n [primaryDimension]: dimensionNames,\n ...(body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED) ? { STATUS_CODE_GROUPED: ALL_STATUS_CODE_GROUPS } : {}),\n }\n : {},\n metricNames: body.metrics,\n }\n\n return {\n records,\n meta,\n } as AnalyticsExploreResult\n}\n"],"names":["oe","le","t","e","c","s","o","$","re","de","H","a","n","ce","me","A","De","j","he","pe","Te","ge","ve","i","u","L","z","l","V","we","S","E","Z","Ne","ye","k","h","Me","q","Ie","ae","U","B","Oe","d","b","Ye","Ee","Re","g","D","_e","X","Ue","J","Q","x","Le","Se","ne","C","G","xe","He","Ae","ke","ie","be","I","Ce","se","K","ue","O","v","m","w","F","Ge","Fe","Pe","Y","p","N","_","ee","$e","ze","y","We","P","te","je","Ve","Ze","W","qe","R$1","R","f","st","M","T$1","Qe","T","Xe","Je","Ke","et","tt","useI18n","i18n","createI18n","english","i18nTComponent","EXPLORE_V2_DIMENSIONS","EXPLORE_V2_AGGREGATIONS","EXPLORE_V2_FILTER_TYPES","MAX_ANALYTICS_REQUEST_RETRIES","ALL_STATUS_CODE_GROUPS","STATUS_CODES_FAILED","r","er","ur","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","keyDimension","record","useMetricFetcher","opts","computed","DeltaQueryTime","UnaryQueryTime","query","_b","timeRangeString","cacheKey","additionalFilterKey","_c","_d","raw","metricError","isMetricDataValidating","composables","metricRequestState","STATE","useSwrvState","mapped","_f","_j","_i","_h","_g","sumValues","recordValue","period","dimensionLookupKey","sumGroupedValues","acc","lookup","groupValue","useMetricCardBuilder","title","hasError","increaseIsBad","formatValueFn","currentValue","previousValue","table","counter","hash","args","key","_hash","serializeKeyDefault","SWRVCache","ttl","_key","timeToLive","now","item","serializedKey","_this","current","hasExpired","isOnline","isDocumentVisible","fetcher","url","res","webPreset","__assign","this","__awaiter","thisArg","_arguments","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","verb","op","__read","ar","error","__spreadArray","to","from","pack","DATA_CACHE","REF_CACHE","PROMISES_CACHE","defaultConfig","setRefCache","theRef","refCacheItem","gracePeriod","onErrorRetry","revalidate","errorRetryCount","config","count","timeout","mutate","cache","data","isValidating","err_1","newData","stateRef","refs_1","isPromise","err","idx","isLast","useSWRV","fn","unmounted","isHydrated","instance","getCurrentInstance","vm","IS_SERVER","keyRef","ref","reactive","isFirstFetch","keyVal","cacheItem","shouldRevalidate","trigger","promiseFromCache","fetcherArgs","newPromise","shouldRetryOnError","revalidateCall","timer","onMounted","tick","onUnmounted","watch","val","isReadonly","toRefs","useRequest","response","METRICS_PROVIDER_KEY","defaultFetcherDefs","dimension","dimensionFilterValue","additionalFilter","queryReady","timeframe","hasTrendAccess","refreshInterval","dataFetcher","singleEntityQuery","multiEntityQuery","filter","retval","trafficMetricFetcherOptions","latencyMetricFetcherOptions","trafficData","latencyData","props","TimePeriods","TimeframeKeys","toRef","provide","providerData","inject","traffic","latency","trafficCard","formatErrorRate","DECIMAL_DISPLAY","errorRateCard","currentErrors","currentTotal","errorRateCurrent","previousErrors","previousTotal","errorRatePrevious","formatLatency","latencyCard","cards","isLoading","containerOpts","cardValues","fromUnixTimeMs","mockExploreResponseFromCypress","req","qStart","qEnd","start","end","mockExploreResponse","granularity","numRecords","primaryDimension","dimensionLength","records","eventValue","code","event","accum","agg","meta"],"mappings":"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","x_google_ignoreList":[4,7,8,9,10,15]}
1
+ {"version":3,"file":"vitals-metric-provider.umd.js","sources":["../../analytics-utilities/dist/vitals-utilities.es.js","../src/composables/useI18n.ts","../src/types/explore-types.ts","../src/constants.ts","../../../../node_modules/.pnpm/@kong-ui-public+core@1.1.0_axios@1.4.0_swrv@1.0.4_vue@3.3.4/node_modules/@kong-ui-public/core/dist/core.es.js","../src/composables/useMetricFetcher.ts","../src/composables/useMetricCardBuilder.ts","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/lib/hash.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/cache/index.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/lib/web-preset.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.3.4/node_modules/swrv/esm/use-swrv.js","../src/composables/useRequest.ts","../src/composables/index.ts","../src/components/metricsProviderUtil.ts","../src/components/MetricsProviderInternal.vue","../../../../node_modules/.pnpm/@kong-ui-public+metric-cards@0.2.14_@kong+kongponents@8.123.6_vue@3.3.4/node_modules/@kong-ui-public/metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var oe = Object.defineProperty;\nvar le = (t, e, r) => e in t ? oe(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;\nvar c = (t, e, r) => (le(t, typeof e != \"symbol\" ? e + \"\" : e, r), r);\nvar s = /* @__PURE__ */ ((t) => (t.MINUTELY = \"Minutely\", t.HOURLY = \"Hourly\", t.DAILY = \"Daily\", t.WEEKLY = \"Weekly\", t))(s || {}), o = /* @__PURE__ */ ((t) => (t.FIFTEEN_MIN = \"15m\", t.ONE_HOUR = \"1h\", t.SIX_HOUR = \"6h\", t.TWELVE_HOUR = \"12h\", t.ONE_DAY = \"24h\", t.SEVEN_DAY = \"7d\", t.THIRTY_DAY = \"30d\", t.CURRENT_WEEK = \"current_week\", t.CURRENT_MONTH = \"current_month\", t.CURRENT_QUARTER = \"current_quarter\", t.PREVIOUS_WEEK = \"previous_week\", t.PREVIOUS_MONTH = \"previous_month\", t.PREVIOUS_QUARTER = \"previous_quarter\", t))(o || {}), fe = /* @__PURE__ */ ((t) => (t.DOUGHNUT = \"Doughnut\", t.HORIZONTAL_BAR = \"HorizontalBar\", t.VERTICAL_BAR = \"VerticalBar\", t.TIMESERIES_LINE = \"Line\", t.TIMESERIES_BAR = \"TimeSeriesBar\", t))(fe || {});\nfunction $(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar re = { exports: {} };\n(function(t) {\n function e(r) {\n return r && r.__esModule ? r : {\n default: r\n };\n }\n t.exports = e, t.exports.__esModule = !0, t.exports.default = t.exports;\n})(re);\nvar de = re.exports, H = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a) {\n if (a === null || a === !0 || a === !1)\n return NaN;\n var n = Number(a);\n return isNaN(n) ? n : n < 0 ? Math.ceil(n) : Math.floor(n);\n }\n t.exports = e.default;\n})(H, H.exports);\nvar ce = H.exports;\nconst me = /* @__PURE__ */ $(ce);\nvar A = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a) {\n var n = new Date(Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds(), a.getMilliseconds()));\n return n.setUTCFullYear(a.getFullYear()), a.getTime() - n.getTime();\n }\n t.exports = e.default;\n})(A, A.exports);\nvar De = A.exports;\nconst j = /* @__PURE__ */ $(De);\nfunction he(t, e) {\n var r = pe(e);\n return r.formatToParts ? Te(r, t) : ge(r, t);\n}\nvar ve = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Te(t, e) {\n try {\n for (var r = t.formatToParts(e), a = [], n = 0; n < r.length; n++) {\n var i = ve[r[n].type];\n i >= 0 && (a[i] = parseInt(r[n].value, 10));\n }\n return a;\n } catch (u) {\n if (u instanceof RangeError)\n return [NaN];\n throw u;\n }\n}\nfunction ge(t, e) {\n var r = t.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(r);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar L = {};\nfunction pe(t) {\n if (!L[t]) {\n var e = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\")), r = e === \"06/25/2014, 00:00:00\" || e === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n L[t] = r ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: t,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: t,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return L[t];\n}\nfunction z(t, e, r, a, n, i, u) {\n var l = /* @__PURE__ */ new Date(0);\n return l.setUTCFullYear(t, e, r), l.setUTCHours(a, n, i, u), l;\n}\nvar V = 36e5, we = 6e4, S = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction E(t, e, r) {\n var a, n;\n if (!t || (a = S.timezoneZ.exec(t), a))\n return 0;\n var i;\n if (a = S.timezoneHH.exec(t), a)\n return i = parseInt(a[1], 10), Z(i) ? -(i * V) : NaN;\n if (a = S.timezoneHHMM.exec(t), a) {\n i = parseInt(a[1], 10);\n var u = parseInt(a[2], 10);\n return Z(i, u) ? (n = Math.abs(i) * V + u * we, i > 0 ? -n : n) : NaN;\n }\n if (Ne(t)) {\n e = new Date(e || Date.now());\n var l = r ? e : ye(e), f = k(l, t), h = r ? f : Me(e, f, t);\n return -h;\n }\n return NaN;\n}\nfunction ye(t) {\n return z(\n t.getFullYear(),\n t.getMonth(),\n t.getDate(),\n t.getHours(),\n t.getMinutes(),\n t.getSeconds(),\n t.getMilliseconds()\n );\n}\nfunction k(t, e) {\n var r = he(t, e), a = z(\n r[0],\n r[1] - 1,\n r[2],\n r[3] % 24,\n r[4],\n r[5],\n 0\n ).getTime(), n = t.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction Me(t, e, r) {\n var a = t.getTime(), n = a - e, i = k(new Date(n), r);\n if (e === i)\n return e;\n n -= i - e;\n var u = k(new Date(n), r);\n return i === u ? i : Math.max(i, u);\n}\nfunction Z(t, e) {\n return -23 <= t && t <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar q = {};\nfunction Ne(t) {\n if (q[t])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: t }), q[t] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Ie = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst ae = Ie;\nvar U = 36e5, B = 6e4, Oe = 2, d = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n // 0 additional digits\n /^([+-]\\d{3})$/,\n // 1 additional digit\n /^([+-]\\d{4})$/\n // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n // 0 additional digits\n /^([+-]\\d{5})/,\n // 1 additional digit\n /^([+-]\\d{6})/\n // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: ae\n};\nfunction b(t, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (t === null)\n return /* @__PURE__ */ new Date(NaN);\n var r = e || {}, a = r.additionalDigits == null ? Oe : me(r.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (t instanceof Date || typeof t == \"object\" && Object.prototype.toString.call(t) === \"[object Date]\")\n return new Date(t.getTime());\n if (typeof t == \"number\" || Object.prototype.toString.call(t) === \"[object Number]\")\n return new Date(t);\n if (!(typeof t == \"string\" || Object.prototype.toString.call(t) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ye(t), i = Ee(n.date, a), u = i.year, l = i.restDateString, f = Re(l, u);\n if (isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n if (f) {\n var h = f.getTime(), g = 0, D;\n if (n.time && (g = _e(n.time), isNaN(g)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || r.timeZone) {\n if (D = E(n.timeZone || r.timeZone, new Date(h + g)), isNaN(D))\n return /* @__PURE__ */ new Date(NaN);\n } else\n D = j(new Date(h + g)), D = j(new Date(h + g + D));\n return new Date(h + g + D);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ye(t) {\n var e = {}, r = d.dateTimePattern.exec(t), a;\n if (r ? (e.date = r[1], a = r[3]) : (r = d.datePattern.exec(t), r ? (e.date = r[1], a = r[2]) : (e.date = null, a = t)), a) {\n var n = d.timeZone.exec(a);\n n ? (e.time = a.replace(n[1], \"\"), e.timeZone = n[1].trim()) : e.time = a;\n }\n return e;\n}\nfunction Ee(t, e) {\n var r = d.YYY[e], a = d.YYYYY[e], n;\n if (n = d.YYYY.exec(t) || a.exec(t), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: t.slice(i.length)\n };\n }\n if (n = d.YY.exec(t) || r.exec(t), n) {\n var u = n[1];\n return {\n year: parseInt(u, 10) * 100,\n restDateString: t.slice(u.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Re(t, e) {\n if (e === null)\n return null;\n var r, a, n, i;\n if (t.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (r = d.MM.exec(t), r)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(r[1], 10) - 1, X(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (r = d.DDD.exec(t), r) {\n a = /* @__PURE__ */ new Date(0);\n var u = parseInt(r[1], 10);\n return Ue(e, u) ? (a.setUTCFullYear(e, 0, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (r = d.MMDD.exec(t), r) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(r[1], 10) - 1;\n var l = parseInt(r[2], 10);\n return X(e, n, l) ? (a.setUTCFullYear(e, n, l), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (r = d.Www.exec(t), r)\n return i = parseInt(r[1], 10) - 1, J(e, i) ? Q(e, i) : /* @__PURE__ */ new Date(NaN);\n if (r = d.WwwD.exec(t), r) {\n i = parseInt(r[1], 10) - 1;\n var f = parseInt(r[2], 10) - 1;\n return J(e, i, f) ? Q(e, i, f) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction _e(t) {\n var e, r, a;\n if (e = d.HH.exec(t), e)\n return r = parseFloat(e[1].replace(\",\", \".\")), x(r) ? r % 24 * U : NaN;\n if (e = d.HHMM.exec(t), e)\n return r = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), x(r, a) ? r % 24 * U + a * B : NaN;\n if (e = d.HHMMSS.exec(t), e) {\n r = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return x(r, a, n) ? r % 24 * U + a * B + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Q(t, e, r) {\n e = e || 0, r = r || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + r + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Le = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Se = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction ne(t) {\n return t % 400 === 0 || t % 4 === 0 && t % 100 !== 0;\n}\nfunction X(t, e, r) {\n if (e < 0 || e > 11)\n return !1;\n if (r != null) {\n if (r < 1)\n return !1;\n var a = ne(t);\n if (a && r > Se[e] || !a && r > Le[e])\n return !1;\n }\n return !0;\n}\nfunction Ue(t, e) {\n if (e < 1)\n return !1;\n var r = ne(t);\n return !(r && e > 366 || !r && e > 365);\n}\nfunction J(t, e, r) {\n return !(e < 0 || e > 52 || r != null && (r < 0 || r > 6));\n}\nfunction x(t, e, r) {\n return !(t != null && (t < 0 || t >= 25) || e != null && (e < 0 || e >= 60) || r != null && (r < 0 || r >= 60));\n}\nvar C = { exports: {} }, G = { exports: {} };\n(function(t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = r;\n function r(a, n) {\n if (a == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var i in n)\n Object.prototype.hasOwnProperty.call(n, i) && (a[i] = n[i]);\n return a;\n }\n t.exports = e.default;\n})(G, G.exports);\nvar xe = G.exports;\n(function(t, e) {\n var r = de.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = r(xe);\n function n(i) {\n return (0, a.default)({}, i);\n }\n t.exports = e.default;\n})(C, C.exports);\nvar He = C.exports;\nconst Ae = /* @__PURE__ */ $(He);\nfunction ke(t, e, r) {\n var a = b(t, r), n = E(e, a, !0), i = new Date(a.getTime() - n), u = /* @__PURE__ */ new Date(0);\n return u.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), u.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), u;\n}\nfunction ie(t, e) {\n return -E(t, e);\n}\nfunction be(t, e, r) {\n if (typeof t == \"string\" && !t.match(ae)) {\n var a = Ae(r);\n return a.timeZone = e, b(t, a);\n }\n var n = b(t, r), i = z(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), u = E(e, new Date(i));\n return new Date(i + u);\n}\nconst I = {\n [s.MINUTELY]: 60 * 1e3,\n [s.HOURLY]: 60 * 60 * 1e3,\n [s.DAILY]: 60 * 60 * 24 * 1e3,\n [s.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction at(t, e) {\n return t.map((r) => ({\n value: r,\n label: e.t(`configuration.vitals.reports.granularity.${r}`)\n }));\n}\nfunction Ce(t, e) {\n return t ? {\n duration: t,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction nt(t) {\n return t && Object.values(s).find((r) => t <= I[r]) || null;\n}\nfunction se(t, e, r, a) {\n const n = I[r];\n let i = 0;\n return n >= I[s.DAILY] && (a ? i = -ie(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(t((e.getTime() - i) / n) * n + i);\n}\nfunction K(t, e, r) {\n return se(Math.floor, t, e, r);\n}\nfunction ue(t, e, r) {\n return se(Math.ceil, t, e, r);\n}\nfunction O(t) {\n \"@babel/helpers - typeof\";\n return O = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, O(t);\n}\nfunction v(t) {\n if (t === null || t === !0 || t === !1)\n return NaN;\n var e = Number(t);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction m(t, e) {\n if (e.length < t)\n throw new TypeError(t + \" argument\" + (t > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction w(t) {\n m(1, arguments);\n var e = Object.prototype.toString.call(t);\n return t instanceof Date || O(t) === \"object\" && e === \"[object Date]\" ? new Date(t.getTime()) : typeof t == \"number\" || e === \"[object Number]\" ? new Date(t) : ((typeof t == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction F(t, e) {\n m(2, arguments);\n var r = w(t), a = v(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && r.setDate(r.getDate() + a), r);\n}\nfunction Ge(t, e) {\n m(2, arguments);\n var r = w(t), a = v(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return r;\n var n = r.getDate(), i = new Date(r.getTime());\n i.setMonth(r.getMonth() + a + 1, 0);\n var u = i.getDate();\n return n >= u ? i : (r.setFullYear(i.getFullYear(), i.getMonth(), n), r);\n}\nvar Fe = {};\nfunction Pe() {\n return Fe;\n}\nfunction Y(t, e) {\n var r, a, n, i, u, l, f, h;\n m(1, arguments);\n var g = Pe(), D = v((r = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (u = e.locale) === null || u === void 0 || (l = u.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && n !== void 0 ? n : g.weekStartsOn) !== null && a !== void 0 ? a : (f = g.locale) === null || f === void 0 || (h = f.options) === null || h === void 0 ? void 0 : h.weekStartsOn) !== null && r !== void 0 ? r : 0);\n if (!(D >= 0 && D <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var p = w(t), N = p.getDay(), _ = (N < D ? 7 : 0) + N - D;\n return p.setDate(p.getDate() - _), p.setHours(0, 0, 0, 0), p;\n}\nfunction ee(t) {\n m(1, arguments);\n var e = w(t);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar $e = 60, ze = 3600;\nfunction y(t) {\n m(1, arguments);\n var e = w(t);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction We(t) {\n m(1, arguments);\n var e = w(t), r = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(r, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction P(t) {\n m(1, arguments);\n var e = w(t), r = e.getTime();\n return r;\n}\nfunction te(t) {\n return m(1, arguments), Math.floor(P(t) / 1e3);\n}\nfunction je(t) {\n return m(1, arguments), Math.floor(t * ze);\n}\nfunction Ve(t, e) {\n m(2, arguments);\n var r = v(e);\n return F(t, -r);\n}\nfunction Ze(t) {\n m(1, arguments);\n var e = t / $e;\n return Math.floor(e);\n}\nfunction W(t, e) {\n m(2, arguments);\n var r = v(e);\n return Ge(t, -r);\n}\nfunction qe(t, e) {\n if (m(2, arguments), !e || O(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var r = e.years ? v(e.years) : 0, a = e.months ? v(e.months) : 0, n = e.weeks ? v(e.weeks) : 0, i = e.days ? v(e.days) : 0, u = e.hours ? v(e.hours) : 0, l = e.minutes ? v(e.minutes) : 0, f = e.seconds ? v(e.seconds) : 0, h = W(t, a + r * 12), g = Ve(h, i + n * 7), D = l + u * 60, p = f + D * 60, N = p * 1e3, _ = new Date(g.getTime() - N);\n return _;\n}\nclass R {\n constructor(e, r) {\n c(this, \"timeframe\");\n c(this, \"tz\");\n if (this.constructor === R)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = r;\n }\n calculateStartDate(e, r, a = 1) {\n if (e)\n return new Date(this.endDate().getTime() - this.timeframe.timeframeLengthMs() * a);\n {\n const n = this.endDate(), i = this.timeframe.rawStart(this.tz), u = K(i, r, this.tz), f = (n.getTime() - u.getTime()) * (a - 1);\n return K(\n new Date(i.getTime() - f),\n r,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return Ce(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return te(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return te(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return P(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return P(this.endDate());\n }\n // Return whether the timeframe's bounds are within the allotment for a free tier user.\n withinFreeTier() {\n return this.startDate() >= qe(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass it extends R {\n constructor(r, a, n) {\n super(r, n);\n c(this, \"granularity\");\n a && r.allowedGranularities().has(a) ? this.granularity = a : this.granularity = r.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return ue(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return I[this.granularity];\n }\n}\nclass Be extends R {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return ue(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass st extends Be {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity, 2);\n }\n granularityMs() {\n return this.endDate().getTime() - super.startDate().getTime();\n }\n}\nconst M = (t, e) => new Date(t.getTime() - ie(e, t));\nclass T {\n constructor(e) {\n c(this, \"timeframeText\");\n c(this, \"key\");\n c(this, \"display\");\n c(this, \"timeframeLength\");\n c(this, \"allowedTiers\");\n // defaultResponseGranularity tracks which of the allowed granularities is picked for a given\n // timeframe if the user does not or cannot specify a granularity.\n c(this, \"defaultResponseGranularity\");\n // dataGranularity tracks the granularity of the available data on the server for a specific timeframe.\n // As of writing, it's always the same as the default response granularity, but it may not always be.\n // It controls how timeframes are rounded to ensure complete time buckets from the server.\n c(this, \"dataGranularity\");\n // isRelative impacts whether we take the `floor` or the `ceil` of the start time.\n // If the time range is relative, we want the ceil -- because we take the ceil of the\n // end time to make sure we're showing all the data we can for the last time bucket.\n // If the time range is absolute, we want the floor -- because otherwise we wouldn't be including\n // the first time bucket.\n c(this, \"isRelative\");\n c(this, \"_startCustom\");\n c(this, \"_endCustom\");\n this.display = e.display, this.timeframeText = e.timeframeText, this.key = e.key, this.timeframeLength = e.timeframeLength, this.allowedTiers = e.allowedTiers, this.defaultResponseGranularity = e.defaultResponseGranularity, this.dataGranularity = e.dataGranularity, this.isRelative = e.isRelative, this._startCustom = e.startCustom, this._endCustom = e.endCustom;\n }\n // rawEnd does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryEndSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawEnd(e) {\n return this._endCustom || /* @__PURE__ */ new Date();\n }\n // rawStart does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryStartSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawStart(e) {\n return this._startCustom || new Date(this.rawEnd().getTime() - this.timeframeLengthMs());\n }\n timeframeLengthMs() {\n return this.timeframeLength() * 1e3;\n }\n maximumTimeframeLength() {\n return this.timeframeLength();\n }\n allowedGranularities() {\n const e = /* @__PURE__ */ new Set(), r = this.maximumTimeframeLength() / 3600;\n return r <= 6 && e.add(s.MINUTELY), r >= 2 && r <= 7 * 24 && e.add(s.HOURLY), r >= 2 * 24 && e.add(s.DAILY), r >= 2 * 24 * 14 && e.add(s.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const r = be(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return ke(r, e);\n }\n}\nclass Qe extends T {\n rawStart(e) {\n let r = Y(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (r = M(r, e)), r;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Xe extends T {\n rawStart(e) {\n let r = y(this.tzAdjustedDate(e));\n return e && (r = M(r, e)), r;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Je extends T {\n rawEnd(e) {\n let r = Y(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (r = M(r, e)), r;\n }\n rawStart(e) {\n const r = this.tzAdjustedDate(e);\n let a = Y(r.setDate(r.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = M(a, e)), a;\n }\n}\nclass Ke extends T {\n rawEnd(e) {\n let r = y(this.tzAdjustedDate(e));\n return e && (r = M(r, e)), r;\n }\n rawStart(e) {\n let r = y(W(this.tzAdjustedDate(e), 1));\n return e && (r = M(r, e)), r;\n }\n}\nconst et = /* @__PURE__ */ new Map([\n [\n o.FIFTEEN_MIN,\n new T({\n key: o.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: s.MINUTELY,\n dataGranularity: s.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.ONE_HOUR,\n new T({\n key: o.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: s.MINUTELY,\n dataGranularity: s.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.SIX_HOUR,\n new T({\n key: o.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.TWELVE_HOUR,\n new T({\n key: o.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.ONE_DAY,\n new T({\n key: o.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: s.HOURLY,\n dataGranularity: s.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.SEVEN_DAY,\n new T({\n key: o.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.THIRTY_DAY,\n new T({\n key: o.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n o.CURRENT_WEEK,\n new Qe({\n key: o.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const t = Y(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ee(F(/* @__PURE__ */ new Date(), 1)).getTime() - t.getTime()) / 1e3;\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.CURRENT_MONTH,\n new Xe({\n key: o.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const t = y(/* @__PURE__ */ new Date());\n return (ee(F(/* @__PURE__ */ new Date(), 1)).getTime() - t.getTime()) / 1e3;\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.PREVIOUS_WEEK,\n new Je({\n key: o.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n o.PREVIOUS_MONTH,\n new Ke({\n key: o.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let t = 0;\n const e = y(/* @__PURE__ */ new Date()), r = y(W(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== r.getTimezoneOffset() && (t = tt(e, r)), 60 * 60 * 24 * We((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + je(t);\n },\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction ut(t) {\n const e = new Date(t.start), r = new Date(t.end), a = (r.getTime() - e.getTime()) / 1e3;\n return t.timePeriodsKey && et.get(t.timePeriodsKey) || new T({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: r,\n timeframeLength: () => a,\n defaultResponseGranularity: s.DAILY,\n dataGranularity: s.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ot(t) {\n return {\n ...t.key !== \"custom\" && { timePeriodsKey: t.key },\n start: t.rawStart(),\n end: t.rawEnd()\n };\n}\nfunction lt(t) {\n return {\n key: t.key,\n display: t.display,\n timeframeText: t.timeframeText,\n timeframeLength: () => t.key,\n // Used to generate test IDs for the Kongponent.\n start: () => t.rawStart(),\n end: () => t.rawEnd()\n };\n}\nfunction tt(t, e) {\n return Ze(t.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n fe as ChartTypes,\n st as DeltaQueryTime,\n I as Granularities,\n s as GranularityKeys,\n et as TimePeriods,\n T as Timeframe,\n o as TimeframeKeys,\n it as TimeseriesQueryTime,\n Be as UnaryQueryTime,\n ue as ceilToNearestTimeGrain,\n ut as datePickerSelectionToTimeframe,\n tt as dstOffsetHours,\n K as floorToNearestTimeGrain,\n at as granularitiesToOptions,\n Ce as granularityMsToQuery,\n nt as msToGranularity,\n ot as timeframeToDatepickerSelection,\n lt as timeframeToDatepickerTimeperiod\n};\n//# sourceMappingURL=vitals-utilities.es.js.map\n","import { createI18n, i18nTComponent } from '@kong-ui-public/i18n'\nimport english from '../locales/en.json'\n\nexport default function useI18n() {\n const i18n = createI18n<typeof english>('en-us', english)\n\n return {\n i18n,\n i18nT: i18nTComponent<typeof english>(i18n), // Translation component <i18n-t>\n }\n}\n","// These enums are exported by the package, but eslint doesn't seem to realize this.\n/* eslint-disable no-unused-vars */\nexport enum EXPLORE_V2_DIMENSIONS {\n API_PRODUCT = 'API_PRODUCT',\n API_PRODUCT_VERSION = 'API_PRODUCT_VERSION',\n RUNTIME_GROUP = 'RUNTIME_GROUP',\n GATEWAY_INSTANCE_ID = 'GATEWAY_INSTANCE_ID',\n GATEWAY_SERVICE = 'GATEWAY_SERVICE',\n ROUTE = 'ROUTE',\n APPLICATION = 'APPLICATION',\n STATUS_CODE = 'STATUS_CODE',\n STATUS_CODE_GROUPED = 'STATUS_CODE_GROUPED',\n TIME = 'TIME',\n ORGANIZATION = 'ORGANIZATION',\n}\n\nexport enum EXPLORE_V2_AGGREGATIONS {\n REQUEST_COUNT = 'REQUEST_COUNT',\n REQUEST_PER_MINUTE = 'REQUEST_PER_MINUTE',\n RESPONSE_LATENCY_P99 = 'RESPONSE_LATENCY_P99',\n RESPONSE_LATENCY_P95 = 'RESPONSE_LATENCY_P95',\n RESPONSE_LATENCY_P50 = 'RESPONSE_LATENCY_P50',\n RESPONSE_SIZE_P99 = 'RESPONSE_SIZE_P99',\n RESPONSE_SIZE_P95 = 'RESPONSE_SIZE_P95',\n RESPONSE_SIZE_P50 = 'RESPONSE_SIZE_P50',\n REQUEST_SIZE_P99 = 'REQUEST_SIZE_P99',\n REQUEST_SIZE_P95 = 'REQUEST_SIZE_P95',\n REQUEST_SIZE_P50 = 'REQUEST_SIZE_P50',\n}\n\nexport enum EXPLORE_V2_FILTER_TYPES {\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n}\n\nexport interface ExploreV2Filter {\n dimension: EXPLORE_V2_DIMENSIONS\n type: EXPLORE_V2_FILTER_TYPES\n values: string[]\n}\n\nexport interface ExploreV2Query {\n metrics: EXPLORE_V2_AGGREGATIONS[]\n dimensions?: EXPLORE_V2_DIMENSIONS[]\n filter?: ExploreV2Filter[]\n granularityMs?: number\n meta?: {\n queryId: string\n };\n}\n","export const MAX_ANALYTICS_REQUEST_RETRIES = 2\nexport const ALL_STATUS_CODE_GROUPS = ['1XX', '2XX', '3XX', '4XX', '5XX']\nexport const STATUS_CODES_FAILED = ['4XX', '5XX']\nexport const STATUS_CODES_SUCCESS = ['1XX', '2XX', '3XX']\n","import { ref as q, readonly as ae, computed as fe, nextTick as ie, getCurrentInstance as ye, reactive as Te, onMounted as pe, onUnmounted as Ce, watch as De, isReadonly as Se, toRefs as Oe, watchEffect as Pe } from \"vue\";\nfunction B(r) {\n \"@babel/helpers - typeof\";\n return B = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, B(r);\n}\nfunction A(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction T(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction P(r) {\n T(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || B(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction Ee(r, e) {\n T(2, arguments);\n var t = P(r).getTime(), n = A(e);\n return new Date(t + n);\n}\nvar Me = {};\nfunction K() {\n return Me;\n}\nfunction ke(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction _e(r) {\n return T(1, arguments), r instanceof Date || B(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction xe(r) {\n if (T(1, arguments), !_e(r) && typeof r != \"number\")\n return !1;\n var e = P(r);\n return !isNaN(Number(e));\n}\nfunction We(r, e) {\n T(2, arguments);\n var t = A(e);\n return Ee(r, -t);\n}\nvar Re = 864e5;\nfunction Ue(r) {\n T(1, arguments);\n var e = P(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var n = e.getTime(), a = t - n;\n return Math.floor(a / Re) + 1;\n}\nfunction X(r) {\n T(1, arguments);\n var e = 1, t = P(r), n = t.getUTCDay(), a = (n < e ? 7 : 0) + n - e;\n return t.setUTCDate(t.getUTCDate() - a), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction ve(r) {\n T(1, arguments);\n var e = P(r), t = e.getUTCFullYear(), n = /* @__PURE__ */ new Date(0);\n n.setUTCFullYear(t + 1, 0, 4), n.setUTCHours(0, 0, 0, 0);\n var a = X(n), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = X(i);\n return e.getTime() >= a.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction Ae(r) {\n T(1, arguments);\n var e = ve(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var n = X(t);\n return n;\n}\nvar Le = 6048e5;\nfunction Ye(r) {\n T(1, arguments);\n var e = P(r), t = X(e).getTime() - Ae(e).getTime();\n return Math.round(t / Le) + 1;\n}\nfunction Q(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && a !== void 0 ? a : c.weekStartsOn) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(v >= 0 && v <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var d = P(r), f = d.getUTCDay(), g = (f < v ? 7 : 0) + f - v;\n return d.setUTCDate(d.getUTCDate() - g), d.setUTCHours(0, 0, 0, 0), d;\n}\nfunction he(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = P(r), v = c.getUTCFullYear(), d = K(), f = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = d.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(f >= 1 && f <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var g = /* @__PURE__ */ new Date(0);\n g.setUTCFullYear(v + 1, 0, f), g.setUTCHours(0, 0, 0, 0);\n var b = Q(g, e), p = /* @__PURE__ */ new Date(0);\n p.setUTCFullYear(v, 0, f), p.setUTCHours(0, 0, 0, 0);\n var W = Q(p, e);\n return c.getTime() >= b.getTime() ? v + 1 : c.getTime() >= W.getTime() ? v : v - 1;\n}\nfunction Ne(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : c.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), d = he(r, e), f = /* @__PURE__ */ new Date(0);\n f.setUTCFullYear(d, 0, v), f.setUTCHours(0, 0, 0, 0);\n var g = Q(f, e);\n return g;\n}\nvar Ie = 6048e5;\nfunction Fe(r, e) {\n T(1, arguments);\n var t = P(r), n = Q(t, e).getTime() - Ne(t, e).getTime();\n return Math.round(n / Ie) + 1;\n}\nfunction h(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", n = Math.abs(r).toString(); n.length < e; )\n n = \"0\" + n;\n return t + n;\n}\nvar He = {\n // Year\n y: function(e, t) {\n var n = e.getUTCFullYear(), a = n > 0 ? n : 1 - n;\n return h(t === \"yy\" ? a % 100 : a, t.length);\n },\n // Month\n M: function(e, t) {\n var n = e.getUTCMonth();\n return t === \"M\" ? String(n + 1) : h(n + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return h(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var n = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.toUpperCase();\n case \"aaa\":\n return n;\n case \"aaaaa\":\n return n[0];\n case \"aaaa\":\n default:\n return n === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return h(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return h(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return h(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return h(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var n = t.length, a = e.getUTCMilliseconds(), i = Math.floor(a * Math.pow(10, n - 3));\n return h(i, t.length);\n }\n};\nconst x = He;\nvar N = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, $e = {\n // Era\n G: function(e, t, n) {\n var a = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return n.era(a, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return n.era(a, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return n.era(a, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, n) {\n if (t === \"yo\") {\n var a = e.getUTCFullYear(), i = a > 0 ? a : 1 - a;\n return n.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return x.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, n, a) {\n var i = he(e, a), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var s = o % 100;\n return h(s, 2);\n }\n return t === \"Yo\" ? n.ordinalNumber(o, {\n unit: \"year\"\n }) : h(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var n = ve(e);\n return h(n, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var n = e.getUTCFullYear();\n return h(n, t.length);\n },\n // Quarter\n Q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return h(a, 2);\n case \"Qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(a);\n case \"qq\":\n return h(a, 2);\n case \"qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return x.M(e, t);\n case \"Mo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return n.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return h(a + 1, 2);\n case \"Lo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return n.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, n, a) {\n var i = Fe(e, a);\n return t === \"wo\" ? n.ordinalNumber(i, {\n unit: \"week\"\n }) : h(i, t.length);\n },\n // ISO week of year\n I: function(e, t, n) {\n var a = Ye(e);\n return t === \"Io\" ? n.ordinalNumber(a, {\n unit: \"week\"\n }) : h(a, t.length);\n },\n // Day of the month\n d: function(e, t, n) {\n return t === \"do\" ? n.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : x.d(e, t);\n },\n // Day of year\n D: function(e, t, n) {\n var a = Ue(e);\n return t === \"Do\" ? n.ordinalNumber(a, {\n unit: \"dayOfYear\"\n }) : h(a, t.length);\n },\n // Day of week\n E: function(e, t, n) {\n var a = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return h(o, 2);\n case \"eo\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return n.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return n.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return h(o, t.length);\n case \"co\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return n.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return n.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, n) {\n var a = e.getUTCDay(), i = a === 0 ? 7 : a;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return h(i, t.length);\n case \"io\":\n return n.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, n) {\n var a = e.getUTCHours(), i = a / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a === 12 ? i = N.noon : a === 0 ? i = N.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a >= 17 ? i = N.evening : a >= 12 ? i = N.afternoon : a >= 4 ? i = N.morning : i = N.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, n) {\n if (t === \"ho\") {\n var a = e.getUTCHours() % 12;\n return a === 0 && (a = 12), n.ordinalNumber(a, {\n unit: \"hour\"\n });\n }\n return x.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, n) {\n return t === \"Ho\" ? n.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : x.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, n) {\n var a = e.getUTCHours() % 12;\n return t === \"Ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Hour [1-24]\n k: function(e, t, n) {\n var a = e.getUTCHours();\n return a === 0 && (a = 24), t === \"ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Minute\n m: function(e, t, n) {\n return t === \"mo\" ? n.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : x.m(e, t);\n },\n // Second\n s: function(e, t, n) {\n return t === \"so\" ? n.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : x.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return x.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return ue(o);\n case \"XXXX\":\n case \"XX\":\n return U(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return ue(o);\n case \"xxxx\":\n case \"xx\":\n return U(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + oe(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + oe(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, n, a) {\n var i = a._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return h(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTime();\n return h(o, t.length);\n }\n};\nfunction oe(r, e) {\n var t = r > 0 ? \"-\" : \"+\", n = Math.abs(r), a = Math.floor(n / 60), i = n % 60;\n if (i === 0)\n return t + String(a);\n var o = e || \"\";\n return t + String(a) + o + h(i, 2);\n}\nfunction ue(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + h(Math.abs(r) / 60, 2);\n }\n return U(r, e);\n}\nfunction U(r, e) {\n var t = e || \"\", n = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = h(Math.floor(a / 60), 2), o = h(a % 60, 2);\n return n + i + t + o;\n}\nconst Ve = $e;\nvar le = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, me = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, qe = function(e, t) {\n var n = e.match(/(P+)(p+)?/) || [], a = n[1], i = n[2];\n if (!i)\n return le(e, t);\n var o;\n switch (a) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", le(a, t)).replace(\"{{time}}\", me(i, t));\n}, Ge = {\n p: me,\n P: qe\n};\nconst je = Ge;\nvar Be = [\"D\", \"DD\"], Xe = [\"YY\", \"YYYY\"];\nfunction Qe(r) {\n return Be.indexOf(r) !== -1;\n}\nfunction Je(r) {\n return Xe.indexOf(r) !== -1;\n}\nfunction se(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar Ke = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, ze = function(e, t, n) {\n var a, i = Ke[e];\n return typeof i == \"string\" ? a = i : t === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nconst Ze = ze;\nfunction z(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, n = r.formats[t] || r.formats[r.defaultWidth];\n return n;\n };\n}\nvar et = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, tt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, rt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, nt = {\n date: z({\n formats: et,\n defaultWidth: \"full\"\n }),\n time: z({\n formats: tt,\n defaultWidth: \"full\"\n }),\n dateTime: z({\n formats: rt,\n defaultWidth: \"full\"\n })\n};\nconst at = nt;\nvar it = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, ot = function(e, t, n, a) {\n return it[e];\n};\nconst ut = ot;\nfunction $(r) {\n return function(e, t) {\n var n = t != null && t.context ? String(t.context) : \"standalone\", a;\n if (n === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n a = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var s = r.defaultWidth, l = t != null && t.width ? String(t.width) : r.defaultWidth;\n a = r.values[l] || r.values[s];\n }\n var u = r.argumentCallback ? r.argumentCallback(e) : e;\n return a[u];\n };\n}\nvar lt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, st = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, ct = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, dt = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, ft = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, vt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, ht = function(e, t) {\n var n = Number(e), a = n % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return n + \"st\";\n case 2:\n return n + \"nd\";\n case 3:\n return n + \"rd\";\n }\n return n + \"th\";\n}, mt = {\n ordinalNumber: ht,\n era: $({\n values: lt,\n defaultWidth: \"wide\"\n }),\n quarter: $({\n values: st,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: $({\n values: ct,\n defaultWidth: \"wide\"\n }),\n day: $({\n values: dt,\n defaultWidth: \"wide\"\n }),\n dayPeriod: $({\n values: ft,\n defaultWidth: \"wide\",\n formattingValues: vt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst gt = mt;\nfunction V(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.width, a = n && r.matchPatterns[n] || r.matchPatterns[r.defaultMatchWidth], i = e.match(a);\n if (!i)\n return null;\n var o = i[0], s = n && r.parsePatterns[n] || r.parsePatterns[r.defaultParseWidth], l = Array.isArray(s) ? bt(s, function(v) {\n return v.test(o);\n }) : wt(s, function(v) {\n return v.test(o);\n }), u;\n u = r.valueCallback ? r.valueCallback(l) : l, u = t.valueCallback ? t.valueCallback(u) : u;\n var c = e.slice(o.length);\n return {\n value: u,\n rest: c\n };\n };\n}\nfunction wt(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction bt(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction yt(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = e.match(r.matchPattern);\n if (!n)\n return null;\n var a = n[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var s = e.slice(a.length);\n return {\n value: o,\n rest: s\n };\n };\n}\nvar Tt = /^(\\d+)(th|st|nd|rd)?/i, pt = /\\d+/i, Ct = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, Dt = {\n any: [/^b/i, /^(a|c)/i]\n}, St = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Ot = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Pt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Et = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Mt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, kt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, _t = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, xt = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, Wt = {\n ordinalNumber: yt({\n matchPattern: Tt,\n parsePattern: pt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: V({\n matchPatterns: Ct,\n defaultMatchWidth: \"wide\",\n parsePatterns: Dt,\n defaultParseWidth: \"any\"\n }),\n quarter: V({\n matchPatterns: St,\n defaultMatchWidth: \"wide\",\n parsePatterns: Ot,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: V({\n matchPatterns: Pt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Et,\n defaultParseWidth: \"any\"\n }),\n day: V({\n matchPatterns: Mt,\n defaultMatchWidth: \"wide\",\n parsePatterns: kt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: V({\n matchPatterns: _t,\n defaultMatchWidth: \"any\",\n parsePatterns: xt,\n defaultParseWidth: \"any\"\n })\n};\nconst Rt = Wt;\nvar Ut = {\n code: \"en-US\",\n formatDistance: Ze,\n formatLong: at,\n formatRelative: ut,\n localize: gt,\n match: Rt,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst At = Ut;\nvar Lt = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, Yt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Nt = /^'([^]*?)'?$/, It = /''/g, Ft = /[a-zA-Z]/;\nfunction Ht(r, e, t) {\n var n, a, i, o, s, l, u, c, v, d, f, g, b, p, W, w, m, L;\n T(2, arguments);\n var C = String(e), D = K(), S = (n = (a = t == null ? void 0 : t.locale) !== null && a !== void 0 ? a : D.locale) !== null && n !== void 0 ? n : At, R = A((i = (o = (s = (l = t == null ? void 0 : t.firstWeekContainsDate) !== null && l !== void 0 ? l : t == null || (u = t.locale) === null || u === void 0 || (c = u.options) === null || c === void 0 ? void 0 : c.firstWeekContainsDate) !== null && s !== void 0 ? s : D.firstWeekContainsDate) !== null && o !== void 0 ? o : (v = D.locale) === null || v === void 0 || (d = v.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(R >= 1 && R <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var Y = A((f = (g = (b = (p = t == null ? void 0 : t.weekStartsOn) !== null && p !== void 0 ? p : t == null || (W = t.locale) === null || W === void 0 || (w = W.options) === null || w === void 0 ? void 0 : w.weekStartsOn) !== null && b !== void 0 ? b : D.weekStartsOn) !== null && g !== void 0 ? g : (m = D.locale) === null || m === void 0 || (L = m.options) === null || L === void 0 ? void 0 : L.weekStartsOn) !== null && f !== void 0 ? f : 0);\n if (!(Y >= 0 && Y <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!S.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!S.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var _ = P(r);\n if (!xe(_))\n throw new RangeError(\"Invalid time value\");\n var G = ke(_), H = We(_, G), E = {\n firstWeekContainsDate: R,\n weekStartsOn: Y,\n locale: S,\n _originalDate: _\n }, j = C.match(Yt).map(function(y) {\n var O = y[0];\n if (O === \"p\" || O === \"P\") {\n var M = je[O];\n return M(y, S.formatLong);\n }\n return y;\n }).join(\"\").match(Lt).map(function(y) {\n if (y === \"''\")\n return \"'\";\n var O = y[0];\n if (O === \"'\")\n return $t(y);\n var M = Ve[O];\n if (M)\n return !(t != null && t.useAdditionalWeekYearTokens) && Je(y) && se(y, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Qe(y) && se(y, e, String(r)), M(H, y, S.localize, E);\n if (O.match(Ft))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + O + \"`\");\n return y;\n }).join(\"\");\n return j;\n}\nfunction $t(r) {\n var e = r.match(Nt);\n return e ? e[1].replace(It, \"'\") : r;\n}\nfunction nr() {\n return {\n formatDateBy: (t, n = {}) => {\n if (isNaN(t))\n return null;\n try {\n return new Date(t * 1e3).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n hour12: !1,\n ...n\n });\n } catch {\n return null;\n }\n },\n formatUnixToDate: (t, n) => {\n if (!t)\n return \"\";\n const a = n ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd HH:mm:ss XX\";\n try {\n const i = new Date(t * 1e3);\n return Ht(i, a);\n } catch {\n return \"\";\n }\n }\n };\n}\nfunction ar() {\n return {\n debounce: (e, t) => {\n let n;\n return (...a) => {\n clearTimeout(n), n = window == null ? void 0 : window.setTimeout(() => {\n e(...a);\n }, t);\n };\n }\n };\n}\nfunction ir({ script: r, styles: e, onReady: t }) {\n const n = q(!0), a = q(!0), i = async () => {\n const { libName: l, url: u, type: c } = r;\n if ((c !== void 0 && [\"umd\", \"es\"].includes(c) ? c : \"umd\") === \"es\") {\n await import(\n /* @vite-ignore */\n u\n ), typeof t == \"function\" && await t();\n return;\n }\n const d = l.startsWith(\"kong-ui-\") ? l : `kong-ui-${l}`;\n return window[d] || (window[d] = await new Promise((f, g) => {\n const b = document.createElement(\"script\");\n b.async = !0, b.addEventListener(\"load\", async () => {\n typeof t == \"function\" && await t(), n.value = !1, f(window[d]);\n }), b.addEventListener(\"error\", () => {\n g(new Error(`Could not load '${d}' from ${u}`));\n }), b.src = u, document.head.appendChild(b);\n })), window[d];\n }, o = async (l, u) => {\n var c;\n for (const v of l) {\n const d = document.createElement(\"link\");\n d.type = \"text/css\", d.rel = \"stylesheet\", d.href = v;\n const f = u ? document.querySelector(u) : null, g = u ? (c = f == null ? void 0 : f.shadowRoot) == null ? void 0 : c.children[0] : null;\n if (f && g)\n try {\n g.appendChild(d);\n } catch {\n document.head.appendChild(d);\n }\n else\n document.head.appendChild(d);\n }\n };\n return {\n importPackage: async () => {\n var u, c;\n if (!r || !r.url || typeof window > \"u\" || typeof document > \"u\")\n return;\n const l = fe(() => !!(e && (e != null && e.urls) && (e != null && e.urls.length) && e.shadowRoot));\n if ((!e || !(e != null && e.urls) || !((u = e == null ? void 0 : e.urls) != null && u.length)) && (a.value = !1), e != null && e.urls && ((c = e == null ? void 0 : e.urls) != null && c.length) && !l.value && (await o(e.urls), a.value = !1), (!r.type || r.type === \"umd\") && !l.value)\n return await i();\n await i(), await ie(), n.value = !1, e != null && e.urls && l.value && (await o(e.urls, e == null ? void 0 : e.shadowRoot), await ie(), a.value = !1);\n },\n loadingPackage: ae(n),\n loadingStyles: ae(a)\n };\n}\nvar Z = /* @__PURE__ */ new WeakMap(), ce = 0;\nfunction Vt(r) {\n if (!r.length)\n return \"\";\n for (var e = \"arg\", t = 0; t < r.length; ++t) {\n var n = void 0;\n r[t] === null || typeof r[t] != \"object\" && typeof r[t] != \"function\" ? typeof r[t] == \"string\" ? n = '\"' + r[t] + '\"' : n = String(r[t]) : Z.has(r[t]) ? n = Z.get(r[t]) : (n = ce, Z.set(r[t], ce++)), e += \"@\" + n;\n }\n return e;\n}\nfunction qt(r) {\n if (typeof r == \"function\")\n try {\n r = r();\n } catch {\n r = \"\";\n }\n return Array.isArray(r) ? r = Vt(r) : r = String(r || \"\"), r;\n}\nvar ne = (\n /** @class */\n function() {\n function r(e) {\n e === void 0 && (e = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = e;\n }\n return r.prototype.serializeKey = function(e) {\n return qt(e);\n }, r.prototype.get = function(e) {\n var t = this.serializeKey(e);\n return this.items.get(t);\n }, r.prototype.set = function(e, t, n) {\n var a = this.serializeKey(e), i = n || this.ttl, o = Date.now(), s = {\n data: t,\n createdAt: o,\n expiresAt: i ? o + i : 1 / 0\n };\n this.dispatchExpire(i, s, a), this.items.set(a, s);\n }, r.prototype.dispatchExpire = function(e, t, n) {\n var a = this;\n e && setTimeout(function() {\n var i = Date.now(), o = i >= t.expiresAt;\n o && a.delete(n);\n }, e);\n }, r.prototype.delete = function(e) {\n this.items.delete(e);\n }, r;\n }()\n);\nfunction Gt() {\n return typeof navigator.onLine < \"u\" ? navigator.onLine : !0;\n}\nfunction jt() {\n return typeof document < \"u\" && typeof document.visibilityState < \"u\" ? document.visibilityState !== \"hidden\" : !0;\n}\nvar Bt = function(r) {\n return fetch(r).then(function(e) {\n return e.json();\n });\n};\nconst ee = {\n isOnline: Gt,\n isDocumentVisible: jt,\n fetcher: Bt\n};\nvar k = globalThis && globalThis.__assign || function() {\n return k = Object.assign || function(r) {\n for (var e, t = 1, n = arguments.length; t < n; t++) {\n e = arguments[t];\n for (var a in e)\n Object.prototype.hasOwnProperty.call(e, a) && (r[a] = e[a]);\n }\n return r;\n }, k.apply(this, arguments);\n}, I = globalThis && globalThis.__awaiter || function(r, e, t, n) {\n function a(i) {\n return i instanceof t ? i : new t(function(o) {\n o(i);\n });\n }\n return new (t || (t = Promise))(function(i, o) {\n function s(c) {\n try {\n u(n.next(c));\n } catch (v) {\n o(v);\n }\n }\n function l(c) {\n try {\n u(n.throw(c));\n } catch (v) {\n o(v);\n }\n }\n function u(c) {\n c.done ? i(c.value) : a(c.value).then(s, l);\n }\n u((n = n.apply(r, e || [])).next());\n });\n}, F = globalThis && globalThis.__generator || function(r, e) {\n var t = { label: 0, sent: function() {\n if (i[0] & 1)\n throw i[1];\n return i[1];\n }, trys: [], ops: [] }, n, a, i, o;\n return o = { next: s(0), throw: s(1), return: s(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function s(u) {\n return function(c) {\n return l([u, c]);\n };\n }\n function l(u) {\n if (n)\n throw new TypeError(\"Generator is already executing.\");\n for (; t; )\n try {\n if (n = 1, a && (i = u[0] & 2 ? a.return : u[0] ? a.throw || ((i = a.return) && i.call(a), 0) : a.next) && !(i = i.call(a, u[1])).done)\n return i;\n switch (a = 0, i && (u = [u[0] & 2, i.value]), u[0]) {\n case 0:\n case 1:\n i = u;\n break;\n case 4:\n return t.label++, { value: u[1], done: !1 };\n case 5:\n t.label++, a = u[1], u = [0];\n continue;\n case 7:\n u = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (u[0] === 6 || u[0] === 2)) {\n t = 0;\n continue;\n }\n if (u[0] === 3 && (!i || u[1] > i[0] && u[1] < i[3])) {\n t.label = u[1];\n break;\n }\n if (u[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = u;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(u);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n u = e.call(r, t);\n } catch (c) {\n u = [6, c], a = 0;\n } finally {\n n = i = 0;\n }\n if (u[0] & 5)\n throw u[1];\n return { value: u[0] ? u[1] : void 0, done: !0 };\n }\n}, Xt = globalThis && globalThis.__read || function(r, e) {\n var t = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!t)\n return r;\n var n = t.call(r), a, i = [], o;\n try {\n for (; (e === void 0 || e-- > 0) && !(a = n.next()).done; )\n i.push(a.value);\n } catch (s) {\n o = { error: s };\n } finally {\n try {\n a && !a.done && (t = n.return) && t.call(n);\n } finally {\n if (o)\n throw o.error;\n }\n }\n return i;\n}, Qt = globalThis && globalThis.__spreadArray || function(r, e, t) {\n if (t || arguments.length === 2)\n for (var n = 0, a = e.length, i; n < a; n++)\n (i || !(n in e)) && (i || (i = Array.prototype.slice.call(e, 0, n)), i[n] = e[n]);\n return r.concat(i || Array.prototype.slice.call(e));\n}, ge = new ne(), J = new ne(), te = new ne(), we = {\n cache: ge,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1e3,\n dedupingInterval: 2e3,\n revalidateOnFocus: !0,\n revalidateDebounce: 0,\n shouldRetryOnError: !0,\n errorRetryInterval: 5e3,\n errorRetryCount: 5,\n fetcher: ee.fetcher,\n isOnline: ee.isOnline,\n isDocumentVisible: ee.isDocumentVisible\n};\nfunction Jt(r, e, t) {\n var n = J.get(r);\n if (n)\n n.data.push(e);\n else {\n var a = 5e3;\n J.set(r, [e], t > 0 ? t + a : t);\n }\n}\nfunction Kt(r, e, t) {\n if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && e > t.errorRetryCount)) {\n var n = Math.min(e || 0, t.errorRetryCount), a = n * t.errorRetryInterval;\n setTimeout(function() {\n r(null, { errorRetryCount: n + 1, shouldRetryOnError: !0 });\n }, a);\n }\n}\nvar de = function(r, e, t, n) {\n return t === void 0 && (t = ge), n === void 0 && (n = we.ttl), I(void 0, void 0, void 0, function() {\n var a, i, o, s, l, u, c;\n return F(this, function(v) {\n switch (v.label) {\n case 0:\n if (!Zt(e))\n return [3, 5];\n v.label = 1;\n case 1:\n return v.trys.push([1, 3, , 4]), [4, e];\n case 2:\n return a = v.sent(), [3, 4];\n case 3:\n return s = v.sent(), i = s, [3, 4];\n case 4:\n return [3, 6];\n case 5:\n a = e, v.label = 6;\n case 6:\n if (o = !1, l = { data: a, error: i, isValidating: o }, typeof a < \"u\")\n try {\n t.set(r, l, n);\n } catch (d) {\n console.error(\"swrv(mutate): failed to set cache\", d);\n }\n return u = J.get(r), u && u.data.length && (c = u.data.filter(function(d) {\n return d.key === r;\n }), c.forEach(function(d, f) {\n typeof l.data < \"u\" && (d.data = l.data), d.error = l.error, d.isValidating = l.isValidating;\n var g = f === c.length - 1;\n g || delete c[f];\n }), c = c.filter(Boolean)), [2, l];\n }\n });\n });\n};\nfunction zt() {\n for (var r = this, e = [], t = 0; t < arguments.length; t++)\n e[t] = arguments[t];\n var n, a, i = k({}, we), o = !1, s = !1, l = ye(), u = (l == null ? void 0 : l.proxy) || l;\n if (!u)\n return console.error(\"Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.\"), null;\n var c = (u == null ? void 0 : u.$isServer) || !1;\n e.length >= 1 && (n = e[0]), e.length >= 2 && (a = e[1]), e.length > 2 && (i = k(k({}, i), e[2]));\n var v = c ? i.serverTTL : i.ttl, d = typeof n == \"function\" ? n : q(n);\n typeof a > \"u\" && (a = i.fetcher);\n var f = null;\n f || (f = Te({\n data: void 0,\n error: void 0,\n isValidating: !0,\n key: null\n }));\n var g = function(w, m) {\n return I(r, void 0, void 0, function() {\n var L, C, D, S, R, Y, _, G = this;\n return F(this, function(H) {\n switch (H.label) {\n case 0:\n return L = f.data === void 0, C = d.value, C ? (D = i.cache.get(C), S = D && D.data, f.isValidating = !0, S && (f.data = S.data, f.error = S.error), R = w || a, !R || !i.isDocumentVisible() && !L || (m == null ? void 0 : m.forceRevalidate) !== void 0 && !(m != null && m.forceRevalidate) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : D && (Y = !!(Date.now() - D.createdAt >= i.dedupingInterval || m != null && m.forceRevalidate), !Y) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : (_ = function() {\n return I(G, void 0, void 0, function() {\n var E, j, y, O;\n return F(this, function(M) {\n switch (M.label) {\n case 0:\n return E = te.get(C), E ? [3, 2] : (j = Array.isArray(C) ? C : [C], y = R.apply(void 0, Qt([], Xt(j), !1)), te.set(C, y, i.dedupingInterval), [4, de(C, y, i.cache, v)]);\n case 1:\n return M.sent(), [3, 4];\n case 2:\n return [4, de(C, E.data, i.cache, v)];\n case 3:\n M.sent(), M.label = 4;\n case 4:\n return f.isValidating = !1, te.delete(C), f.error !== void 0 && (O = !o && i.shouldRetryOnError && (m ? m.shouldRetryOnError : !0), O && Kt(g, m ? m.errorRetryCount : 1, i)), [\n 2\n /*return*/\n ];\n }\n });\n });\n }, S && i.revalidateDebounce ? (setTimeout(function() {\n return I(G, void 0, void 0, function() {\n return F(this, function(E) {\n switch (E.label) {\n case 0:\n return o ? [3, 2] : [4, _()];\n case 1:\n E.sent(), E.label = 2;\n case 2:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, i.revalidateDebounce), [3, 3]) : [3, 1])) : [\n 2\n /*return*/\n ];\n case 1:\n return [4, _()];\n case 2:\n H.sent(), H.label = 3;\n case 3:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, b = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(w) {\n return [2, g(null, { shouldRetryOnError: !1 })];\n });\n });\n }, p = null;\n pe(function() {\n var w = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(m) {\n switch (m.label) {\n case 0:\n return !f.error && i.isOnline() ? [4, g()] : [3, 2];\n case 1:\n return m.sent(), [3, 3];\n case 2:\n p && clearTimeout(p), m.label = 3;\n case 3:\n return i.refreshInterval && !o && (p = setTimeout(w, i.refreshInterval)), [\n 2\n /*return*/\n ];\n }\n });\n });\n };\n i.refreshInterval && (p = setTimeout(w, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener(\"visibilitychange\", b, !1), window.addEventListener(\"focus\", b, !1));\n }), Ce(function() {\n o = !0, p && clearTimeout(p), i.revalidateOnFocus && (document.removeEventListener(\"visibilitychange\", b, !1), window.removeEventListener(\"focus\", b, !1));\n var w = J.get(d.value);\n w && (w.data = w.data.filter(function(m) {\n return m !== f;\n }));\n });\n try {\n De(d, function(w) {\n Se(d) || (d.value = w), f.key = w, f.isValidating = !!w, Jt(d.value, f, v), !c && !s && d.value && g(), s = !1;\n }, {\n immediate: !0\n });\n } catch {\n }\n var W = k(k({}, Oe(f)), { mutate: function(w, m) {\n return g(w, k(k({}, m), { forceRevalidate: !0 }));\n } });\n return W;\n}\nfunction Zt(r) {\n return r !== null && typeof r == \"object\" && typeof r.then == \"function\";\n}\nfunction or(r, e, t) {\n const { data: n, error: a, isValidating: i, mutate: o } = zt(r, e, {\n revalidateDebounce: 500,\n revalidateOnFocus: !1,\n dedupingInterval: 100,\n ...t\n });\n return {\n data: fe(() => {\n var l;\n return (l = n.value) == null ? void 0 : l.data;\n }),\n response: n,\n error: a,\n isValidating: i,\n revalidate: o\n };\n}\nvar be = /* @__PURE__ */ ((r) => (r.VALIDATING = \"VALIDATING\", r.VALIDATING_HAS_DATA = \"VALIDATING_HAS_DATA\", r.PENDING = \"PENDING\", r.SUCCESS = \"SUCCESS\", r.SUCCESS_HAS_DATA = \"SUCCESS_HAS_DATA\", r.ERROR = \"ERROR\", r.STALE_IF_ERROR = \"STALE_IF_ERROR\", r))(be || {});\nconst er = (r) => {\n var e, t, n, a, i;\n return r ? !!// TODO: revisit: currently only the first check ever matters?\n ((e = Object.keys(r)) != null && e.length || (t = r.data) != null && t.length || (a = (n = r.data) == null ? void 0 : n.data) != null && a.length || !((i = r.data) != null && i.data) && typeof r.data == \"object\" && Object.keys(r == null ? void 0 : r.data).length) : !1;\n};\nfunction ur(r = q({}), e, t, n = er) {\n const a = q(\n \"PENDING\"\n /* PENDING */\n );\n return Pe(() => {\n const i = n(r.value);\n if (r.value && i && t.value) {\n a.value = \"VALIDATING_HAS_DATA\";\n return;\n }\n if (r.value && t.value) {\n a.value = \"VALIDATING\";\n return;\n }\n if (r.value && e.value) {\n a.value = \"STALE_IF_ERROR\";\n return;\n }\n if (r.value === void 0 && !e.value) {\n a.value = \"PENDING\";\n return;\n }\n if (r.value && !e.value && i) {\n a.value = \"SUCCESS_HAS_DATA\";\n return;\n }\n if (r.value && !e.value) {\n a.value = \"SUCCESS\";\n return;\n }\n r.value === void 0 && e && (a.value = \"ERROR\");\n }), {\n state: a,\n swrvState: be\n };\n}\nconst re = \"khcp-user-table-preferences\", tr = {\n pageSize: 30,\n sortColumnKey: void 0,\n sortColumnOrder: void 0\n};\nfunction lr() {\n const r = (i) => {\n if (typeof i == \"string\")\n try {\n return JSON.parse(i);\n } catch (o) {\n console.error(\"useTablePreferences(tryParseJson)\", o);\n return;\n }\n }, e = () => {\n const i = r(localStorage.getItem(re));\n return !i || !Object.keys(i).length ? /* @__PURE__ */ new Map() : new Map(Object.entries(i));\n };\n return {\n setTablePreferences: (i, o) => {\n try {\n const s = e();\n s.set(i, o), localStorage.setItem(re, JSON.stringify(Object.fromEntries(s.entries())));\n } catch (s) {\n console.error(\"useTablePreferences(setTablePreferences)\", s);\n }\n },\n getTablePreferences: (i) => {\n const o = e();\n return (o == null ? void 0 : o.get(i)) || void 0 || tr;\n },\n deleteAllTablePreferences: () => {\n localStorage.removeItem(re);\n }\n };\n}\nfunction sr() {\n const r = () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.search) || \"\";\n };\n return {\n getLocationSearch: r,\n getLocationHostname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.hostname) || \"\";\n },\n getLocationHref: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.href) || \"\";\n },\n getLocationPathname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.pathname) || \"\";\n },\n getLocationOrigin: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.origin) || \"\";\n },\n getUrlSearchParams: () => new URLSearchParams(r()),\n setLocationAssign: (l) => {\n window.location.assign(l);\n },\n setLocationReplace: (l) => {\n window.location.replace(l);\n }\n };\n}\nexport {\n tr as DEFAULT_USER_TABLE_PREFERENCES,\n re as USER_TABLE_PREFERENCES_LOCAL_STORAGE_KEY,\n nr as useDate,\n ar as useDebounce,\n ir as usePackage,\n or as useSwrvRequest,\n ur as useSwrvState,\n lr as useTablePreferences,\n sr as useWindow\n};\n","import type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport { DeltaQueryTime, UnaryQueryTime } from '@kong-ui-public/analytics-utilities'\nimport type { AnalyticsExploreV2Result, QueryTime } from '@kong-ui-public/analytics-utilities'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { EXPLORE_V2_AGGREGATIONS, ExploreV2Query, MetricFetcherOptions } from '../types'\nimport { MAX_ANALYTICS_REQUEST_RETRIES } from '../constants'\nimport composables from '.'\nimport type { AxiosResponse } from 'axios'\nimport { useSwrvState } from '@kong-ui-public/core'\n\nexport const DEFAULT_KEY = Symbol('default')\nexport type MappedMetrics = Record<string | typeof DEFAULT_KEY, Record<string | typeof DEFAULT_KEY, number>>\n\n// This dimension is special: metric cards are never going to group on this dimension\n// except in order to determine traffic and error rate information.\nconst ERROR_RATE_DIMENSION = EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED\n\nexport interface ChronologicalMappedMetrics {\n current: MappedMetrics\n previous: MappedMetrics\n}\n\nexport interface FetcherResult {\n isLoading: Ref<boolean>\n hasError: Ref<boolean>\n raw: Ref<AxiosResponse<AnalyticsExploreV2Result, any> | undefined>\n mapped: Ref<ChronologicalMappedMetrics>\n}\n\nconst setMetric = (result: ChronologicalMappedMetrics, time: 'previous' | 'current', topLevelKey: string | typeof DEFAULT_KEY, secondLevelKey: string | typeof DEFAULT_KEY, metricValue: number) => {\n if (!result[time][topLevelKey]) {\n result[time][topLevelKey] = {} as Record<string | typeof DEFAULT_KEY, number>\n }\n result[time][topLevelKey][secondLevelKey] = metricValue\n}\n\nexport function buildDeltaMapping(result: AnalyticsExploreV2Result, queryTime: QueryTime, withTrend: boolean): ChronologicalMappedMetrics {\n // We should always have metric names in the result; if they're not present, just pick something that won't crash.\n const metricName = result.meta.metricNames?.[0] || ''\n\n // We only ever have 2 dimensions in the response if the second dimension is STATUS_CODE_GROUPED.\n // TIME doesn't show up in the response.\n // Assert that this is the case; raise a reportable error if not.\n const dimensionNames = Object.keys(result.meta.dimensions || {})\n const hasErrorRateDimension = !!dimensionNames.find(k => k === ERROR_RATE_DIMENSION)\n const keyDimension = dimensionNames.find(k => k !== ERROR_RATE_DIMENSION)\n\n if (dimensionNames.length > 2 || (dimensionNames.length > 1 && !hasErrorRateDimension)) {\n console.error(\"Don't know how to work with provided dimensions:\", dimensionNames)\n return {\n previous: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n current: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n }\n }\n\n // Go through each record and add it to the correct group.\n // Explore always returns results sorted in ascending order by time.\n return result.records.reduce<ChronologicalMappedMetrics>((result, record) => {\n const metricValue = record.event[metricName] as number\n\n // If we have dimensions, then index the results based on the dimension name.\n // If we don't have dimensions, insert a synthetic key (DEFAULT_KEY).\n const topLevelKey = keyDimension ? record.event[keyDimension] as string : DEFAULT_KEY\n\n // If we have the error rate key, then index the 2nd level results based on that.\n // Otherwise, insert a synthetic key (DEFAULT_KEY).\n const secondLevelKey = hasErrorRateDimension ? record.event[ERROR_RATE_DIMENSION] as string : DEFAULT_KEY\n\n // The records are in ascending order, so the first record is the earliest.\n // If the timestamp of the current record is the same as the query start date, it belongs to\n // the previous group, otherwise it belongs to the current group.\n if (new Date(record.timestamp).getTime() === queryTime.startDate().getTime() && withTrend) {\n setMetric(result, 'previous', topLevelKey, secondLevelKey, metricValue)\n } else {\n setMetric(result, 'current', topLevelKey, secondLevelKey, metricValue)\n }\n\n return result\n }, {\n previous: {},\n current: {},\n } as ChronologicalMappedMetrics)\n}\n\nexport default function useMetricFetcher(opts: MetricFetcherOptions): FetcherResult {\n if (opts.queryReady === undefined) {\n opts.queryReady = computed(() => true)\n }\n\n const queryTime: Ref<QueryTime> = computed(() => {\n return opts.withTrend ? new DeltaQueryTime(opts.timeframe.value) : new UnaryQueryTime(opts.timeframe.value)\n })\n\n const query: Ref<ExploreV2Query> = computed(() => ({\n metrics: opts.metrics as EXPLORE_V2_AGGREGATIONS[],\n dimensions: [\n ...(opts.dimensions?.length ? [...opts.dimensions as EXPLORE_V2_DIMENSIONS[]] : []),\n ...(opts.withTrend ? [EXPLORE_V2_DIMENSIONS.TIME] : []),\n ],\n granularityMs: queryTime.value.granularityMs(),\n ...(opts.filter.value?.length ? { filter: opts.filter.value } : {}),\n }))\n\n const timeRangeString = computed(() => `${queryTime.value.endDate().toString()}-${queryTime.value.startDate().toString()}`)\n const cacheKey: Ref<string | null> = computed(() => {\n if (!opts.queryReady?.value || (opts.featureFlags && !opts.featureFlags.every(e => e))) {\n return null\n }\n\n const additionalFilterKey = opts.filter?.value ? JSON.stringify(opts.filter.value) : ''\n // need to have some uniqueness in the cache key to avoid collisions.\n // this was happening when there are multiple providers on the same page with the same dimensions and metrics.\n // For example the singleProvider and multiProvider that appear in the test harness.\n return `metric-fetcher-${timeRangeString.value}-${opts.dimensions?.join('-')}-${opts.metrics?.join('-')}-${additionalFilterKey}`\n })\n\n const { response: raw, error: metricError, isValidating: isMetricDataValidating } = composables.useRequest<AnalyticsExploreV2Result>(\n () => cacheKey.value,\n () => opts.dataFetcher(queryTime.value, query.value),\n {\n refreshInterval: opts.refreshInterval,\n revalidateOnFocus: false,\n errorRetryCount: MAX_ANALYTICS_REQUEST_RETRIES,\n },\n )\n\n const { state: metricRequestState, swrvState: STATE } = useSwrvState(raw, metricError, isMetricDataValidating)\n\n const mapped = computed<ChronologicalMappedMetrics>(() => {\n if (!raw.value?.data?.records?.length || !raw.value?.data?.meta?.dimensions || !raw.value?.data?.meta?.metricNames?.length) {\n // Invalid or empty result.\n return { current: {}, previous: {} } as ChronologicalMappedMetrics\n }\n\n return buildDeltaMapping(raw.value.data, queryTime.value, !!opts.withTrend)\n })\n\n return {\n isLoading: computed(() => STATE.PENDING === metricRequestState.value),\n hasError: computed(() => STATE.ERROR === metricRequestState.value),\n raw,\n mapped,\n }\n}\n","import type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport type { ChronologicalMappedMetrics } from './useMetricFetcher'\nimport { DEFAULT_KEY } from './useMetricFetcher'\n\nexport interface BuilderOptions {\n title: Ref<string>,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n}\n\nexport const sumValues = (recordValue: ChronologicalMappedMetrics, period: 'current' | 'previous', dimensionLookupKey: string | typeof DEFAULT_KEY = DEFAULT_KEY, sumGroupedValues?: string[]) => {\n const groupedValueKey: string[] | (typeof DEFAULT_KEY)[] = sumGroupedValues ?? [DEFAULT_KEY]\n\n // @ts-ignore: TS can't seem to handle the fact that `groupedValueKey` has a union type.\n return groupedValueKey.reduce((acc: number, lookup: string | typeof DEFAULT_KEY) => {\n const groupValue = recordValue[period][dimensionLookupKey]\n if (groupValue) {\n return acc + (groupValue[lookup] || 0)\n }\n\n return acc\n }, 0)\n}\n\nexport default function useMetricCardBuilder(opts: BuilderOptions): Ref<MetricCardDef> {\n const {\n title,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n } = opts\n\n return computed<MetricCardDef>(() => {\n let currentValue = 0\n let previousValue = 0\n\n if (record?.value) {\n try {\n currentValue = sumValues(record.value, 'current', opts.lookupKey, opts.sumGroupedValues)\n previousValue = sumValues(record.value, 'previous', opts.lookupKey, opts.sumGroupedValues)\n } catch (e) {\n // Values default to 0 if this happens.\n console.error(\n \"Metric card data doesn't have the expected structure:\",\n e,\n )\n }\n }\n\n return {\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n }\n })\n}\n","// From https://github.com/vercel/swr/blob/master/src/libs/hash.ts\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nvar table = new WeakMap();\n// counter of the key\nvar counter = 0;\n// hashes an array of objects and returns a string\nexport default function hash(args) {\n if (!args.length)\n return '';\n var key = 'arg';\n for (var i = 0; i < args.length; ++i) {\n var _hash = void 0;\n if (args[i] === null ||\n (typeof args[i] !== 'object' && typeof args[i] !== 'function')) {\n // need to consider the case that args[i] is a string:\n // args[i] _hash\n // \"undefined\" -> '\"undefined\"'\n // undefined -> 'undefined'\n // 123 -> '123'\n // null -> 'null'\n // \"null\" -> '\"null\"'\n if (typeof args[i] === 'string') {\n _hash = '\"' + args[i] + '\"';\n }\n else {\n _hash = String(args[i]);\n }\n }\n else {\n if (!table.has(args[i])) {\n _hash = counter;\n table.set(args[i], counter++);\n }\n else {\n _hash = table.get(args[i]);\n }\n }\n key += '@' + _hash;\n }\n return key;\n}\n//# sourceMappingURL=hash.js.map","import hash from '../lib/hash';\nfunction serializeKeyDefault(key) {\n if (typeof key === 'function') {\n try {\n key = key();\n }\n catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n if (Array.isArray(key)) {\n key = hash(key);\n }\n else {\n // convert null to ''\n key = String(key || '');\n }\n return key;\n}\nvar SWRVCache = /** @class */ (function () {\n function SWRVCache(ttl) {\n if (ttl === void 0) { ttl = 0; }\n this.items = new Map();\n this.ttl = ttl;\n }\n SWRVCache.prototype.serializeKey = function (key) {\n return serializeKeyDefault(key);\n };\n SWRVCache.prototype.get = function (k) {\n var _key = this.serializeKey(k);\n return this.items.get(_key);\n };\n SWRVCache.prototype.set = function (k, v, ttl) {\n var _key = this.serializeKey(k);\n var timeToLive = ttl || this.ttl;\n var now = Date.now();\n var item = {\n data: v,\n createdAt: now,\n expiresAt: timeToLive ? now + timeToLive : Infinity\n };\n this.dispatchExpire(timeToLive, item, _key);\n this.items.set(_key, item);\n };\n SWRVCache.prototype.dispatchExpire = function (ttl, item, serializedKey) {\n var _this = this;\n ttl && setTimeout(function () {\n var current = Date.now();\n var hasExpired = current >= item.expiresAt;\n if (hasExpired)\n _this.delete(serializedKey);\n }, ttl);\n };\n SWRVCache.prototype.delete = function (serializedKey) {\n this.items.delete(serializedKey);\n };\n return SWRVCache;\n}());\nexport default SWRVCache;\n//# sourceMappingURL=index.js.map","function isOnline() {\n if (typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n // always assume it's online\n return true;\n}\nfunction isDocumentVisible() {\n if (typeof document !== 'undefined' &&\n typeof document.visibilityState !== 'undefined') {\n return document.visibilityState !== 'hidden';\n }\n // always assume it's visible\n return true;\n}\nvar fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };\nexport default {\n isOnline: isOnline,\n isDocumentVisible: isDocumentVisible,\n fetcher: fetcher\n};\n//# sourceMappingURL=web-preset.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/** ____\n *--------------/ \\.------------------/\n * / swrv \\. / //\n * / / /\\. / //\n * / _____/ / \\. /\n * / / ____/ . \\. /\n * / \\ \\_____ \\. /\n * / . \\_____ \\ \\ / //\n * \\ _____/ / ./ / //\n * \\ / _____/ ./ /\n * \\ / / . ./ /\n * \\ / / ./ /\n * . \\/ ./ / //\n * \\ ./ / //\n * \\.. / /\n * . ||| /\n * ||| /\n * . ||| / //\n * ||| / //\n * ||| /\n */\nimport { reactive, watch, ref, toRefs, \n// isRef,\nonMounted, onUnmounted, getCurrentInstance, isReadonly } from 'vue';\nimport webPreset from './lib/web-preset';\nimport SWRVCache from './cache';\nvar DATA_CACHE = new SWRVCache();\nvar REF_CACHE = new SWRVCache();\nvar PROMISES_CACHE = new SWRVCache();\nvar defaultConfig = {\n cache: DATA_CACHE,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1000,\n dedupingInterval: 2000,\n revalidateOnFocus: true,\n revalidateDebounce: 0,\n shouldRetryOnError: true,\n errorRetryInterval: 5000,\n errorRetryCount: 5,\n fetcher: webPreset.fetcher,\n isOnline: webPreset.isOnline,\n isDocumentVisible: webPreset.isDocumentVisible\n};\n/**\n * Cache the refs for later revalidation\n */\nfunction setRefCache(key, theRef, ttl) {\n var refCacheItem = REF_CACHE.get(key);\n if (refCacheItem) {\n refCacheItem.data.push(theRef);\n }\n else {\n // #51 ensures ref cache does not evict too soon\n var gracePeriod = 5000;\n REF_CACHE.set(key, [theRef], ttl > 0 ? ttl + gracePeriod : ttl);\n }\n}\nfunction onErrorRetry(revalidate, errorRetryCount, config) {\n if (!config.isDocumentVisible()) {\n return;\n }\n if (config.errorRetryCount !== undefined && errorRetryCount > config.errorRetryCount) {\n return;\n }\n var count = Math.min(errorRetryCount || 0, config.errorRetryCount);\n var timeout = count * config.errorRetryInterval;\n setTimeout(function () {\n revalidate(null, { errorRetryCount: count + 1, shouldRetryOnError: true });\n }, timeout);\n}\n/**\n * Main mutation function for receiving data from promises to change state and\n * set data cache\n */\nvar mutate = function (key, res, cache, ttl) {\n if (cache === void 0) { cache = DATA_CACHE; }\n if (ttl === void 0) { ttl = defaultConfig.ttl; }\n return __awaiter(void 0, void 0, void 0, function () {\n var data, error, isValidating, err_1, newData, stateRef, refs_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isPromise(res)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, res];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n error = err_1;\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n data = res;\n _a.label = 6;\n case 6:\n // eslint-disable-next-line prefer-const\n isValidating = false;\n newData = { data: data, error: error, isValidating: isValidating };\n if (typeof data !== 'undefined') {\n try {\n cache.set(key, newData, ttl);\n }\n catch (err) {\n console.error('swrv(mutate): failed to set cache', err);\n }\n }\n stateRef = REF_CACHE.get(key);\n if (stateRef && stateRef.data.length) {\n refs_1 = stateRef.data.filter(function (r) { return r.key === key; });\n refs_1.forEach(function (r, idx) {\n if (typeof newData.data !== 'undefined') {\n r.data = newData.data;\n }\n r.error = newData.error;\n r.isValidating = newData.isValidating;\n var isLast = idx === refs_1.length - 1;\n if (!isLast) {\n // Clean up refs that belonged to old keys\n delete refs_1[idx];\n }\n });\n refs_1 = refs_1.filter(Boolean);\n }\n return [2 /*return*/, newData];\n }\n });\n });\n};\nfunction useSWRV() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var key;\n var fn;\n var config = __assign({}, defaultConfig);\n var unmounted = false;\n var isHydrated = false;\n var instance = getCurrentInstance();\n var vm = (instance === null || instance === void 0 ? void 0 : instance.proxy) || instance; // https://github.com/vuejs/composition-api/pull/520\n if (!vm) {\n console.error('Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.');\n return null;\n }\n var IS_SERVER = (vm === null || vm === void 0 ? void 0 : vm.$isServer) || false;\n // #region ssr\n /**\n const isSsrHydration = Boolean(\n \\!IS_SERVER &&\n vm.$vnode &&\n vm.$vnode.elm &&\n vm.$vnode.elm.dataset &&\n vm.$vnode.elm.dataset.swrvKey)\n */\n // #endregion\n if (args.length >= 1) {\n key = args[0];\n }\n if (args.length >= 2) {\n fn = args[1];\n }\n if (args.length > 2) {\n config = __assign(__assign({}, config), args[2]);\n }\n var ttl = IS_SERVER ? config.serverTTL : config.ttl;\n var keyRef = typeof key === 'function' ? key : ref(key);\n if (typeof fn === 'undefined') {\n // use the global fetcher\n fn = config.fetcher;\n }\n var stateRef = null;\n // #region ssr\n // if (isSsrHydration) {\n // // component was ssrHydrated, so make the ssr reactive as the initial data\n // const swrvState = (window as any).__SWRV_STATE__ ||\n // ((window as any).__NUXT__ && (window as any).__NUXT__.swrv) || []\n // const swrvKey = +(vm as any).$vnode.elm.dataset.swrvKey\n // if (swrvKey !== undefined && swrvKey !== null) {\n // const nodeState = swrvState[swrvKey] || []\n // const instanceState = nodeState[isRef(keyRef) ? keyRef.value : keyRef()]\n // if (instanceState) {\n // stateRef = reactive(instanceState)\n // isHydrated = true\n // }\n // }\n // }\n // #endregion\n if (!stateRef) {\n stateRef = reactive({\n data: undefined,\n error: undefined,\n isValidating: true,\n key: null\n });\n }\n /**\n * Revalidate the cache, mutate data\n */\n var revalidate = function (data, opts) { return __awaiter(_this, void 0, void 0, function () {\n var isFirstFetch, keyVal, cacheItem, newData, fetcher, shouldRevalidate, trigger;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFirstFetch = stateRef.data === undefined;\n keyVal = keyRef.value;\n if (!keyVal) {\n return [2 /*return*/];\n }\n cacheItem = config.cache.get(keyVal);\n newData = cacheItem && cacheItem.data;\n stateRef.isValidating = true;\n if (newData) {\n stateRef.data = newData.data;\n stateRef.error = newData.error;\n }\n fetcher = data || fn;\n if (!fetcher ||\n (!config.isDocumentVisible() && !isFirstFetch) ||\n ((opts === null || opts === void 0 ? void 0 : opts.forceRevalidate) !== undefined && !(opts === null || opts === void 0 ? void 0 : opts.forceRevalidate))) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n // Dedupe items that were created in the last interval #76\n if (cacheItem) {\n shouldRevalidate = Boolean(((Date.now() - cacheItem.createdAt) >= config.dedupingInterval) || (opts === null || opts === void 0 ? void 0 : opts.forceRevalidate));\n if (!shouldRevalidate) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n }\n trigger = function () { return __awaiter(_this, void 0, void 0, function () {\n var promiseFromCache, fetcherArgs, newPromise, shouldRetryOnError;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promiseFromCache = PROMISES_CACHE.get(keyVal);\n if (!!promiseFromCache) return [3 /*break*/, 2];\n fetcherArgs = Array.isArray(keyVal) ? keyVal : [keyVal];\n newPromise = fetcher.apply(void 0, __spreadArray([], __read(fetcherArgs), false));\n PROMISES_CACHE.set(keyVal, newPromise, config.dedupingInterval);\n return [4 /*yield*/, mutate(keyVal, newPromise, config.cache, ttl)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mutate(keyVal, promiseFromCache.data, config.cache, ttl)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n stateRef.isValidating = false;\n PROMISES_CACHE.delete(keyVal);\n if (stateRef.error !== undefined) {\n shouldRetryOnError = !unmounted && config.shouldRetryOnError && (opts ? opts.shouldRetryOnError : true);\n if (shouldRetryOnError) {\n onErrorRetry(revalidate, opts ? opts.errorRetryCount : 1, config);\n }\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (!(newData && config.revalidateDebounce)) return [3 /*break*/, 1];\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!unmounted) return [3 /*break*/, 2];\n return [4 /*yield*/, trigger()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, config.revalidateDebounce);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, trigger()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n var revalidateCall = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, revalidate(null, { shouldRetryOnError: false })];\n }); }); };\n var timer = null;\n /**\n * Setup polling\n */\n onMounted(function () {\n var tick = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!stateRef.error && config.isOnline())) return [3 /*break*/, 2];\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n return [4 /*yield*/, revalidate()];\n case 1:\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (timer) {\n clearTimeout(timer);\n }\n _a.label = 3;\n case 3:\n if (config.refreshInterval && !unmounted) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (config.refreshInterval) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n if (config.revalidateOnFocus) {\n document.addEventListener('visibilitychange', revalidateCall, false);\n window.addEventListener('focus', revalidateCall, false);\n }\n });\n /**\n * Teardown\n */\n onUnmounted(function () {\n unmounted = true;\n if (timer) {\n clearTimeout(timer);\n }\n if (config.revalidateOnFocus) {\n document.removeEventListener('visibilitychange', revalidateCall, false);\n window.removeEventListener('focus', revalidateCall, false);\n }\n var refCacheItem = REF_CACHE.get(keyRef.value);\n if (refCacheItem) {\n refCacheItem.data = refCacheItem.data.filter(function (ref) { return ref !== stateRef; });\n }\n });\n // #region ssr\n // if (IS_SERVER) {\n // // make sure srwv exists in ssrContext\n // let swrvRes = []\n // if (vm.$ssrContext) {\n // swrvRes = vm.$ssrContext.swrv = vm.$ssrContext.swrv || swrvRes\n // }\n // const ssrKey = swrvRes.length\n // if (!vm.$vnode || (vm.$node && !vm.$node.data)) {\n // vm.$vnode = {\n // data: { attrs: { 'data-swrv-key': ssrKey } }\n // }\n // }\n // const attrs = (vm.$vnode.data.attrs = vm.$vnode.data.attrs || {})\n // attrs['data-swrv-key'] = ssrKey\n // // Nuxt compatibility\n // if (vm.$ssrContext && vm.$ssrContext.nuxt) {\n // vm.$ssrContext.nuxt.swrv = swrvRes\n // }\n // onServerPrefetch(async () => {\n // await revalidate()\n // if (!swrvRes[ssrKey]) swrvRes[ssrKey] = {}\n // swrvRes[ssrKey][keyRef.value] = {\n // data: stateRef.data,\n // error: stateRef.error,\n // isValidating: stateRef.isValidating\n // }\n // })\n // }\n // #endregion\n /**\n * Revalidate when key dependencies change\n */\n try {\n watch(keyRef, function (val) {\n if (!isReadonly(keyRef)) {\n keyRef.value = val;\n }\n stateRef.key = val;\n stateRef.isValidating = Boolean(val);\n setRefCache(keyRef.value, stateRef, ttl);\n if (!IS_SERVER && !isHydrated && keyRef.value) {\n revalidate();\n }\n isHydrated = false;\n }, {\n immediate: true\n });\n }\n catch (_a) {\n // do nothing\n }\n var res = __assign(__assign({}, toRefs(stateRef)), { mutate: function (data, opts) { return revalidate(data, __assign(__assign({}, opts), { forceRevalidate: true })); } });\n return res;\n}\nfunction isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\nexport { mutate };\nexport default useSWRV;\n//# sourceMappingURL=use-swrv.js.map","import type { IConfig } from 'swrv'\nimport useSWRV from 'swrv'\nimport type { AxiosResponse, AxiosError } from 'axios'\nimport type { IKey, fetcherFn } from 'swrv/dist/types'\nimport { computed } from 'vue'\n\nexport default function useRequest<Data = unknown, Error = { message: string }>(\n key: IKey,\n fn?: fetcherFn<AxiosResponse<Data>>,\n config?: IConfig,\n) {\n const {\n data: response,\n error,\n isValidating,\n mutate: revalidate,\n } = useSWRV<AxiosResponse<Data>, AxiosError<Error>>(key, fn, {\n revalidateDebounce: 500,\n revalidateOnFocus: false,\n dedupingInterval: 100,\n ...config,\n })\n\n const data = computed<Data | undefined>(() => {\n return response.value?.data\n })\n\n return {\n data,\n response,\n error,\n isValidating,\n revalidate,\n }\n}\n","import useI18n from './useI18n'\nimport useMetricCardBuilder from './useMetricCardBuilder'\nimport useMetricFetcher from './useMetricFetcher'\nimport useRequest from './useRequest'\n\n// All composables must be exported as part of the default object for Cypress test stubs\nexport default {\n useI18n,\n useMetricCardBuilder,\n useMetricFetcher,\n useRequest,\n}\n","import type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport composables from '../composables'\nimport { EXPLORE_V2_AGGREGATIONS, EXPLORE_V2_DIMENSIONS, EXPLORE_V2_FILTER_TYPES } from '../types'\nimport type { DataFetcher, ExploreV2Filter, MetricFetcherOptions } from '../types'\nimport { computed } from 'vue'\nimport type { InjectionKey, Ref } from 'vue'\n\ninterface ProviderData {\n data: {\n [key: string]: any // TODO\n },\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n}\n\nexport const METRICS_PROVIDER_KEY = Symbol('METRICS_PROVIDER_KEY') as InjectionKey<ProviderData>\n\ninterface FetcherOptions {\n dimension?: EXPLORE_V2_DIMENSIONS\n dimensionFilterValue?: string\n additionalFilter: Ref<ExploreV2Filter[] | undefined>\n queryReady: Ref<boolean>\n timeframe: Ref<Timeframe>\n hasTrendAccess: boolean\n refreshInterval: number\n dataFetcher: DataFetcher\n}\n\nexport const defaultFetcherDefs = (opts: FetcherOptions) => {\n const {\n dimension,\n dimensionFilterValue,\n additionalFilter,\n queryReady,\n timeframe,\n hasTrendAccess,\n refreshInterval,\n dataFetcher,\n } = opts\n\n if (dimensionFilterValue && !dimension) {\n throw new Error('Must provide a dimension if filtering by a value')\n }\n\n const singleEntityQuery = !!(dimension && dimensionFilterValue)\n const multiEntityQuery = !!(dimension && !dimensionFilterValue)\n\n const filter = computed<ExploreV2Filter[]>(() => {\n const retval: ExploreV2Filter[] = []\n\n if (singleEntityQuery) {\n retval.push({\n dimension,\n type: EXPLORE_V2_FILTER_TYPES.IN,\n values: [dimensionFilterValue],\n })\n }\n\n if (additionalFilter.value) {\n retval.push(...additionalFilter.value)\n }\n\n return retval\n })\n\n const trafficMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.REQUEST_COUNT,\n ],\n\n // Traffic and error rate cards should only try to query for the dimension if it's going to be used.\n // It isn't used for single entity queries.\n dimensions: [\n ...((dimension && !singleEntityQuery) ? [dimension] : []),\n EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED,\n ],\n\n filter,\n queryReady,\n timeframe,\n\n // Traffic and error rate cards can't query trend if multiple entities are expected.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const latencyMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.RESPONSE_LATENCY_P99,\n ],\n\n // To keep single-entity queries consistent, don't bother querying the dimension for latency\n // in the single-entity case, even though it's possible.\n ...((dimension && !singleEntityQuery) ? { dimensions: [dimension] } : {}),\n\n filter,\n queryReady,\n timeframe,\n\n // Don't query latency trends in the multi-entity case: it's possible, but wasteful.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const trafficData = composables.useMetricFetcher(trafficMetricFetcherOptions)\n const latencyData = composables.useMetricFetcher(latencyMetricFetcherOptions)\n\n return {\n trafficData,\n latencyData,\n }\n}\n","<template>\n <slot\n :has-trend-access=\"props.hasTrendAccess\"\n :timeframe=\"timeframe\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, provide, toRef } from 'vue'\nimport type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport { TimePeriods, TimeframeKeys } from '@kong-ui-public/analytics-utilities'\nimport { METRICS_PROVIDER_KEY, defaultFetcherDefs } from './metricsProviderUtil'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { DataFetcher, ExploreV2Filter } from '../types'\n\nconst props = withDefaults(defineProps<{\n maxTimeframe?: TimeframeKeys,\n overrideTimeframe?: Timeframe,\n dimension?: `${EXPLORE_V2_DIMENSIONS}`,\n filterValue?: string,\n additionalFilter?: ExploreV2Filter[],\n queryReady?: boolean,\n dataFetcher: DataFetcher,\n hasTrendAccess: boolean,\n refreshInterval: number,\n longCardTitles?: boolean,\n}>(), {\n maxTimeframe: TimeframeKeys.THIRTY_DAY,\n overrideTimeframe: undefined,\n dimension: undefined,\n filterValue: undefined,\n additionalFilter: undefined,\n queryReady: true,\n longCardTitles: false,\n})\n\n// Fail early if there's a programming error.\nif (props.dimension && !{}.hasOwnProperty.call(EXPLORE_V2_DIMENSIONS, props.dimension)) {\n throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${props.dimension}`)\n}\n\n// Note: the component implicitly assumes the values it feeds to the composables aren't going to change.\n// If they do need to change, then the `useMetricCardGoldenSignals` composable, and dependencies,\n// needs to be reactive as well. Ideally, this would be the case; we don't have any guarantee that the\n// tier data has finished loading by the time the component mounts, for example.\n\nconst timeframe = computed(() => {\n if (props.overrideTimeframe) {\n // Trust that the host component calculated the timeframe for us.\n return props.overrideTimeframe\n }\n\n const retval = props.hasTrendAccess\n ? TimePeriods.get(props.maxTimeframe)\n : TimePeriods.get(TimeframeKeys.ONE_DAY)\n\n if (!retval) {\n throw new Error('Metrics provider failed to resolve fallback timeframe.')\n }\n\n return retval\n})\n\nconst {\n trafficData,\n latencyData,\n} = defaultFetcherDefs({\n dimension: props.dimension as (EXPLORE_V2_DIMENSIONS | undefined),\n dimensionFilterValue: props.filterValue,\n additionalFilter: toRef(props, 'additionalFilter'),\n queryReady: toRef(props, 'queryReady'),\n timeframe,\n hasTrendAccess: props.hasTrendAccess,\n refreshInterval: props.refreshInterval,\n dataFetcher: props.dataFetcher,\n})\n\nprovide(METRICS_PROVIDER_KEY, {\n data: {\n traffic: trafficData,\n latency: latencyData,\n },\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n})\n\n</script>\n","import { defineComponent as L, resolveComponent as x, openBlock as s, createElementBlock as f, createElementVNode as _, normalizeClass as C, toDisplayString as h, createBlock as k, withCtx as q, createVNode as p, createCommentVNode as S, normalizeStyle as B, unref as M, computed as F, Fragment as b, renderList as O, mergeProps as P } from \"vue\";\nfunction T(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar E = { exports: {} };\n(function(e) {\n (function() {\n function a(r, t) {\n if (t.separator === !1 || r < 1e3)\n return r.toString();\n var i = typeof t.separator == \"string\" ? t.separator : \",\", d = [], v = Math.round(r).toString().split(\"\");\n return v.reverse().forEach(function(V, N) {\n N && N % 3 === 0 && d.push(i), d.push(V);\n }), d.reverse().join(\"\");\n }\n function o(r, t, i) {\n var d = r / t, v = i.round ? \"round\" : \"floor\";\n return i.decimal === !1 ? (r = Math[v](d), r.toString()) : (i.precision ? r = d : r = d < 10 ? Math[v](d * 10) / 10 : Math[v](d), r = r.toString(), typeof i.decimal == \"string\" && (r = r.replace(\".\", i.decimal)), r);\n }\n var u = 1e3, n = 1e4, g = 1e6, c = 1e9, l = 1e12;\n function y(r, t) {\n var i;\n t = t || {};\n var d = r < 0;\n d && (r = Math.abs(r)), t.precision && (r = parseFloat(r.toPrecision(t.precision)));\n var v = t.min10k ? n : u;\n return r < v || t.precision && t.precision > Math.log10(r) ? i = a(o(r, 1, t), t) : r < g ? i = o(r, u, t) + \"k\" : r < c ? i = o(r, g, t) + \"m\" : r < l ? i = a(o(r, c, t), t) + \"b\" : i = a(o(r, l, t), t) + \"t\", d && (i = \"-\" + i), t.capital && (i = i.toUpperCase()), t.prefix && (i = t.prefix + i), t.suffix && (i = i + t.suffix), i;\n }\n y.addCommas = a, e.exports = y;\n })();\n})(E);\nvar w = E.exports;\nconst A = /* @__PURE__ */ T(w);\nvar m = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.ExtraLarge = \"xl\", e))(m || {});\nconst D = 2, z = D + 2, K = (e, a, o = !1) => {\n let u = !a || Number(e.toFixed(z)) === 0 ? 0 : Number(e.toFixed(z)) > 0 ? 1 : -1;\n return o && (u *= -1), u;\n}, $ = (e, a, o) => a ? `${Math.abs(e * 100).toFixed(D)}%` : o, U = (e, a) => a === 0 ? 0 : e / a - 1, R = (e, a = !1) => (a && (e *= -1), e > 0 ? \"arrowUp\" : e < 0 ? \"arrowDown\" : \"noData\"), j = { class: \"metricscard\" }, H = {\n key: 0,\n class: \"metricscard-error\"\n}, G = {\n key: 1,\n class: \"metricscard-value\"\n}, Y = /* @__PURE__ */ L({\n __name: \"MetricsCard\",\n props: {\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n tooltip: {\n type: String,\n required: !1,\n default: \"\"\n },\n timeframe: {\n type: String,\n required: !1,\n default: \"\"\n },\n metricValue: {\n type: String,\n default: \"\"\n },\n metricChange: {\n type: String,\n required: !0\n },\n changePolarity: {\n type: Number,\n required: !0\n },\n icon: {\n type: String,\n default: \"\"\n },\n hasError: {\n type: Boolean,\n default: !1\n },\n errorMessage: {\n type: String,\n default: \"Vitals data error\"\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => \"lg\"\n }\n },\n setup(e) {\n const a = e, o = (c) => {\n const l = {\n red: \"var(--kong-ui-metric-card-trend-negative, var(--red-500, '#d44324'))\",\n green: \"var(--kong-ui-metric-card-trend-positive, var(--green-500, '#07a88d'))\",\n grey: \"var(--kong-ui-metric-card-trend-neutral, var(--grey-500, '#6f7787'))\"\n };\n return c > 0 ? l.green : c < 0 ? l.red : l.grey;\n }, u = (c) => c > 0 ? \"positive\" : c < 0 ? \"negative\" : \"neutral\", n = [m.Medium, m.Large].includes(a.cardSize), g = a.cardSize === m.ExtraLarge ? \"48px\" : [m.Medium, m.Large].includes(a.cardSize) ? \"22px\" : \"16px\";\n return (c, l) => {\n const y = x(\"KIcon\"), r = x(\"KTooltip\");\n return s(), f(\"div\", j, [\n _(\"div\", {\n class: C([\"metricscard-title\", e.cardSize])\n }, [\n _(\"span\", null, h(e.title), 1),\n e.tooltip ? (s(), k(r, {\n key: 0,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: q(() => [\n p(y, {\n icon: \"info\",\n size: \"12\"\n })\n ]),\n _: 1\n }, 8, [\"label\"])) : S(\"\", !0)\n ], 2),\n e.hasError ? (s(), f(\"div\", H, [\n p(y, {\n icon: \"warning\",\n size: \"20\"\n }),\n _(\"div\", null, h(e.errorMessage), 1)\n ])) : (s(), f(\"div\", G, [\n _(\"div\", {\n style: B(`font-size:${M(g)}`)\n }, h(e.metricValue), 5),\n M(n) ? (s(), f(\"div\", {\n key: 0,\n class: C([\"metricscard-value-trend\", u(e.changePolarity)])\n }, [\n e.changePolarity !== 0 ? (s(), k(y, {\n key: 0,\n color: o(e.changePolarity),\n icon: e.icon,\n size: \"18\"\n }, null, 8, [\"color\", \"icon\"])) : S(\"\", !0),\n _(\"div\", null, h(e.metricChange), 1)\n ], 2)) : S(\"\", !0)\n ]))\n ]);\n };\n }\n});\nconst I = (e, a) => {\n const o = e.__vccOpts || e;\n for (const [u, n] of a)\n o[u] = n;\n return o;\n}, J = /* @__PURE__ */ I(Y, [[\"__scopeId\", \"data-v-ee980c4c\"]]);\nconst Q = {}, W = { class: \"loading-tabs\" };\nfunction X(e, a) {\n const o = x(\"KSkeletonBox\");\n return s(), f(\"div\", W, [\n p(o, { width: \"100\" }),\n p(o, { width: \"75\" })\n ]);\n}\nconst Z = /* @__PURE__ */ I(Q, [[\"render\", X], [\"__scopeId\", \"data-v-e4239529\"]]), ee = {\n key: 0,\n class: \"error-display\"\n}, re = {\n key: 0,\n class: \"error-display-message\"\n}, te = /* @__PURE__ */ L({\n __name: \"MetricCardContainer\",\n props: {\n fallbackDisplayText: {\n type: String,\n required: !0\n },\n cards: {\n type: Array,\n required: !0\n },\n errorMessage: {\n type: String,\n required: !1,\n default: \"\"\n },\n loading: {\n type: Boolean,\n required: !1,\n default: !1\n },\n hasTrendAccess: {\n type: Boolean,\n required: !1,\n default: !0\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => m.Large\n }\n },\n setup(e) {\n const a = e, o = F(() => a.cards.every((n) => (n == null ? void 0 : n.hasError) === !0)), u = (n) => {\n const g = U(n.currentValue, n.previousValue) || 0, c = K(g, a.hasTrendAccess, n.increaseIsBad);\n return {\n metricValue: n.formatValueFn ? n.formatValueFn(n.currentValue) : A(n.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: n.formatChangeFn ? n.formatChangeFn(g) : $(g, a.hasTrendAccess, a.fallbackDisplayText),\n changePolarity: c,\n icon: R(c, n.increaseIsBad),\n cardSize: a.cardSize\n };\n };\n return (n, g) => {\n const c = x(\"KIcon\");\n return s(), f(\"div\", {\n class: C([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n M(o) ? (s(), f(\"div\", ee, [\n p(c, {\n class: \"error-display-icon\",\n icon: \"warning\",\n size: \"24\"\n }),\n e.errorMessage ? (s(), f(\"div\", re, h(e.errorMessage), 1)) : S(\"\", !0)\n ])) : (s(!0), f(b, { key: 1 }, O(e.cards, (l, y) => (s(), f(b, null, [\n e.loading ? (s(), k(Z, {\n key: `skeleton-${y}`,\n class: C(e.cardSize === M(m).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (s(), k(J, P({ key: y }, u(l), {\n \"card-size\": e.cardSize,\n \"error-message\": e.errorMessage,\n \"has-error\": l.hasError,\n title: l.title,\n tooltip: l.tooltip\n }), null, 16, [\"card-size\", \"error-message\", \"has-error\", \"title\", \"tooltip\"]))\n ], 64))), 256))\n ], 2);\n };\n }\n});\nconst ie = /* @__PURE__ */ I(te, [[\"__scopeId\", \"data-v-390af84f\"]]);\nexport {\n D as DECIMAL_DISPLAY,\n z as DECIMAL_ROUNDING_PRECISION,\n ie as MetricCardContainer,\n m as MetricCardSize,\n U as calculateChange,\n K as changePolarity,\n R as defineIcon,\n $ as metricChange\n};\n","<template>\n <slot :card-values=\"cardValues\">\n <MetricCardContainer\n v-bind=\"containerOpts\"\n />\n </slot>\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { inject, computed } from 'vue'\nimport { METRICS_PROVIDER_KEY } from './metricsProviderUtil'\nimport type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport { MetricCardSize, DECIMAL_DISPLAY, MetricCardContainer } from '@kong-ui-public/metric-cards'\nimport '@kong-ui-public/metric-cards/dist/style.css'\nimport composables from '../composables'\nimport { ALL_STATUS_CODE_GROUPS, STATUS_CODES_FAILED } from '../constants'\nimport { sumValues } from '../composables/useMetricCardBuilder'\n\ntype CardToDisplay = 'TRAFFIC' | 'ERROR_RATE' | 'LATENCY'\n\nconst props = withDefaults(defineProps<{\n lookupKey?: string\n cardSize?: MetricCardSize\n cardToDisplay?: CardToDisplay\n}>(), {\n lookupKey: undefined,\n cardSize: MetricCardSize.Large,\n cardToDisplay: undefined,\n})\n\nconst providerData = inject(METRICS_PROVIDER_KEY)\n\nif (!providerData) {\n throw new Error('MetricsConsumer must be nested inside a MetricsProvider instance.')\n}\n\nconst { traffic, latency } = providerData.data\n\nconst { i18n } = composables.useI18n()\n\nconst trafficCard = composables.useMetricCardBuilder({\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n})\n\n// Error rate (special case, requires operation)\n// TODO: provide a error rate aggregation in explore later\n// then can use default MetricCardBuilder\nconst formatErrorRate = (val: number) => `${val.toFixed(DECIMAL_DISPLAY)}%`\nconst errorRateCard = computed<MetricCardDef>(() => {\n const record = traffic.mapped.value\n\n const currentErrors = sumValues(record, 'current', props.lookupKey, STATUS_CODES_FAILED)\n const currentTotal = sumValues(record, 'current', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRateCurrent = currentErrors / currentTotal * 100 || 0\n\n const previousErrors = sumValues(record, 'previous', props.lookupKey, STATUS_CODES_FAILED)\n const previousTotal = sumValues(record, 'previous', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRatePrevious = previousErrors / previousTotal * 100 || 0\n\n return {\n hasError: traffic.hasError.value,\n currentValue: errorRateCurrent,\n previousValue: errorRatePrevious,\n formatValueFn: formatErrorRate,\n title: providerData.longCardTitles\n ? i18n.t('metricCard.long.errorRate')\n : i18n.t('metricCard.short.errorRate'),\n increaseIsBad: true,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n})\n\nconst cards: Ref<MetricCardDef[]> = computed(() => {\n if (props.cardToDisplay === 'TRAFFIC') {\n return [trafficCard.value]\n } else if (props.cardToDisplay === 'ERROR_RATE') {\n return [errorRateCard.value]\n } else if (props.cardToDisplay === 'LATENCY') {\n return [latencyCard.value]\n }\n\n return [trafficCard.value, errorRateCard.value, latencyCard.value]\n})\n\nconst isLoading = computed<boolean>(() => {\n if (props.cardToDisplay === 'TRAFFIC' || props.cardToDisplay === 'ERROR_RATE') {\n return traffic.isLoading.value\n } else if (props.cardToDisplay === 'LATENCY') {\n return latency.isLoading.value\n }\n\n return traffic.isLoading.value || latency.isLoading.value\n})\n\n// TODO: per-card loading?\nconst containerOpts = computed(() => ({\n cards: cards.value,\n loading: isLoading.value,\n hasTrendAccess: providerData.hasTrendAccess,\n fallbackDisplayText: i18n.t('general.notAvailable'),\n cardSize: props.cardSize,\n hideTitle: true,\n}))\n\nconst cardValues = computed(() => ({\n loading: containerOpts.value.loading,\n trafficCard: trafficCard.value,\n errorRateCard: errorRateCard.value,\n latencyCard: latencyCard.value,\n errorRateFormatted: formatErrorRate(errorRateCard.value.currentValue),\n latencyFormatted: formatLatency(latencyCard.value.currentValue),\n}))\n\n</script>\n","import type { AnalyticsExploreResult } from '@kong-ui-public/analytics-utilities'\nimport type { ExploreV2Query } from './types'\nimport { EXPLORE_V2_DIMENSIONS } from './types'\nimport type { CyHttpMessages } from 'cypress/types/net-stubbing'\nimport { ALL_STATUS_CODE_GROUPS } from './constants'\n\n// Replicate date-fns `fromUnixTime` here to avoid a dependency.\nconst fromUnixTimeMs = (t: number) => new Date(t)\n\nexport interface MockOptions {\n dimensionNames?: string[]\n injectErrors?: 'latency' | 'traffic' | 'all'\n}\n\nexport const mockExploreResponseFromCypress = (\n req: CyHttpMessages.IncomingHttpRequest,\n opts?: MockOptions,\n) => {\n const body: ExploreV2Query = req.body\n\n const { startMs: qStart, endMs: qEnd } = req.query\n\n const start = typeof qStart !== 'number' ? parseInt(qStart, 10) : qStart\n const end = typeof qEnd !== 'number' ? parseInt(qEnd, 10) : qEnd\n\n req.reply({\n statusCode: 200,\n body: mockExploreResponse(body, start, end, opts),\n })\n}\n\nexport const mockExploreResponse = (\n body: ExploreV2Query,\n start: number,\n end: number,\n opts?: MockOptions,\n) => {\n const granularity = body.granularityMs || 0\n\n const numRecords = granularity ? (end - start) / granularity : 1\n\n if (numRecords !== 1 && numRecords !== 2) {\n throw new Error(\n \"Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?\",\n )\n }\n\n if ((body.dimensions ?? []).length > 2) {\n throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(body.dimensions)}`)\n }\n\n const primaryDimension = (body.dimensions ?? []).find((x) => x !== 'TIME')\n const dimensionNames = opts?.dimensionNames ?? []\n const dimensionLength = Math.max(dimensionNames.length, 1)\n const records: any = []\n\n for (let i = 0; i < numRecords; i++) {\n for (let j = 0; j < dimensionLength; j++) {\n const eventValue: any = primaryDimension\n ? { [primaryDimension]: dimensionNames[j] }\n : {}\n\n if (body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED)) {\n ALL_STATUS_CODE_GROUPS.forEach(code => {\n const event = body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + 100 * j + 1\n return accum\n }, { ...eventValue, STATUS_CODE_GROUPED: code })\n\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event,\n })\n })\n } else {\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event: body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + (100 * j) + 1\n return accum\n }, { ...eventValue }),\n })\n }\n }\n }\n\n const meta = {\n start,\n end,\n granularity,\n dimensions: primaryDimension\n ? {\n [primaryDimension]: dimensionNames,\n ...(body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED) ? { STATUS_CODE_GROUPED: ALL_STATUS_CODE_GROUPS } : {}),\n }\n : {},\n metricNames: body.metrics,\n }\n\n return {\n records,\n meta,\n } as AnalyticsExploreResult\n}\n"],"names":["oe","le","t","e","c","s","o","$","re","de","H","a","n","ce","me","A","De","j","he","pe","Te","ge","ve","i","u","L","z","l","V","we","S","E","Z","Ne","ye","k","h","Me","q","Ie","ae","U","B","Oe","d","b","Ye","Ee","Re","g","D","_e","X","Ue","J","Q","x","Le","Se","ne","C","G","xe","He","Ae","ke","ie","be","I","Ce","se","K","ue","O","v","m","w","F","Ge","Fe","Pe","Y","p","N","_","ee","$e","ze","y","We","P","te","je","Ve","Ze","W","qe","R$1","R","f","st","M","T$1","Qe","T","Xe","Je","Ke","et","tt","useI18n","i18n","createI18n","english","i18nTComponent","EXPLORE_V2_DIMENSIONS","EXPLORE_V2_AGGREGATIONS","EXPLORE_V2_FILTER_TYPES","MAX_ANALYTICS_REQUEST_RETRIES","ALL_STATUS_CODE_GROUPS","STATUS_CODES_FAILED","r","er","ur","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","keyDimension","record","useMetricFetcher","opts","computed","DeltaQueryTime","UnaryQueryTime","query","_b","timeRangeString","cacheKey","additionalFilterKey","_c","_d","raw","metricError","isMetricDataValidating","composables","metricRequestState","STATE","useSwrvState","mapped","_f","_j","_i","_h","_g","sumValues","recordValue","period","dimensionLookupKey","sumGroupedValues","acc","lookup","groupValue","useMetricCardBuilder","title","hasError","increaseIsBad","formatValueFn","currentValue","previousValue","table","counter","hash","args","key","_hash","serializeKeyDefault","SWRVCache","ttl","_key","timeToLive","now","item","serializedKey","_this","current","hasExpired","isOnline","isDocumentVisible","fetcher","url","res","webPreset","__assign","this","__awaiter","thisArg","_arguments","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","verb","op","__read","ar","error","__spreadArray","to","from","pack","DATA_CACHE","REF_CACHE","PROMISES_CACHE","defaultConfig","setRefCache","theRef","refCacheItem","gracePeriod","onErrorRetry","revalidate","errorRetryCount","config","count","timeout","mutate","cache","data","isValidating","err_1","newData","stateRef","refs_1","isPromise","err","idx","isLast","useSWRV","fn","unmounted","isHydrated","instance","getCurrentInstance","vm","IS_SERVER","keyRef","ref","reactive","isFirstFetch","keyVal","cacheItem","shouldRevalidate","trigger","promiseFromCache","fetcherArgs","newPromise","shouldRetryOnError","revalidateCall","timer","onMounted","tick","onUnmounted","watch","val","isReadonly","toRefs","useRequest","response","METRICS_PROVIDER_KEY","defaultFetcherDefs","dimension","dimensionFilterValue","additionalFilter","queryReady","timeframe","hasTrendAccess","refreshInterval","dataFetcher","singleEntityQuery","multiEntityQuery","filter","retval","trafficMetricFetcherOptions","latencyMetricFetcherOptions","trafficData","latencyData","props","TimePeriods","TimeframeKeys","toRef","provide","providerData","inject","traffic","latency","trafficCard","formatErrorRate","DECIMAL_DISPLAY","errorRateCard","currentErrors","currentTotal","errorRateCurrent","previousErrors","previousTotal","errorRatePrevious","formatLatency","latencyCard","cards","isLoading","containerOpts","cardValues","fromUnixTimeMs","mockExploreResponseFromCypress","req","qStart","qEnd","start","end","mockExploreResponse","granularity","numRecords","primaryDimension","dimensionLength","records","eventValue","code","event","accum","agg","meta"],"mappings":"gXAAA,IAAIA,GAAK,OAAO,eACZC,GAAK,CAACC,EAAGC,EAAG,IAAMA,KAAKD,EAAIF,GAAGE,EAAGC,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAO,CAAC,CAAE,EAAID,EAAEC,CAAC,EAAI,EAC3GC,EAAI,CAACF,EAAGC,EAAG,KAAOF,GAAGC,EAAG,OAAOC,GAAK,SAAWA,EAAI,GAAKA,EAAG,CAAC,EAAG,GAC/DE,GAAsBH,IAAOA,EAAE,SAAW,WAAYA,EAAE,OAAS,SAAUA,EAAE,MAAQ,QAASA,EAAE,OAAS,SAAUA,IAAIG,GAAK,CAAE,CAAA,EAAGC,GAAsBJ,IAAOA,EAAE,YAAc,MAAOA,EAAE,SAAW,KAAMA,EAAE,SAAW,KAAMA,EAAE,YAAc,MAAOA,EAAE,QAAU,MAAOA,EAAE,UAAY,KAAMA,EAAE,WAAa,MAAOA,EAAE,aAAe,eAAgBA,EAAE,cAAgB,gBAAiBA,EAAE,gBAAkB,kBAAmBA,EAAE,cAAgB,gBAAiBA,EAAE,eAAiB,iBAAkBA,EAAE,iBAAmB,mBAAoBA,IAAII,GAAK,CAAA,CAAE,EAC1hB,SAASC,EAAEL,EAAG,CACZ,OAAOA,GAAKA,EAAE,YAAc,OAAO,UAAU,eAAe,KAAKA,EAAG,SAAS,EAAIA,EAAE,QAAUA,CAC/F,CACA,IAAIM,GAAK,CAAE,QAAS,CAAA,IACnB,SAASN,EAAG,CACX,SAASC,EAAE,EAAG,CACZ,OAAO,GAAK,EAAE,WAAa,EAAI,CAC7B,QAAS,CACf,CACG,CACDD,EAAE,QAAUC,EAAGD,EAAE,QAAQ,WAAa,GAAIA,EAAE,QAAQ,QAAUA,EAAE,OAClE,GAAGM,EAAE,EACL,IAAIC,GAAKD,GAAG,QAASE,GAAI,CAAE,QAAS,CAAA,IACnC,SAASR,EAAGC,EAAG,CACd,OAAO,eAAeA,EAAG,aAAc,CACrC,MAAO,EACX,CAAG,EAAGA,EAAE,QAAU,EAChB,SAAS,EAAEQ,EAAG,CACZ,GAAIA,IAAM,MAAQA,IAAM,IAAMA,IAAM,GAClC,MAAO,KACT,IAAIC,EAAI,OAAOD,CAAC,EAChB,OAAO,MAAMC,CAAC,EAAIA,EAAIA,EAAI,EAAI,KAAK,KAAKA,CAAC,EAAI,KAAK,MAAMA,CAAC,CAC1D,CACDV,EAAE,QAAUC,EAAE,OAChB,GAAGO,GAAGA,GAAE,OAAO,EACf,IAAIG,GAAKH,GAAE,QACX,MAAMI,GAAqBP,EAAEM,EAAE,EAC/B,IAAIE,GAAI,CAAE,QAAS,CAAA,IAClB,SAASb,EAAGC,EAAG,CACd,OAAO,eAAeA,EAAG,aAAc,CACrC,MAAO,EACX,CAAG,EAAGA,EAAE,QAAU,EAChB,SAAS,EAAEQ,EAAG,CACZ,IAAIC,EAAI,IAAI,KAAK,KAAK,IAAID,EAAE,cAAeA,EAAE,SAAQ,EAAIA,EAAE,UAAWA,EAAE,SAAQ,EAAIA,EAAE,WAAY,EAAEA,EAAE,aAAcA,EAAE,gBAAe,CAAE,CAAC,EACxI,OAAOC,EAAE,eAAeD,EAAE,YAAa,CAAA,EAAGA,EAAE,QAAS,EAAGC,EAAE,SAC3D,CACDV,EAAE,QAAUC,EAAE,OAChB,GAAGY,GAAGA,GAAE,OAAO,EACf,IAAIC,GAAKD,GAAE,QACX,MAAME,GAAoBV,EAAES,EAAE,EAC9B,SAASE,GAAGhB,EAAGC,EAAG,CAChB,IAAI,EAAIgB,GAAGhB,CAAC,EACZ,OAAO,EAAE,cAAgBiB,GAAG,EAAGlB,CAAC,EAAImB,GAAG,EAAGnB,CAAC,CAC7C,CACA,IAAIoB,GAAK,CACP,KAAM,EACN,MAAO,EACP,IAAK,EACL,KAAM,EACN,OAAQ,EACR,OAAQ,CACV,EACA,SAASF,GAAGlB,EAAGC,EAAG,CAChB,GAAI,CACF,QAAS,EAAID,EAAE,cAAcC,CAAC,EAAGQ,EAAI,CAAE,EAAEC,EAAI,EAAGA,EAAI,EAAE,OAAQA,IAAK,CACjE,IAAIW,EAAID,GAAG,EAAEV,CAAC,EAAE,IAAI,EACpBW,GAAK,IAAMZ,EAAEY,CAAC,EAAI,SAAS,EAAEX,CAAC,EAAE,MAAO,EAAE,EAC1C,CACD,OAAOD,CACR,OAAQa,EAAG,CACV,GAAIA,aAAa,WACf,MAAO,CAAC,GAAG,EACb,MAAMA,CACP,CACH,CACA,SAASH,GAAGnB,EAAGC,EAAG,CAChB,IAAI,EAAID,EAAE,OAAOC,CAAC,EAAE,QAAQ,UAAW,EAAE,EAAGQ,EAAI,0CAA0C,KAAK,CAAC,EAChG,MAAO,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,CAC5C,CACA,IAAIc,GAAI,CAAA,EACR,SAASN,GAAGjB,EAAG,CACb,GAAI,CAACuB,GAAEvB,CAAC,EAAG,CACT,IAAIC,EAAI,IAAI,KAAK,eAAe,QAAS,CACvC,OAAQ,GACR,SAAU,mBACV,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,SACT,CAAA,EAAE,OAAuB,IAAI,KAAK,0BAA0B,CAAC,EAAG,EAAIA,IAAM,wBAA0BA,IAAM,iCAC3GsB,GAAEvB,CAAC,EAAI,EAAI,IAAI,KAAK,eAAe,QAAS,CAC1C,OAAQ,GACR,SAAUA,EACV,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,SACT,CAAA,EAAI,IAAI,KAAK,eAAe,QAAS,CACpC,UAAW,MACX,SAAUA,EACV,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,SACd,CAAK,CACF,CACD,OAAOuB,GAAEvB,CAAC,CACZ,CACA,SAASwB,GAAExB,EAAGC,EAAG,EAAGQ,EAAGC,EAAGW,EAAGC,EAAG,CAC9B,IAAIG,EAAoB,IAAI,KAAK,CAAC,EAClC,OAAOA,EAAE,eAAezB,EAAGC,EAAG,CAAC,EAAGwB,EAAE,YAAYhB,EAAGC,EAAGW,EAAGC,CAAC,EAAGG,CAC/D,CACA,IAAIC,GAAI,KAAMC,GAAK,IAAKC,GAAI,CAC1B,SAAU,aACV,UAAW,QACX,WAAY,gBACZ,aAAc,wBAChB,EACA,SAASC,EAAE7B,EAAGC,EAAG,EAAG,CAClB,IAAIQ,EAAGC,EACP,GAAI,CAACV,IAAMS,EAAImB,GAAE,UAAU,KAAK5B,CAAC,EAAGS,GAClC,MAAO,GACT,IAAIY,EACJ,GAAIZ,EAAImB,GAAE,WAAW,KAAK5B,CAAC,EAAGS,EAC5B,OAAOY,EAAI,SAASZ,EAAE,CAAC,EAAG,EAAE,EAAGqB,GAAET,CAAC,EAAI,EAAEA,EAAIK,IAAK,IACnD,GAAIjB,EAAImB,GAAE,aAAa,KAAK5B,CAAC,EAAGS,EAAG,CACjCY,EAAI,SAASZ,EAAE,CAAC,EAAG,EAAE,EACrB,IAAIa,EAAI,SAASb,EAAE,CAAC,EAAG,EAAE,EACzB,OAAOqB,GAAET,EAAGC,CAAC,GAAKZ,EAAI,KAAK,IAAIW,CAAC,EAAIK,GAAIJ,EAAIK,GAAIN,EAAI,EAAI,CAACX,EAAIA,GAAK,GACnE,CACD,GAAIqB,GAAG/B,CAAC,EAAG,CACTC,EAAI,IAAI,KAAKA,GAAK,KAAK,IAAK,CAAA,EAC5B,IAAIwB,EAAI,EAAIxB,EAAI+B,GAAG/B,CAAC,EAAG,EAAIgC,GAAER,EAAGzB,CAAC,EAAGkC,EAAI,EAAI,EAAIC,GAAGlC,EAAG,EAAGD,CAAC,EAC1D,MAAO,CAACkC,CACT,CACD,MAAO,IACT,CACA,SAASF,GAAGhC,EAAG,CACb,OAAOwB,GACLxB,EAAE,YAAa,EACfA,EAAE,SAAU,EACZA,EAAE,QAAS,EACXA,EAAE,SAAU,EACZA,EAAE,WAAY,EACdA,EAAE,WAAY,EACdA,EAAE,gBAAiB,CACvB,CACA,CACA,SAASiC,GAAEjC,EAAGC,EAAG,CACf,IAAI,EAAIe,GAAGhB,EAAGC,CAAC,EAAGQ,EAAIe,GACpB,EAAE,CAAC,EACH,EAAE,CAAC,EAAI,EACP,EAAE,CAAC,EACH,EAAE,CAAC,EAAI,GACP,EAAE,CAAC,EACH,EAAE,CAAC,EACH,CACJ,EAAI,QAAO,EAAId,EAAIV,EAAE,QAAO,EAAIqB,EAAIX,EAAI,IACtC,OAAOA,GAAKW,GAAK,EAAIA,EAAI,IAAMA,EAAGZ,EAAIC,CACxC,CACA,SAASyB,GAAGnC,EAAGC,EAAG,EAAG,CACnB,IAAIQ,EAAIT,EAAE,QAAO,EAAIU,EAAID,EAAIR,EAAGoB,EAAIY,GAAE,IAAI,KAAKvB,CAAC,EAAG,CAAC,EACpD,GAAIT,IAAMoB,EACR,OAAOpB,EACTS,GAAKW,EAAIpB,EACT,IAAIqB,EAAIW,GAAE,IAAI,KAAKvB,CAAC,EAAG,CAAC,EACxB,OAAOW,IAAMC,EAAID,EAAI,KAAK,IAAIA,EAAGC,CAAC,CACpC,CACA,SAASQ,GAAE9B,EAAGC,EAAG,CACf,MAAO,KAAOD,GAAKA,GAAK,KAAOC,GAAK,MAAQ,GAAKA,GAAKA,GAAK,GAC7D,CACA,IAAImC,GAAI,CAAA,EACR,SAASL,GAAG/B,EAAG,CACb,GAAIoC,GAAEpC,CAAC,EACL,MAAO,GACT,GAAI,CACF,OAAO,IAAI,KAAK,eAAe,OAAQ,CAAE,SAAUA,EAAG,EAAGoC,GAAEpC,CAAC,EAAI,GAAI,EACxE,MAAU,CACN,MAAO,EACR,CACH,CACA,IAAIqC,GAAK,0EACT,MAAMC,GAAKD,GACX,IAAIE,GAAI,KAAMC,GAAI,IAAKC,GAAK,EAAGC,EAAI,CACjC,gBAAiB,wBACjB,YAAa,mBACb,UAAW,IAEX,GAAI,YACJ,IAAK,CACH,gBAEA,gBAEA,eAED,EACD,KAAM,WACN,MAAO,CACL,eAEA,eAEA,cAED,EAED,GAAI,aACJ,IAAK,cACL,KAAM,uBACN,IAAK,eACL,KAAM,wBACN,GAAI,sBACJ,KAAM,+BACN,OAAQ,wCAER,SAAUJ,EACZ,EACA,SAASK,GAAE3C,EAAGC,EAAG,CACf,GAAI,UAAU,OAAS,EACrB,MAAM,IAAI,UAAU,iCAAmC,UAAU,OAAS,UAAU,EACtF,GAAID,IAAM,KACR,OAAuB,IAAI,KAAK,GAAG,EACrC,IAAI,EAAIC,GAAK,CAAE,EAAEQ,EAAI,EAAE,kBAAoB,KAAOgC,GAAK7B,GAAG,EAAE,gBAAgB,EAC5E,GAAIH,IAAM,GAAKA,IAAM,GAAKA,IAAM,EAC9B,MAAM,IAAI,WAAW,oCAAoC,EAC3D,GAAIT,aAAa,MAAQ,OAAOA,GAAK,UAAY,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,gBACrF,OAAO,IAAI,KAAKA,EAAE,QAAS,CAAA,EAC7B,GAAI,OAAOA,GAAK,UAAY,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,kBAChE,OAAO,IAAI,KAAKA,CAAC,EACnB,GAAI,EAAE,OAAOA,GAAK,UAAY,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBAClE,OAAuB,IAAI,KAAK,GAAG,EACrC,IAAIU,EAAIkC,GAAG5C,CAAC,EAAGqB,EAAIwB,GAAGnC,EAAE,KAAMD,CAAC,EAAGa,EAAID,EAAE,KAAMI,EAAIJ,EAAE,eAAgB,EAAIyB,GAAGrB,EAAGH,CAAC,EAC/E,GAAI,MAAM,CAAC,EACT,OAAuB,IAAI,KAAK,GAAG,EACrC,GAAI,EAAG,CACL,IAAIY,EAAI,EAAE,QAAS,EAAEa,EAAI,EAAGC,EAC5B,GAAItC,EAAE,OAASqC,EAAIE,GAAGvC,EAAE,IAAI,EAAG,MAAMqC,CAAC,GACpC,OAAuB,IAAI,KAAK,GAAG,EACrC,GAAIrC,EAAE,UAAY,EAAE,UAClB,GAAIsC,EAAInB,EAAEnB,EAAE,UAAY,EAAE,SAAU,IAAI,KAAKwB,EAAIa,CAAC,CAAC,EAAG,MAAMC,CAAC,EAC3D,OAAuB,IAAI,KAAK,GAAG,OAErCA,EAAIjC,GAAE,IAAI,KAAKmB,EAAIa,CAAC,CAAC,EAAGC,EAAIjC,GAAE,IAAI,KAAKmB,EAAIa,EAAIC,CAAC,CAAC,EACnD,OAAO,IAAI,KAAKd,EAAIa,EAAIC,CAAC,CAC1B,KACC,QAAuB,IAAI,KAAK,GAAG,CACvC,CACA,SAASJ,GAAG5C,EAAG,CACb,IAAIC,EAAI,CAAE,EAAE,EAAIyC,EAAE,gBAAgB,KAAK1C,CAAC,EAAGS,EAC3C,GAAI,GAAKR,EAAE,KAAO,EAAE,CAAC,EAAGQ,EAAI,EAAE,CAAC,IAAM,EAAIiC,EAAE,YAAY,KAAK1C,CAAC,EAAG,GAAKC,EAAE,KAAO,EAAE,CAAC,EAAGQ,EAAI,EAAE,CAAC,IAAMR,EAAE,KAAO,KAAMQ,EAAIT,IAAKS,EAAG,CAC1H,IAAIC,EAAIgC,EAAE,SAAS,KAAKjC,CAAC,EACzBC,GAAKT,EAAE,KAAOQ,EAAE,QAAQC,EAAE,CAAC,EAAG,EAAE,EAAGT,EAAE,SAAWS,EAAE,CAAC,EAAE,KAAI,GAAMT,EAAE,KAAOQ,CACzE,CACD,OAAOR,CACT,CACA,SAAS4C,GAAG7C,EAAGC,EAAG,CAChB,IAAI,EAAIyC,EAAE,IAAIzC,CAAC,EAAGQ,EAAIiC,EAAE,MAAMzC,CAAC,EAAGS,EAClC,GAAIA,EAAIgC,EAAE,KAAK,KAAK1C,CAAC,GAAKS,EAAE,KAAKT,CAAC,EAAGU,EAAG,CACtC,IAAIW,EAAIX,EAAE,CAAC,EACX,MAAO,CACL,KAAM,SAASW,EAAG,EAAE,EACpB,eAAgBrB,EAAE,MAAMqB,EAAE,MAAM,CACtC,CACG,CACD,GAAIX,EAAIgC,EAAE,GAAG,KAAK1C,CAAC,GAAK,EAAE,KAAKA,CAAC,EAAGU,EAAG,CACpC,IAAIY,EAAIZ,EAAE,CAAC,EACX,MAAO,CACL,KAAM,SAASY,EAAG,EAAE,EAAI,IACxB,eAAgBtB,EAAE,MAAMsB,EAAE,MAAM,CACtC,CACG,CACD,MAAO,CACL,KAAM,IACV,CACA,CACA,SAASwB,GAAG9C,EAAGC,EAAG,CAChB,GAAIA,IAAM,KACR,OAAO,KACT,IAAI,EAAGQ,EAAGC,EAAGW,EACb,GAAIrB,EAAE,SAAW,EACf,OAAOS,EAAoB,IAAI,KAAK,CAAC,EAAGA,EAAE,eAAeR,CAAC,EAAGQ,EAC/D,GAAI,EAAIiC,EAAE,GAAG,KAAK1C,CAAC,EAAG,EACpB,OAAOS,EAAoB,IAAI,KAAK,CAAC,EAAGC,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EAAI,EAAGwC,GAAEjD,EAAGS,CAAC,GAAKD,EAAE,eAAeR,EAAGS,CAAC,EAAGD,GAAqB,IAAI,KAAK,GAAG,EAC1I,GAAI,EAAIiC,EAAE,IAAI,KAAK1C,CAAC,EAAG,EAAG,CACxBS,EAAoB,IAAI,KAAK,CAAC,EAC9B,IAAIa,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EACzB,OAAO6B,GAAGlD,EAAGqB,CAAC,GAAKb,EAAE,eAAeR,EAAG,EAAGqB,CAAC,EAAGb,GAAqB,IAAI,KAAK,GAAG,CAChF,CACD,GAAI,EAAIiC,EAAE,KAAK,KAAK1C,CAAC,EAAG,EAAG,CACzBS,EAAoB,IAAI,KAAK,CAAC,EAAGC,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EAAI,EAC1D,IAAIe,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EACzB,OAAOyB,GAAEjD,EAAGS,EAAGe,CAAC,GAAKhB,EAAE,eAAeR,EAAGS,EAAGe,CAAC,EAAGhB,GAAqB,IAAI,KAAK,GAAG,CAClF,CACD,GAAI,EAAIiC,EAAE,IAAI,KAAK1C,CAAC,EAAG,EACrB,OAAOqB,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EAAI,EAAG+B,GAAEnD,EAAGoB,CAAC,EAAIgC,GAAEpD,EAAGoB,CAAC,EAAoB,IAAI,KAAK,GAAG,EACrF,GAAI,EAAIqB,EAAE,KAAK,KAAK1C,CAAC,EAAG,EAAG,CACzBqB,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EAAI,EACzB,IAAI,EAAI,SAAS,EAAE,CAAC,EAAG,EAAE,EAAI,EAC7B,OAAO+B,GAAEnD,EAAGoB,EAAG,CAAC,EAAIgC,GAAEpD,EAAGoB,EAAG,CAAC,EAAoB,IAAI,KAAK,GAAG,CAC9D,CACD,OAAO,IACT,CACA,SAAS4B,GAAGjD,EAAG,CACb,IAAIC,EAAG,EAAGQ,EACV,GAAIR,EAAIyC,EAAE,GAAG,KAAK1C,CAAC,EAAGC,EACpB,OAAO,EAAI,WAAWA,EAAE,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAGqD,GAAE,CAAC,EAAI,EAAI,GAAKf,GAAI,IACrE,GAAItC,EAAIyC,EAAE,KAAK,KAAK1C,CAAC,EAAGC,EACtB,OAAO,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAGQ,EAAI,WAAWR,EAAE,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAGqD,GAAE,EAAG7C,CAAC,EAAI,EAAI,GAAK8B,GAAI9B,EAAI+B,GAAI,IACxG,GAAIvC,EAAIyC,EAAE,OAAO,KAAK1C,CAAC,EAAGC,EAAG,CAC3B,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAGQ,EAAI,SAASR,EAAE,CAAC,EAAG,EAAE,EAC7C,IAAIS,EAAI,WAAWT,EAAE,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EACzC,OAAOqD,GAAE,EAAG7C,EAAGC,CAAC,EAAI,EAAI,GAAK6B,GAAI9B,EAAI+B,GAAI9B,EAAI,IAAM,GACpD,CACD,OAAO,IACT,CACA,SAAS2C,GAAErD,EAAGC,EAAG,EAAG,CAClBA,EAAIA,GAAK,EAAG,EAAI,GAAK,EACrB,IAAIQ,EAAoB,IAAI,KAAK,CAAC,EAClCA,EAAE,eAAeT,EAAG,EAAG,CAAC,EACxB,IAAIU,EAAID,EAAE,UAAS,GAAM,EAAGY,EAAIpB,EAAI,EAAI,EAAI,EAAIS,EAChD,OAAOD,EAAE,WAAWA,EAAE,WAAU,EAAKY,CAAC,EAAGZ,CAC3C,CACA,IAAI8C,GAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAC/G,SAASC,GAAGzD,EAAG,CACb,OAAOA,EAAI,MAAQ,GAAKA,EAAI,IAAM,GAAKA,EAAI,MAAQ,CACrD,CACA,SAASkD,GAAElD,EAAGC,EAAG,EAAG,CAClB,GAAIA,EAAI,GAAKA,EAAI,GACf,MAAO,GACT,GAAI,GAAK,KAAM,CACb,GAAI,EAAI,EACN,MAAO,GACT,IAAIQ,EAAIgD,GAAGzD,CAAC,EACZ,GAAIS,GAAK,EAAI+C,GAAGvD,CAAC,GAAK,CAACQ,GAAK,EAAI8C,GAAGtD,CAAC,EAClC,MAAO,EACV,CACD,MAAO,EACT,CACA,SAASkD,GAAGnD,EAAGC,EAAG,CAChB,GAAIA,EAAI,EACN,MAAO,GACT,IAAI,EAAIwD,GAAGzD,CAAC,EACZ,MAAO,EAAE,GAAKC,EAAI,KAAO,CAAC,GAAKA,EAAI,IACrC,CACA,SAASmD,GAAEpD,EAAGC,EAAG,EAAG,CAClB,MAAO,EAAEA,EAAI,GAAKA,EAAI,IAAM,GAAK,OAAS,EAAI,GAAK,EAAI,GACzD,CACA,SAASqD,GAAEtD,EAAGC,EAAG,EAAG,CAClB,MAAO,EAAED,GAAK,OAASA,EAAI,GAAKA,GAAK,KAAOC,GAAK,OAASA,EAAI,GAAKA,GAAK,KAAO,GAAK,OAAS,EAAI,GAAK,GAAK,IAC7G,CACA,IAAIyD,GAAI,CAAE,QAAS,CAAE,CAAA,EAAIC,GAAI,CAAE,QAAS,CAAA,IACvC,SAAS3D,EAAGC,EAAG,CACd,OAAO,eAAeA,EAAG,aAAc,CACrC,MAAO,EACX,CAAG,EAAGA,EAAE,QAAU,EAChB,SAAS,EAAEQ,EAAGC,EAAG,CACf,GAAID,GAAK,KACP,MAAM,IAAI,UAAU,+DAA+D,EACrF,QAASY,KAAKX,EACZ,OAAO,UAAU,eAAe,KAAKA,EAAGW,CAAC,IAAMZ,EAAEY,CAAC,EAAIX,EAAEW,CAAC,GAC3D,OAAOZ,CACR,CACDT,EAAE,QAAUC,EAAE,OAChB,GAAG0D,GAAGA,GAAE,OAAO,EACf,IAAIC,GAAKD,GAAE,SACV,SAAS3D,EAAGC,EAAG,CACd,IAAI,EAAIM,GAAG,QACX,OAAO,eAAeN,EAAG,aAAc,CACrC,MAAO,EACX,CAAG,EAAGA,EAAE,QAAUS,EAChB,IAAID,EAAI,EAAEmD,EAAE,EACZ,SAASlD,EAAEW,EAAG,CACZ,SAAWZ,EAAE,SAAS,CAAE,EAAEY,CAAC,CAC5B,CACDrB,EAAE,QAAUC,EAAE,OAChB,GAAGyD,GAAGA,GAAE,OAAO,EACf,IAAIG,GAAKH,GAAE,QACX,MAAMI,GAAqBzD,EAAEwD,EAAE,EAC/B,SAASE,GAAG/D,EAAGC,EAAG,EAAG,CACnB,IAAIQ,EAAIkC,GAAE3C,EAAG,CAAC,EAAGU,EAAImB,EAAE5B,EAAGQ,EAAG,EAAE,EAAGY,EAAI,IAAI,KAAKZ,EAAE,QAAS,EAAGC,CAAC,EAAGY,EAAoB,IAAI,KAAK,CAAC,EAC/F,OAAOA,EAAE,YAAYD,EAAE,eAAgB,EAAEA,EAAE,cAAeA,EAAE,WAAU,CAAE,EAAGC,EAAE,SAASD,EAAE,YAAW,EAAIA,EAAE,cAAa,EAAIA,EAAE,cAAa,EAAIA,EAAE,mBAAoB,CAAA,EAAGC,CACxK,CACA,SAAS0C,GAAGhE,EAAGC,EAAG,CAChB,MAAO,CAAC4B,EAAE7B,EAAGC,CAAC,CAChB,CACA,SAASgE,GAAGjE,EAAGC,EAAG,EAAG,CACnB,GAAI,OAAOD,GAAK,UAAY,CAACA,EAAE,MAAMsC,EAAE,EAAG,CACxC,IAAI7B,EAAIqD,GAAG,CAAC,EACZ,OAAOrD,EAAE,SAAWR,EAAG0C,GAAE3C,EAAGS,CAAC,CAC9B,CACD,IAAIC,EAAIiC,GAAE3C,EAAG,CAAC,EAAGqB,EAAIG,GACnBd,EAAE,YAAa,EACfA,EAAE,SAAU,EACZA,EAAE,QAAS,EACXA,EAAE,SAAU,EACZA,EAAE,WAAY,EACdA,EAAE,WAAY,EACdA,EAAE,gBAAiB,CACvB,EAAI,QAAO,EAAIY,EAAIO,EAAE5B,EAAG,IAAI,KAAKoB,CAAC,CAAC,EACjC,OAAO,IAAI,KAAKA,EAAIC,CAAC,CACvB,CACA,MAAM4C,GAAI,CACR,CAAC/D,EAAE,QAAQ,EAAG,GAAK,IACnB,CAACA,EAAE,MAAM,EAAG,GAAK,GAAK,IACtB,CAACA,EAAE,KAAK,EAAG,GAAK,GAAK,GAAK,IAC1B,CAACA,EAAE,MAAM,EAAG,GAAK,GAAK,GAAK,EAAI,GACjC,EAOA,SAASgE,GAAGnE,EAAGC,EAAG,CAChB,OAAOD,EAAI,CACT,SAAUA,EACV,KAAM,WACN,OAAQC,CACT,EAAG,IACN,CAIA,SAASmE,GAAGpE,EAAGC,EAAG,EAAGQ,EAAG,CACtB,MAAMC,EAAIwD,GAAE,CAAC,EACb,IAAI7C,EAAI,EACR,OAAOX,GAAKwD,GAAE/D,EAAE,KAAK,IAAMM,EAAIY,EAAI,CAAC2C,GAAGvD,EAAGR,CAAC,EAAIoB,EAAIpB,EAAE,oBAAsB,GAAK,KAAM,IAAI,KAAKD,GAAGC,EAAE,QAAO,EAAKoB,GAAKX,CAAC,EAAIA,EAAIW,CAAC,CACjI,CACA,SAASgD,GAAErE,EAAGC,EAAG,EAAG,CAClB,OAAOmE,GAAG,KAAK,MAAOpE,EAAGC,EAAG,CAAC,CAC/B,CACA,SAASqE,GAAGtE,EAAGC,EAAG,EAAG,CACnB,OAAOmE,GAAG,KAAK,KAAMpE,EAAGC,EAAG,CAAC,CAC9B,CACA,SAASsE,EAAEvE,EAAG,CACZ,0BACA,OAAOuE,EAAI,OAAO,QAAU,YAAc,OAAO,OAAO,UAAY,SAAW,SAAStE,EAAG,CACzF,OAAO,OAAOA,CACf,EAAG,SAASA,EAAG,CACd,OAAOA,GAAK,OAAO,QAAU,YAAcA,EAAE,cAAgB,QAAUA,IAAM,OAAO,UAAY,SAAW,OAAOA,CACtH,EAAKsE,EAAEvE,CAAC,CACR,CACA,SAASwE,EAAExE,EAAG,CACZ,GAAIA,IAAM,MAAQA,IAAM,IAAMA,IAAM,GAClC,MAAO,KACT,IAAIC,EAAI,OAAOD,CAAC,EAChB,OAAO,MAAMC,CAAC,EAAIA,EAAIA,EAAI,EAAI,KAAK,KAAKA,CAAC,EAAI,KAAK,MAAMA,CAAC,CAC3D,CACA,SAASwE,EAAEzE,EAAGC,EAAG,CACf,GAAIA,EAAE,OAASD,EACb,MAAM,IAAI,UAAUA,EAAI,aAAeA,EAAI,EAAI,IAAM,IAAM,uBAAyBC,EAAE,OAAS,UAAU,CAC7G,CACA,SAASyE,EAAE1E,EAAG,CACZyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAI,OAAO,UAAU,SAAS,KAAKD,CAAC,EACxC,OAAOA,aAAa,MAAQuE,EAAEvE,CAAC,IAAM,UAAYC,IAAM,gBAAkB,IAAI,KAAKD,EAAE,QAAS,CAAA,EAAI,OAAOA,GAAK,UAAYC,IAAM,kBAAoB,IAAI,KAAKD,CAAC,IAAM,OAAOA,GAAK,UAAYC,IAAM,oBAAsB,OAAO,QAAU,MAAQ,QAAQ,KAAK,oNAAoN,EAAG,QAAQ,KAAK,IAAI,QAAQ,KAAK,GAAoB,IAAI,KAAK,GAAG,EACphB,CACA,SAAS0E,GAAE3E,EAAGC,EAAG,CACfwE,EAAE,EAAG,SAAS,EACd,IAAI,EAAIC,EAAE1E,CAAC,EAAGS,EAAI+D,EAAEvE,CAAC,EACrB,OAAO,MAAMQ,CAAC,EAAoB,IAAI,KAAK,GAAG,GAAKA,GAAK,EAAE,QAAQ,EAAE,QAAO,EAAKA,CAAC,EAAG,EACtF,CACA,SAASmE,GAAG5E,EAAGC,EAAG,CAChBwE,EAAE,EAAG,SAAS,EACd,IAAI,EAAIC,EAAE1E,CAAC,EAAGS,EAAI+D,EAAEvE,CAAC,EACrB,GAAI,MAAMQ,CAAC,EACT,OAAuB,IAAI,KAAK,GAAG,EACrC,GAAI,CAACA,EACH,OAAO,EACT,IAAIC,EAAI,EAAE,UAAWW,EAAI,IAAI,KAAK,EAAE,QAAO,CAAE,EAC7CA,EAAE,SAAS,EAAE,SAAU,EAAGZ,EAAI,EAAG,CAAC,EAClC,IAAIa,EAAID,EAAE,UACV,OAAOX,GAAKY,EAAID,GAAK,EAAE,YAAYA,EAAE,YAAa,EAAEA,EAAE,SAAQ,EAAIX,CAAC,EAAG,EACxE,CACA,IAAImE,GAAK,CAAA,EACT,SAASC,IAAK,CACZ,OAAOD,EACT,CACA,SAASE,EAAE/E,EAAGC,EAAG,CACf,IAAI,EAAGQ,EAAGC,EAAGW,EAAGC,EAAGG,EAAG,EAAGS,EACzBuC,EAAE,EAAG,SAAS,EACd,IAAI1B,EAAI+B,KAAM9B,EAAIwB,GAAG,GAAK/D,GAAKC,GAAKW,EAAIpB,GAAK,KAAO,OAASA,EAAE,gBAAkB,MAAQoB,IAAM,OAASA,EAAIpB,GAAK,OAASqB,EAAIrB,EAAE,UAAY,MAAQqB,IAAM,SAAWG,EAAIH,EAAE,WAAa,MAAQG,IAAM,OAAS,OAASA,EAAE,gBAAkB,MAAQf,IAAM,OAASA,EAAIqC,EAAE,gBAAkB,MAAQtC,IAAM,OAASA,GAAK,EAAIsC,EAAE,UAAY,MAAQ,IAAM,SAAWb,EAAI,EAAE,WAAa,MAAQA,IAAM,OAAS,OAASA,EAAE,gBAAkB,MAAQ,IAAM,OAAS,EAAI,CAAC,EACrc,GAAI,EAAEc,GAAK,GAAKA,GAAK,GACnB,MAAM,IAAI,WAAW,kDAAkD,EACzE,IAAIgC,EAAIN,EAAE1E,CAAC,EAAGiF,EAAID,EAAE,OAAM,EAAIE,GAAKD,EAAIjC,EAAI,EAAI,GAAKiC,EAAIjC,EACxD,OAAOgC,EAAE,QAAQA,EAAE,QAAO,EAAKE,CAAC,EAAGF,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC7D,CACA,SAASG,GAAGnF,EAAG,CACbyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAIyE,EAAE1E,CAAC,EACX,OAAOC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACjC,CACA,IAAImF,GAAK,GAAIC,GAAK,KAClB,SAASC,EAAEtF,EAAG,CACZyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAIyE,EAAE1E,CAAC,EACX,OAAOC,EAAE,QAAQ,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC/C,CACA,SAASsF,GAAGvF,EAAG,CACbyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAIyE,EAAE1E,CAAC,EAAG,EAAIC,EAAE,YAAW,EAAIQ,EAAIR,EAAE,SAAU,EAAES,EAAoB,IAAI,KAAK,CAAC,EACnF,OAAOA,EAAE,YAAY,EAAGD,EAAI,EAAG,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,EAAE,SAC/D,CACA,SAAS8E,GAAExF,EAAG,CACZyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAIyE,EAAE1E,CAAC,EAAG,EAAIC,EAAE,UACpB,OAAO,CACT,CACA,SAASwF,GAAGzF,EAAG,CACb,OAAOyE,EAAE,EAAG,SAAS,EAAG,KAAK,MAAMe,GAAExF,CAAC,EAAI,GAAG,CAC/C,CACA,SAAS0F,GAAG1F,EAAG,CACb,OAAOyE,EAAE,EAAG,SAAS,EAAG,KAAK,MAAMzE,EAAIqF,EAAE,CAC3C,CACA,SAASM,GAAG3F,EAAGC,EAAG,CAChBwE,EAAE,EAAG,SAAS,EACd,IAAI,EAAID,EAAEvE,CAAC,EACX,OAAO0E,GAAE3E,EAAG,CAAC,CAAC,CAChB,CACA,SAAS4F,GAAG5F,EAAG,CACbyE,EAAE,EAAG,SAAS,EACd,IAAIxE,EAAID,EAAIoF,GACZ,OAAO,KAAK,MAAMnF,CAAC,CACrB,CACA,SAAS4F,GAAE7F,EAAGC,EAAG,CACfwE,EAAE,EAAG,SAAS,EACd,IAAI,EAAID,EAAEvE,CAAC,EACX,OAAO2E,GAAG5E,EAAG,CAAC,CAAC,CACjB,CACA,SAAS8F,GAAG9F,EAAGC,EAAG,CAChB,GAAIwE,EAAE,EAAG,SAAS,EAAG,CAACxE,GAAKsE,EAAEtE,CAAC,IAAM,SAClC,OAAuB,IAAI,KAAK,GAAG,EACrC,IAAI,EAAIA,EAAE,MAAQuE,EAAEvE,EAAE,KAAK,EAAI,EAAGQ,EAAIR,EAAE,OAASuE,EAAEvE,EAAE,MAAM,EAAI,EAAGS,EAAIT,EAAE,MAAQuE,EAAEvE,EAAE,KAAK,EAAI,EAAGoB,EAAIpB,EAAE,KAAOuE,EAAEvE,EAAE,IAAI,EAAI,EAAGqB,EAAIrB,EAAE,MAAQuE,EAAEvE,EAAE,KAAK,EAAI,EAAGwB,EAAIxB,EAAE,QAAUuE,EAAEvE,EAAE,OAAO,EAAI,EAAG,EAAIA,EAAE,QAAUuE,EAAEvE,EAAE,OAAO,EAAI,EAAGiC,EAAI2D,GAAE7F,EAAGS,EAAI,EAAI,EAAE,EAAGsC,EAAI4C,GAAGzD,EAAGb,EAAIX,EAAI,CAAC,EAAGsC,EAAIvB,EAAIH,EAAI,GAAI0D,EAAI,EAAIhC,EAAI,GAAIiC,EAAID,EAAI,IAAKE,EAAI,IAAI,KAAKnC,EAAE,UAAYkC,CAAC,EACnV,OAAOC,CACT,CACA,IAAAa,GAAA,MAAMC,EAAE,CACN,YAAY/F,EAAG,EAAG,CAGhB,GAFAC,EAAE,KAAM,WAAW,EACnBA,EAAE,KAAM,IAAI,EACR,KAAK,cAAgB8F,GACvB,MAAM,IAAI,MAAM,iDAAiD,EACnE,KAAK,UAAY/F,EAAG,KAAK,GAAK,CAC/B,CACD,mBAAmBA,EAAG,EAAGQ,EAAI,EAAG,CAC9B,GAAIR,EACF,OAAO,IAAI,KAAK,KAAK,UAAU,UAAY,KAAK,UAAU,kBAAmB,EAAGQ,CAAC,EACnF,CACE,MAAMC,EAAI,KAAK,QAAO,EAAIW,EAAI,KAAK,UAAU,SAAS,KAAK,EAAE,EAAGC,EAAI+C,GAAEhD,EAAG,EAAG,KAAK,EAAE,EAAG4E,GAAKvF,EAAE,QAAS,EAAGY,EAAE,QAAO,IAAOb,EAAI,GAC7H,OAAO4D,GACL,IAAI,KAAKhD,EAAE,QAAO,EAAK4E,CAAC,EACxB,EACA,KAAK,EACb,CACK,CACF,CACD,oBAAqB,CACnB,OAAO,KAAK,MAAM,KAAK,cAAe,EAAG,GAAG,CAC7C,CACD,kBAAmB,CACjB,OAAO9B,GAAG,KAAK,cAAe,EAAE,KAAK,UAAW,EAAC,YAAW,CAAE,CAC/D,CAED,cAAe,CACb,OAAOsB,GAAG,KAAK,UAAS,CAAE,CAC3B,CAED,YAAa,CACX,OAAOA,GAAG,KAAK,QAAO,CAAE,CACzB,CAED,SAAU,CACR,OAAOD,GAAE,KAAK,UAAS,CAAE,CAC1B,CAED,OAAQ,CACN,OAAOA,GAAE,KAAK,QAAO,CAAE,CACxB,CAED,gBAAiB,CACf,OAAO,KAAK,UAAW,GAAIM,GAAmB,IAAI,KAAQ,CAAE,KAAM,CAAC,CAAE,CACtE,CACH,EAiBA,MAAM,WAAWE,EAAE,CACjB,WAAY,CACV,OAAO,KAAK,mBAAmB,KAAK,UAAU,WAAY,KAAK,UAAU,eAAe,CACzF,CACD,SAAU,CACR,OAAO1B,GAAG,KAAK,UAAU,OAAO,KAAK,EAAE,EAAG,KAAK,UAAU,gBAAiB,KAAK,EAAE,CAClF,CACD,eAAgB,CACd,OAAO,KAAK,QAAO,EAAG,QAAO,EAAK,KAAK,UAAS,EAAG,SACpD,CACH,CACA,MAAM4B,WAAW,EAAG,CAClB,WAAY,CACV,OAAO,KAAK,mBAAmB,KAAK,UAAU,WAAY,KAAK,UAAU,gBAAiB,CAAC,CAC5F,CACD,eAAgB,CACd,OAAO,KAAK,QAAO,EAAG,QAAO,EAAK,MAAM,UAAS,EAAG,SACrD,CACH,CACA,MAAMC,EAAI,CAACnG,EAAGC,IAAM,IAAI,KAAKD,EAAE,QAAO,EAAKgE,GAAG/D,EAAGD,CAAC,CAAC,EACnD,IAAAoG,EAAA,KAAQ,CACN,YAAYnG,EAAG,CACbC,EAAE,KAAM,eAAe,EACvBA,EAAE,KAAM,KAAK,EACbA,EAAE,KAAM,SAAS,EACjBA,EAAE,KAAM,iBAAiB,EACzBA,EAAE,KAAM,cAAc,EAGtBA,EAAE,KAAM,4BAA4B,EAIpCA,EAAE,KAAM,iBAAiB,EAMzBA,EAAE,KAAM,YAAY,EACpBA,EAAE,KAAM,cAAc,EACtBA,EAAE,KAAM,YAAY,EACpB,KAAK,QAAUD,EAAE,QAAS,KAAK,cAAgBA,EAAE,cAAe,KAAK,IAAMA,EAAE,IAAK,KAAK,gBAAkBA,EAAE,gBAAiB,KAAK,aAAeA,EAAE,aAAc,KAAK,2BAA6BA,EAAE,2BAA4B,KAAK,gBAAkBA,EAAE,gBAAiB,KAAK,WAAaA,EAAE,WAAY,KAAK,aAAeA,EAAE,YAAa,KAAK,WAAaA,EAAE,SAClW,CAID,OAAOA,EAAG,CACR,OAAO,KAAK,YAA8B,IAAI,IAC/C,CAID,SAASA,EAAG,CACV,OAAO,KAAK,cAAgB,IAAI,KAAK,KAAK,OAAQ,EAAC,QAAS,EAAG,KAAK,kBAAmB,CAAA,CACxF,CACD,mBAAoB,CAClB,OAAO,KAAK,gBAAiB,EAAG,GACjC,CACD,wBAAyB,CACvB,OAAO,KAAK,iBACb,CACD,sBAAuB,CACrB,MAAMA,EAAoB,IAAI,IAAO,EAAI,KAAK,uBAAwB,EAAG,KACzE,OAAO,GAAK,GAAKA,EAAE,IAAIE,EAAE,QAAQ,EAAG,GAAK,GAAK,GAAK,EAAI,IAAMF,EAAE,IAAIE,EAAE,MAAM,EAAG,GAAK,EAAI,IAAMF,EAAE,IAAIE,EAAE,KAAK,EAAG,GAAK,EAAI,GAAK,IAAMF,EAAE,IAAIE,EAAE,MAAM,EAAGF,CACnJ,CACD,eAAeA,EAAG,CAChB,GAAI,CAACA,EACH,OAAuB,IAAI,KAC7B,MAAM,EAAIgE,GAAmB,IAAI,KAAQ,IAAI,KAAK,iBAAiB,kBAAkB,QAAQ,EAC7F,OAAOF,GAAG,EAAG9D,CAAC,CACf,CACH,EACA,MAAMoG,WAAWC,CAAE,CACjB,SAASrG,EAAG,CACV,IAAI,EAAI8E,EAAE,KAAK,eAAe9E,CAAC,EAAG,CAAE,aAAc,CAAC,CAAE,EACrD,OAAOA,IAAM,EAAIkG,EAAE,EAAGlG,CAAC,GAAI,CAC5B,CACD,wBAAyB,CACvB,MAAO,IAAK,GAAK,GAAK,CACvB,CACH,CACA,MAAMsG,WAAWD,CAAE,CACjB,SAASrG,EAAG,CACV,IAAI,EAAIqF,EAAE,KAAK,eAAerF,CAAC,CAAC,EAChC,OAAOA,IAAM,EAAIkG,EAAE,EAAGlG,CAAC,GAAI,CAC5B,CACD,wBAAyB,CACvB,MAAO,IAAK,GAAK,GAAK,EACvB,CACH,CACA,MAAMuG,WAAWF,CAAE,CACjB,OAAOrG,EAAG,CACR,IAAI,EAAI8E,EAAE,KAAK,eAAe9E,CAAC,EAAG,CAAE,aAAc,CAAC,CAAE,EACrD,OAAOA,IAAM,EAAIkG,EAAE,EAAGlG,CAAC,GAAI,CAC5B,CACD,SAASA,EAAG,CACV,MAAM,EAAI,KAAK,eAAeA,CAAC,EAC/B,IAAIQ,EAAIsE,EAAE,EAAE,QAAQ,EAAE,QAAO,EAAK,CAAC,EAAG,CACpC,aAAc,CACpB,CAAK,EACD,OAAO9E,IAAMQ,EAAI0F,EAAE1F,EAAGR,CAAC,GAAIQ,CAC5B,CACH,CACA,MAAMgG,WAAWH,CAAE,CACjB,OAAOrG,EAAG,CACR,IAAI,EAAIqF,EAAE,KAAK,eAAerF,CAAC,CAAC,EAChC,OAAOA,IAAM,EAAIkG,EAAE,EAAGlG,CAAC,GAAI,CAC5B,CACD,SAASA,EAAG,CACV,IAAI,EAAIqF,EAAEO,GAAE,KAAK,eAAe5F,CAAC,EAAG,CAAC,CAAC,EACtC,OAAOA,IAAM,EAAIkG,EAAE,EAAGlG,CAAC,GAAI,CAC5B,CACH,CACA,MAAMyG,GAAqB,IAAI,IAAI,CACjC,CACEtG,EAAE,YACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,YACP,QAAS,kBACT,cAAe,aACf,gBAAiB,IAAM,GAAK,GAC5B,2BAA4BD,EAAE,SAC9B,gBAAiBA,EAAE,SACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,QAAS,OAAQ,YAAY,CAC1D,CAAK,CACF,EACD,CACEC,EAAE,SACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,SACP,QAAS,YACT,cAAe,WACf,gBAAiB,IAAM,GAAK,GAAK,EACjC,2BAA4BD,EAAE,SAC9B,gBAAiBA,EAAE,SACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,QAAS,OAAQ,YAAY,CAC1D,CAAK,CACF,EACD,CACEC,EAAE,SACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,SACP,QAAS,eACT,cAAe,UACf,gBAAiB,IAAM,GAAK,GAAK,EACjC,2BAA4BD,EAAE,OAC9B,gBAAiBA,EAAE,OACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,QAAS,OAAQ,YAAY,CAC1D,CAAK,CACF,EACD,CACEC,EAAE,YACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,YACP,QAAS,gBACT,cAAe,WACf,gBAAiB,IAAM,GAAK,GAAK,GACjC,2BAA4BD,EAAE,OAC9B,gBAAiBA,EAAE,OACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,QAAS,OAAQ,YAAY,CAC1D,CAAK,CACF,EACD,CACEC,EAAE,QACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,QACP,QAAS,gBACT,cAAe,WACf,gBAAiB,IAAM,GAAK,GAAK,GACjC,2BAA4BD,EAAE,OAC9B,gBAAiBA,EAAE,OACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,QAAS,OAAQ,YAAY,CAC1D,CAAK,CACF,EACD,CACEC,EAAE,UACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,UACP,QAAS,cACT,cAAe,SACf,gBAAiB,IAAM,GAAK,GAAK,GAAK,EACtC,2BAA4BD,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,QAAS,OAAQ,YAAY,CAClD,CAAK,CACF,EACD,CACEC,EAAE,WACF,IAAIkG,EAAE,CACJ,IAAKlG,EAAE,WACP,QAAS,eACT,cAAe,UACf,gBAAiB,IAAM,GAAK,GAAK,GAAK,GACtC,2BAA4BD,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,QAAS,OAAQ,YAAY,CAClD,CAAK,CACF,EACD,CACEC,EAAE,aACF,IAAIiG,GAAG,CACL,IAAKjG,EAAE,aACP,QAAS,YACT,cAAe,OACf,gBAAiB,IAAM,CACrB,MAAMJ,EAAI+E,EAAkB,IAAI,KAAQ,CAAE,aAAc,CAAC,CAAE,EAC3D,OAAQI,GAAGR,GAAkB,IAAI,KAAQ,CAAC,CAAC,EAAE,QAAO,EAAK3E,EAAE,QAAO,GAAM,GACzE,EACD,2BAA4BG,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,YAAY,CACzC,CAAK,CACF,EACD,CACEC,EAAE,cACF,IAAImG,GAAG,CACL,IAAKnG,EAAE,cACP,QAAS,aACT,cAAe,QACf,gBAAiB,IAAM,CACrB,MAAMJ,EAAIsF,EAAkB,IAAI,IAAM,EACtC,OAAQH,GAAGR,GAAkB,IAAI,KAAQ,CAAC,CAAC,EAAE,QAAO,EAAK3E,EAAE,QAAO,GAAM,GACzE,EACD,2BAA4BG,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,YAAY,CACzC,CAAK,CACF,EACD,CACEC,EAAE,cACF,IAAIoG,GAAG,CACL,IAAKpG,EAAE,cACP,QAAS,gBACT,cAAe,OACf,gBAAiB,IAAM,GAAK,GAAK,GAAK,EACtC,2BAA4BD,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,YAAY,CACzC,CAAK,CACF,EACD,CACEC,EAAE,eACF,IAAIqG,GAAG,CACL,IAAKrG,EAAE,eACP,QAAS,iBACT,cAAe,QACf,gBAAiB,IAAM,CACrB,IAAIJ,EAAI,EACR,MAAMC,EAAIqF,EAAkB,IAAI,IAAM,EAAG,EAAIA,EAAEO,GAAkB,IAAI,KAAQ,CAAC,CAAC,EAC/E,OAAO5F,EAAE,kBAAiB,IAAO,EAAE,kBAAiB,IAAOD,EAAI2G,GAAG1G,EAAG,CAAC,GAAI,GAAK,GAAK,GAAKsF,GAAoB,IAAI,KAAI,EAAI,SAA0B,IAAI,KAAI,EAAI,SAAQ,EAAK,CAAC,CAAC,EAAIG,GAAG1F,CAAC,CACvL,EACD,2BAA4BG,EAAE,MAC9B,gBAAiBA,EAAE,MACnB,WAAY,GACZ,aAAc,CAAC,OAAQ,YAAY,CACzC,CAAK,CACF,CACH,CAAC,EAkCD,SAASwG,GAAG3G,EAAGC,EAAG,CAChB,OAAO2F,GAAG5F,EAAE,kBAAmB,EAAGC,EAAE,kBAAiB,CAAE,CACzD,uNCp4BA,SAAwB2G,IAAU,CAC1B,MAAAC,EAAOC,GAAAA,WAA2B,QAASC,EAAO,EAEjD,MAAA,CAAA,KACLF,EACA,MAAOG,kBAA+BH,CAAI,CAAA,CAE9C,CCRY,IAAAI,GAAAA,IACVA,EAAA,YAAc,cACdA,EAAA,oBAAsB,sBACtBA,EAAA,cAAgB,gBAChBA,EAAA,oBAAsB,sBACtBA,EAAA,gBAAkB,kBAClBA,EAAA,MAAQ,QACRA,EAAA,YAAc,cACdA,EAAA,YAAc,cACdA,EAAA,oBAAsB,sBACtBA,EAAA,KAAO,OACPA,EAAA,aAAe,eAXLA,IAAAA,GAAA,CAAA,CAAA,EAcAC,GAAAA,IACVA,EAAA,cAAgB,gBAChBA,EAAA,mBAAqB,qBACrBA,EAAA,qBAAuB,uBACvBA,EAAA,qBAAuB,uBACvBA,EAAA,qBAAuB,uBACvBA,EAAA,kBAAoB,oBACpBA,EAAA,kBAAoB,oBACpBA,EAAA,kBAAoB,oBACpBA,EAAA,iBAAmB,mBACnBA,EAAA,iBAAmB,mBACnBA,EAAA,iBAAmB,mBAXTA,IAAAA,GAAA,CAAA,CAAA,EAcAC,IAAAA,IACVA,EAAA,GAAK,KACLA,EAAA,OAAS,SAFCA,IAAAA,IAAA,CAAA,CAAA,EC9BL,MAAMC,GAAgC,EAChCC,EAAyB,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAC3DC,GAAsB,CAAC,MAAO,KAAK,EC8uDhD,IAAIrD,IAAuBsD,IAAOA,EAAE,WAAa,aAAcA,EAAE,oBAAsB,sBAAuBA,EAAE,QAAU,UAAWA,EAAE,QAAU,UAAWA,EAAE,iBAAmB,mBAAoBA,EAAE,MAAQ,QAASA,EAAE,eAAiB,iBAAkBA,IAAItD,IAAM,CAAE,CAAA,EACzQ,MAAMuD,GAAMD,GAAM,CAChB,IAAItH,EAAGD,EAAG,EAAGS,EAAGY,EAChB,OAAOkG,EAAI,CAAC,GACVtH,EAAI,OAAO,KAAKsH,CAAC,IAAM,MAAQtH,EAAE,SAAWD,EAAIuH,EAAE,OAAS,MAAQvH,EAAE,SAAWS,GAAK,EAAI8G,EAAE,OAAS,KAAO,OAAS,EAAE,OAAS,MAAQ9G,EAAE,QAAU,GAAGY,EAAIkG,EAAE,OAAS,MAAQlG,EAAE,OAAS,OAAOkG,EAAE,MAAQ,UAAY,OAAO,KAAKA,GAAK,KAAO,OAASA,EAAE,IAAI,EAAE,QAAU,EAC5Q,EACA,SAASE,GAAGF,EAAInF,EAAAA,IAAE,CAAE,CAAA,EAAGnC,EAAGD,EAAG,EAAIwH,GAAI,CACnC,MAAM/G,EAAI2B,EAAC,IACT,SAEJ,EACE,OAAO0C,EAAE,YAAC,IAAM,CACd,MAAMzD,EAAI,EAAEkG,EAAE,KAAK,EACnB,GAAIA,EAAE,OAASlG,GAAKrB,EAAE,MAAO,CAC3BS,EAAE,MAAQ,sBACV,MACD,CACD,GAAI8G,EAAE,OAASvH,EAAE,MAAO,CACtBS,EAAE,MAAQ,aACV,MACD,CACD,GAAI8G,EAAE,OAAStH,EAAE,MAAO,CACtBQ,EAAE,MAAQ,iBACV,MACD,CACD,GAAI8G,EAAE,QAAU,QAAU,CAACtH,EAAE,MAAO,CAClCQ,EAAE,MAAQ,UACV,MACD,CACD,GAAI8G,EAAE,OAAS,CAACtH,EAAE,OAASoB,EAAG,CAC5BZ,EAAE,MAAQ,mBACV,MACD,CACD,GAAI8G,EAAE,OAAS,CAACtH,EAAE,MAAO,CACvBQ,EAAE,MAAQ,UACV,MACD,CACD8G,EAAE,QAAU,QAAUtH,IAAMQ,EAAE,MAAQ,QAC1C,CAAG,EAAG,CACF,MAAOA,EACP,UAAWwD,EACf,CACA,CC/wDa,MAAAyD,EAAc,OAAO,SAAS,EAKrCC,GAAuBV,EAAsB,oBAc7CW,GAAY,CAACC,EAAoCC,EAA8BC,EAA0CC,EAA6CC,IAAwB,CAC7LJ,EAAOC,CAAI,EAAEC,CAAW,IAC3BF,EAAOC,CAAI,EAAEC,CAAW,EAAI,CAAA,GAE9BF,EAAOC,CAAI,EAAEC,CAAW,EAAEC,CAAc,EAAIC,CAC9C,EAEgB,SAAAC,GAAkBL,EAAkCM,EAAsBC,EAAgD,OAExI,MAAMC,IAAaC,EAAAT,EAAO,KAAK,cAAZ,YAAAS,EAA0B,KAAM,GAK7CC,EAAiB,OAAO,KAAKV,EAAO,KAAK,YAAc,CAAA,CAAE,EACzDW,EAAwB,CAAC,CAACD,EAAe,KAAKtG,GAAKA,IAAM0F,EAAoB,EAC7Ec,EAAeF,EAAe,KAAKtG,GAAKA,IAAM0F,EAAoB,EAExE,OAAIY,EAAe,OAAS,GAAMA,EAAe,OAAS,GAAK,CAACC,GACtD,QAAA,MAAM,mDAAoDD,CAAc,EACzE,CACL,SAAU,CAAE,CAACb,CAAW,EAAG,CAAE,CAACA,CAAW,EAAG,CAAA,CAAI,EAChD,QAAS,CAAE,CAACA,CAAW,EAAG,CAAE,CAACA,CAAW,EAAG,CAAA,CAAI,CAAA,GAM5CG,EAAO,QAAQ,OAAmC,CAACA,EAAQa,IAAW,CACrE,MAAAT,EAAcS,EAAO,MAAML,CAAU,EAIrCN,EAAcU,EAAeC,EAAO,MAAMD,CAAY,EAAcf,EAIpEM,EAAiBQ,EAAwBE,EAAO,MAAMf,EAAoB,EAAcD,EAK9F,OAAI,IAAI,KAAKgB,EAAO,SAAS,EAAE,YAAcP,EAAU,UAAU,EAAE,QAAQ,GAAKC,EAC9ER,GAAUC,EAAQ,WAAYE,EAAaC,EAAgBC,CAAW,EAEtEL,GAAUC,EAAQ,UAAWE,EAAaC,EAAgBC,CAAW,EAGhEJ,CAAA,EACN,CACD,SAAU,CAAC,EACX,QAAS,CAAC,CAAA,CACmB,CACjC,CAEA,SAAwBc,GAAiBC,EAA2C,CAC9EA,EAAK,aAAe,SACjBA,EAAA,WAAaC,WAAS,IAAM,EAAI,GAGjC,MAAAV,EAA4BU,EAAAA,SAAS,IAClCD,EAAK,UAAY,IAAIE,GAAeF,EAAK,UAAU,KAAK,EAAI,IAAIG,GAAeH,EAAK,UAAU,KAAK,CAC3G,EAEKI,EAA6BH,EAAAA,SAAS,IAAO,SAAA,OACjD,QAASD,EAAK,QACd,WAAY,CACV,IAAIN,EAAAM,EAAK,aAAL,MAAAN,EAAiB,OAAS,CAAC,GAAGM,EAAK,UAAqC,EAAI,CAAC,EACjF,GAAIA,EAAK,UAAY,CAAC3B,EAAsB,IAAI,EAAI,CAAC,CACvD,EACA,cAAekB,EAAU,MAAM,cAAc,EAC7C,IAAIc,EAAAL,EAAK,OAAO,QAAZ,MAAAK,EAAmB,OAAS,CAAE,OAAQL,EAAK,OAAO,KAAM,EAAI,CAAC,CACjE,EAAA,EAEIM,EAAkBL,EAAAA,SAAS,IAAM,GAAGV,EAAU,MAAM,UAAU,SAAU,CAAA,IAAIA,EAAU,MAAM,UAAY,EAAA,SAAA,CAAU,EAAE,EACpHgB,EAA+BN,EAAAA,SAAS,IAAM,aAClD,GAAI,GAACP,EAAAM,EAAK,aAAL,MAAAN,EAAiB,QAAUM,EAAK,cAAgB,CAACA,EAAK,aAAa,MAAW3I,GAAAA,CAAC,EAC3E,OAAA,KAGH,MAAAmJ,GAAsBH,EAAAL,EAAK,SAAL,MAAAK,EAAa,MAAQ,KAAK,UAAUL,EAAK,OAAO,KAAK,EAAI,GAIrF,MAAO,kBAAkBM,EAAgB,KAAK,KAAIG,EAAAT,EAAK,aAAL,YAAAS,EAAiB,KAAK,IAAI,KAAIC,EAAAV,EAAK,UAAL,YAAAU,EAAc,KAAK,IAAI,IAAIF,CAAmB,EAAA,CAC/H,EAEK,CAAE,SAAUG,EAAK,MAAOC,EAAa,aAAcC,GAA2BC,EAAY,WAC9F,IAAMP,EAAS,MACf,IAAMP,EAAK,YAAYT,EAAU,MAAOa,EAAM,KAAK,EACnD,CACE,gBAAiBJ,EAAK,gBACtB,kBAAmB,GACnB,gBAAiBxB,EACnB,CAAA,EAGI,CAAE,MAAOuC,EAAoB,UAAWC,GAAUC,GAAaN,EAAKC,EAAaC,CAAsB,EAEvGK,EAASjB,EAAAA,SAAqC,IAAM,yBACxD,MAAI,GAACQ,GAAAJ,GAAAX,EAAAiB,EAAI,QAAJ,YAAAjB,EAAW,OAAX,YAAAW,EAAiB,UAAjB,MAAAI,EAA0B,SAAU,GAACU,GAAA9G,GAAAqG,EAAAC,EAAI,QAAJ,YAAAD,EAAW,OAAX,YAAArG,EAAiB,OAAjB,MAAA8G,EAAuB,aAAc,GAACC,GAAAC,GAAAC,GAAAC,EAAAZ,EAAI,QAAJ,YAAAY,EAAW,OAAX,YAAAD,EAAiB,OAAjB,YAAAD,EAAuB,cAAvB,MAAAD,EAAoC,QAE3G,CAAE,QAAS,CAAA,EAAI,SAAU,CAAG,CAAA,EAG9B9B,GAAkBqB,EAAI,MAAM,KAAMpB,EAAU,MAAO,CAAC,CAACS,EAAK,SAAS,CAAA,CAC3E,EAEM,MAAA,CACL,UAAWC,EAAS,SAAA,IAAMe,EAAM,UAAYD,EAAmB,KAAK,EACpE,SAAUd,EAAS,SAAA,IAAMe,EAAM,QAAUD,EAAmB,KAAK,EACjE,IAAAJ,EACA,OAAAO,CAAA,CAEJ,CChIO,MAAMM,EAAY,CAACC,EAAyCC,EAAgCC,EAAkD7C,EAAa8C,KACrGA,GAAoB,CAAC9C,CAAW,GAGpE,OAAO,CAAC+C,EAAaC,IAAwC,CAClF,MAAMC,EAAaN,EAAYC,CAAM,EAAEC,CAAkB,EACzD,OAAII,EACKF,GAAOE,EAAWD,CAAM,GAAK,GAG/BD,GACN,CAAC,EAGN,SAAwBG,GAAqBhC,EAA0C,CAC/E,KAAA,CACJ,MAAAiC,EACA,OAAAnC,EACA,SAAAoC,EACA,cAAAC,EACA,cAAAC,CACE,EAAApC,EAEJ,OAAOC,WAAwB,IAAM,CACnC,IAAIoC,EAAe,EACfC,EAAgB,EAEpB,GAAIxC,GAAA,MAAAA,EAAQ,MACN,GAAA,CACFuC,EAAeb,EAAU1B,EAAO,MAAO,UAAWE,EAAK,UAAWA,EAAK,gBAAgB,EACvFsC,EAAgBd,EAAU1B,EAAO,MAAO,WAAYE,EAAK,UAAWA,EAAK,gBAAgB,QAClF3I,EAAG,CAEF,QAAA,MACN,wDACAA,CAAA,CAEJ,CAGK,MAAA,CACL,SAAU6K,EAAS,MACnB,aAAAG,EACA,cAAAC,EACA,MAAOL,EAAM,MACb,cAAe,CAAC,CAACE,EACjB,cAAAC,CAAA,CACF,CACD,CACH,CC5DA,IAAIG,GAAQ,IAAI,QAEZC,GAAU,EAEC,SAASC,GAAKC,EAAM,CAC/B,GAAI,CAACA,EAAK,OACN,MAAO,GAEX,QADIC,EAAM,MACDlK,EAAI,EAAGA,EAAIiK,EAAK,OAAQ,EAAEjK,EAAG,CAClC,IAAImK,EAAQ,OACRF,EAAKjK,CAAC,IAAM,MACX,OAAOiK,EAAKjK,CAAC,GAAM,UAAY,OAAOiK,EAAKjK,CAAC,GAAM,WAQ/C,OAAOiK,EAAKjK,CAAC,GAAM,SACnBmK,EAAQ,IAAMF,EAAKjK,CAAC,EAAI,IAGxBmK,EAAQ,OAAOF,EAAKjK,CAAC,CAAC,EAIrB8J,GAAM,IAAIG,EAAKjK,CAAC,CAAC,EAKlBmK,EAAQL,GAAM,IAAIG,EAAKjK,CAAC,CAAC,GAJzBmK,EAAQJ,GACRD,GAAM,IAAIG,EAAKjK,CAAC,EAAG+J,IAAS,GAMpCG,GAAO,IAAMC,CAChB,CACD,OAAOD,CACX,CC1CA,SAASE,GAAoBF,EAAK,CAC9B,GAAI,OAAOA,GAAQ,WACf,GAAI,CACAA,EAAMA,EAAG,CACZ,MACW,CAERA,EAAM,EACT,CAEL,OAAI,MAAM,QAAQA,CAAG,EACjBA,EAAMF,GAAKE,CAAG,EAIdA,EAAM,OAAOA,GAAO,EAAE,EAEnBA,CACX,CACA,IAAIG,GAA2B,UAAY,CACvC,SAASA,EAAUC,EAAK,CAChBA,IAAQ,SAAUA,EAAM,GAC5B,KAAK,MAAQ,IAAI,IACjB,KAAK,IAAMA,CACd,CACD,OAAAD,EAAU,UAAU,aAAe,SAAUH,EAAK,CAC9C,OAAOE,GAAoBF,CAAG,CACtC,EACIG,EAAU,UAAU,IAAM,SAAUzJ,EAAG,CACnC,IAAI2J,EAAO,KAAK,aAAa3J,CAAC,EAC9B,OAAO,KAAK,MAAM,IAAI2J,CAAI,CAClC,EACIF,EAAU,UAAU,IAAM,SAAUzJ,EAAGuC,EAAGmH,EAAK,CAC3C,IAAIC,EAAO,KAAK,aAAa3J,CAAC,EAC1B4J,EAAaF,GAAO,KAAK,IACzBG,EAAM,KAAK,MACXC,EAAO,CACP,KAAMvH,EACN,UAAWsH,EACX,UAAWD,EAAaC,EAAMD,EAAa,GACvD,EACQ,KAAK,eAAeA,EAAYE,EAAMH,CAAI,EAC1C,KAAK,MAAM,IAAIA,EAAMG,CAAI,CACjC,EACIL,EAAU,UAAU,eAAiB,SAAUC,EAAKI,EAAMC,EAAe,CACrE,IAAIC,EAAQ,KACZN,GAAO,WAAW,UAAY,CAC1B,IAAIO,EAAU,KAAK,MACfC,EAAaD,GAAWH,EAAK,UAC7BI,GACAF,EAAM,OAAOD,CAAa,CACjC,EAAEL,CAAG,CACd,EACID,EAAU,UAAU,OAAS,SAAUM,EAAe,CAClD,KAAK,MAAM,OAAOA,CAAa,CACvC,EACWN,CACX,IC1DA,SAASU,IAAW,CAChB,OAAI,OAAO,UAAU,OAAW,IACrB,UAAU,OAGd,EACX,CACA,SAASC,IAAoB,CACzB,OAAI,OAAO,SAAa,KACpB,OAAO,SAAS,gBAAoB,IAC7B,SAAS,kBAAoB,SAGjC,EACX,CACA,IAAIC,GAAU,SAAUC,EAAK,CAAE,OAAO,MAAMA,CAAG,EAAE,KAAK,SAAUC,EAAK,CAAE,OAAOA,EAAI,KAAM,CAAG,CAAA,CAAE,EAC9E,MAAAC,GAAA,CACX,SAAUL,GACV,kBAAmBC,GACnB,QAASC,EACb,ECpBA,IAAII,EAAYC,YAAQA,WAAK,UAAa,UAAY,CAClD,OAAAD,EAAW,OAAO,QAAU,SAAS1M,EAAG,CACpC,QAASG,EAAGkB,EAAI,EAAG,EAAI,UAAU,OAAQA,EAAI,EAAGA,IAAK,CACjDlB,EAAI,UAAUkB,CAAC,EACf,QAAS2D,KAAK7E,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAG6E,CAAC,IAC1DhF,EAAEgF,CAAC,EAAI7E,EAAE6E,CAAC,EACjB,CACD,OAAOhF,CACf,EACW0M,EAAS,MAAM,KAAM,SAAS,CACzC,EACIE,EAAaD,YAAQA,WAAK,WAAc,SAAUE,EAASC,EAAYtH,EAAGuH,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBzH,EAAIyH,EAAQ,IAAIzH,EAAE,SAAU0H,EAAS,CAAEA,EAAQD,CAAK,CAAE,CAAE,CAAI,CAC5G,OAAO,IAAKzH,IAAMA,EAAI,UAAU,SAAU0H,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAE,OAAUhN,EAAG,CAAEkN,EAAOlN,CAAC,EAAM,CAC3F,SAASqN,EAASL,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQhN,EAAG,CAAEkN,EAAOlN,CAAC,EAAM,CAC9F,SAASoN,EAAKxF,EAAQ,CAAEA,EAAO,KAAOqF,EAAQrF,EAAO,KAAK,EAAImF,EAAMnF,EAAO,KAAK,EAAE,KAAKuF,EAAWE,CAAQ,CAAI,CAC9GD,GAAMN,EAAYA,EAAU,MAAMF,EAASC,GAAc,CAAE,CAAA,GAAG,KAAI,CAAE,CAC5E,CAAK,CACL,EACIS,EAAeZ,YAAQA,WAAK,aAAgB,SAAUE,EAASW,EAAM,CACrE,IAAItI,EAAI,CAAE,MAAO,EAAG,KAAM,UAAW,CAAE,GAAIlF,EAAE,CAAC,EAAI,EAAG,MAAMA,EAAE,CAAC,EAAG,OAAOA,EAAE,CAAC,CAAI,EAAE,KAAM,CAAE,EAAE,IAAK,CAAA,CAAI,EAAEiG,EAAGX,EAAGtF,EAAG+C,EAC/G,OAAOA,EAAI,CAAE,KAAM0K,EAAK,CAAC,EAAG,MAASA,EAAK,CAAC,EAAG,OAAUA,EAAK,CAAC,CAAG,EAAE,OAAO,QAAW,aAAe1K,EAAE,OAAO,QAAQ,EAAI,UAAW,CAAE,OAAO,IAAO,GAAGA,EACvJ,SAAS0K,EAAK/M,EAAG,CAAE,OAAO,SAAU8D,EAAG,CAAE,OAAO6I,EAAK,CAAC3M,EAAG8D,CAAC,CAAC,CAAI,CAAG,CAClE,SAAS6I,EAAKK,EAAI,CACd,GAAIzH,EAAG,MAAM,IAAI,UAAU,iCAAiC,EAC5D,KAAOf,GAAG,GAAI,CACV,GAAIe,EAAI,EAAGX,IAAMtF,EAAI0N,EAAG,CAAC,EAAI,EAAIpI,EAAE,OAAYoI,EAAG,CAAC,EAAIpI,EAAE,SAActF,EAAIsF,EAAE,SAActF,EAAE,KAAKsF,CAAC,EAAG,GAAKA,EAAE,OAAS,EAAEtF,EAAIA,EAAE,KAAKsF,EAAGoI,EAAG,CAAC,CAAC,GAAG,KAAM,OAAO1N,EAE3J,OADIsF,EAAI,EAAGtF,IAAG0N,EAAK,CAACA,EAAG,CAAC,EAAI,EAAG1N,EAAE,KAAK,GAC9B0N,EAAG,CAAC,EAAC,CACT,IAAK,GAAG,IAAK,GAAG1N,EAAI0N,EAAI,MACxB,IAAK,GAAG,OAAAxI,EAAE,QAAgB,CAAE,MAAOwI,EAAG,CAAC,EAAG,KAAM,EAAK,EACrD,IAAK,GAAGxI,EAAE,QAASI,EAAIoI,EAAG,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,SACxC,IAAK,GAAGA,EAAKxI,EAAE,IAAI,MAAOA,EAAE,KAAK,IAAG,EAAI,SACxC,QACI,GAAMlF,EAAIkF,EAAE,KAAM,EAAAlF,EAAIA,EAAE,OAAS,GAAKA,EAAEA,EAAE,OAAS,CAAC,KAAO0N,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAI,CAAExI,EAAI,EAAG,QAAW,CAC5G,GAAIwI,EAAG,CAAC,IAAM,IAAM,CAAC1N,GAAM0N,EAAG,CAAC,EAAI1N,EAAE,CAAC,GAAK0N,EAAG,CAAC,EAAI1N,EAAE,CAAC,GAAK,CAAEkF,EAAE,MAAQwI,EAAG,CAAC,EAAG,KAAQ,CACtF,GAAIA,EAAG,CAAC,IAAM,GAAKxI,EAAE,MAAQlF,EAAE,CAAC,EAAG,CAAEkF,EAAE,MAAQlF,EAAE,CAAC,EAAGA,EAAI0N,EAAI,KAAQ,CACrE,GAAI1N,GAAKkF,EAAE,MAAQlF,EAAE,CAAC,EAAG,CAAEkF,EAAE,MAAQlF,EAAE,CAAC,EAAGkF,EAAE,IAAI,KAAKwI,CAAE,EAAG,KAAQ,CAC/D1N,EAAE,CAAC,GAAGkF,EAAE,IAAI,IAAG,EACnBA,EAAE,KAAK,IAAK,EAAE,QACrB,CACDwI,EAAKF,EAAK,KAAKX,EAAS3H,CAAC,CAC5B,OAAQjF,EAAG,CAAEyN,EAAK,CAAC,EAAGzN,CAAC,EAAGqF,EAAI,CAAE,QAAW,CAAEW,EAAIjG,EAAI,CAAI,CAC1D,GAAI0N,EAAG,CAAC,EAAI,EAAG,MAAMA,EAAG,CAAC,EAAG,MAAO,CAAE,MAAOA,EAAG,CAAC,EAAIA,EAAG,CAAC,EAAI,OAAQ,KAAM,GAC7E,CACL,EACIC,GAAUhB,YAAQA,WAAK,QAAW,SAAUvM,EAAGM,EAAG,CAClD,IAAI+D,EAAI,OAAO,QAAW,YAAcrE,EAAE,OAAO,QAAQ,EACzD,GAAI,CAACqE,EAAG,OAAOrE,EACf,IAAIiB,EAAIoD,EAAE,KAAKrE,CAAC,EAAGmH,EAAGqG,EAAK,CAAE,EAAE3N,EAC/B,GAAI,CACA,MAAQS,IAAM,QAAUA,KAAM,IAAM,EAAE6G,EAAIlG,EAAE,KAAM,GAAE,MAAMuM,EAAG,KAAKrG,EAAE,KAAK,CAC5E,OACMsG,EAAO,CAAE5N,EAAI,CAAE,MAAO4N,CAAO,CAAG,QAC/B,CACJ,GAAI,CACItG,GAAK,CAACA,EAAE,OAAS9C,EAAIpD,EAAE,SAAYoD,EAAE,KAAKpD,CAAC,CAClD,QACO,CAAE,GAAIpB,EAAG,MAAMA,EAAE,KAAQ,CACpC,CACD,OAAO2N,CACX,EACIE,GAAiBnB,YAAQA,WAAK,eAAkB,SAAUoB,EAAIC,EAAMC,EAAM,CAC1E,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAAS5M,EAAI,EAAGI,EAAIuM,EAAK,OAAQJ,EAAIvM,EAAII,EAAGJ,KACxEuM,GAAM,EAAEvM,KAAK2M,MACRJ,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAKI,EAAM,EAAG3M,CAAC,GACnDuM,EAAGvM,CAAC,EAAI2M,EAAK3M,CAAC,GAGtB,OAAO0M,EAAG,OAAOH,GAAM,MAAM,UAAU,MAAM,KAAKI,CAAI,CAAC,CAC3D,EA2BIE,GAAa,IAAIxC,GACjByC,EAAY,IAAIzC,GAChB0C,GAAiB,IAAI1C,GACrB2C,GAAgB,CAChB,MAAOH,GACP,gBAAiB,EACjB,IAAK,EACL,UAAW,IACX,iBAAkB,IAClB,kBAAmB,GACnB,mBAAoB,EACpB,mBAAoB,GACpB,mBAAoB,IACpB,gBAAiB,EACjB,QAASzB,GAAU,QACnB,SAAUA,GAAU,SACpB,kBAAmBA,GAAU,iBACjC,EAIA,SAAS6B,GAAY/C,EAAKgD,EAAQ5C,EAAK,CACnC,IAAI6C,EAAeL,EAAU,IAAI5C,CAAG,EACpC,GAAIiD,EACAA,EAAa,KAAK,KAAKD,CAAM,MAE5B,CAED,IAAIE,EAAc,IAClBN,EAAU,IAAI5C,EAAK,CAACgD,CAAM,EAAG5C,EAAM,EAAIA,EAAM8C,EAAc9C,CAAG,CACjE,CACL,CACA,SAAS+C,GAAaC,EAAYC,EAAiBC,EAAQ,CACvD,GAAKA,EAAO,qBAGR,EAAAA,EAAO,kBAAoB,QAAaD,EAAkBC,EAAO,iBAGrE,KAAIC,EAAQ,KAAK,IAAIF,GAAmB,EAAGC,EAAO,eAAe,EAC7DE,EAAUD,EAAQD,EAAO,mBAC7B,WAAW,UAAY,CACnBF,EAAW,KAAM,CAAE,gBAAiBG,EAAQ,EAAG,mBAAoB,EAAI,CAAE,CAC5E,EAAEC,CAAO,EACd,CAKA,IAAIC,GAAS,SAAUzD,EAAKiB,EAAKyC,EAAOtD,EAAK,CACzC,OAAIsD,IAAU,SAAUA,EAAQf,IAC5BvC,IAAQ,SAAUA,EAAM0C,GAAc,KACnCzB,EAAU,OAAQ,OAAQ,OAAQ,UAAY,CACjD,IAAIsC,EAAMrB,EAAOsB,EAAcC,EAAOC,EAASC,EAAUC,EACzD,OAAOhC,EAAY,KAAM,SAAUjF,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD,GAAI,CAACkH,GAAUhD,CAAG,EAAG,MAAO,CAAC,EAAa,CAAC,EAC3ClE,EAAG,MAAQ,EACf,IAAK,GACD,OAAAA,EAAG,KAAK,KAAK,CAAC,EAAG,EAAC,CAAI,CAAC,CAAC,EACjB,CAAC,EAAakE,CAAG,EAC5B,IAAK,GACD,OAAA0C,EAAO5G,EAAG,OACH,CAAC,EAAa,CAAC,EAC1B,IAAK,GACD,OAAA8G,EAAQ9G,EAAG,OACXuF,EAAQuB,EACD,CAAC,EAAa,CAAC,EAC1B,IAAK,GAAG,MAAO,CAAC,EAAa,CAAC,EAC9B,IAAK,GACDF,EAAO1C,EACPlE,EAAG,MAAQ,EACf,IAAK,GAID,GAFA6G,EAAe,GACfE,EAAU,CAAE,KAAMH,EAAM,MAAOrB,EAAO,aAAcsB,GAChD,OAAOD,EAAS,IAChB,GAAI,CACAD,EAAM,IAAI1D,EAAK8D,EAAS1D,CAAG,CAC9B,OACM8D,EAAK,CACR,QAAQ,MAAM,oCAAqCA,CAAG,CACzD,CAEL,OAAAH,EAAWnB,EAAU,IAAI5C,CAAG,EACxB+D,GAAYA,EAAS,KAAK,SAC1BC,EAASD,EAAS,KAAK,OAAO,SAAU/H,EAAG,CAAE,OAAOA,EAAE,MAAQgE,CAAM,CAAA,EACpEgE,EAAO,QAAQ,SAAUhI,EAAGmI,EAAK,CACzB,OAAOL,EAAQ,KAAS,MACxB9H,EAAE,KAAO8H,EAAQ,MAErB9H,EAAE,MAAQ8H,EAAQ,MAClB9H,EAAE,aAAe8H,EAAQ,aACzB,IAAIM,EAASD,IAAQH,EAAO,OAAS,EAChCI,GAED,OAAOJ,EAAOG,CAAG,CAEjD,CAAyB,EACDH,EAASA,EAAO,OAAO,OAAO,GAE3B,CAAC,EAAcF,CAAO,CACpC,CACb,CAAS,CACT,CAAK,CACL,EACA,SAASO,IAAU,CAGf,QAFI3D,EAAQ,KACRX,EAAO,CAAA,EACFrB,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCqB,EAAKrB,CAAE,EAAI,UAAUA,CAAE,EAE3B,IAAIsB,EACAsE,EACAhB,EAASnC,EAAS,CAAE,EAAE2B,EAAa,EACnCyB,EAAY,GACZC,EAAa,GACbC,EAAWC,EAAAA,qBACXC,GAAMF,GAAa,KAA8B,OAASA,EAAS,QAAUA,EACjF,GAAI,CAACE,EACD,eAAQ,MAAM,uHAAuH,EAC9H,KAEX,IAAIC,GAAaD,GAAO,KAAwB,OAASA,EAAG,YAAc,GAWtE5E,EAAK,QAAU,IACfC,EAAMD,EAAK,CAAC,GAEZA,EAAK,QAAU,IACfuE,EAAKvE,EAAK,CAAC,GAEXA,EAAK,OAAS,IACduD,EAASnC,EAASA,EAAS,CAAE,EAAEmC,CAAM,EAAGvD,EAAK,CAAC,CAAC,GAEnD,IAAIK,EAAMwE,EAAYtB,EAAO,UAAYA,EAAO,IAC5CuB,EAAS,OAAO7E,GAAQ,WAAaA,EAAM8E,EAAAA,IAAI9E,CAAG,EAClD,OAAOsE,EAAO,MAEdA,EAAKhB,EAAO,SAEhB,IAAIS,EAAW,KAiBVA,IACDA,EAAWgB,EAAAA,SAAS,CAChB,KAAM,OACN,MAAO,OACP,aAAc,GACd,IAAK,IACjB,CAAS,GAKL,IAAI3B,EAAa,SAAUO,EAAMtG,EAAM,CAAE,OAAOgE,EAAUX,EAAO,OAAQ,OAAQ,UAAY,CACzF,IAAIsE,EAAcC,EAAQC,EAAWpB,EAAS/C,GAASoE,GAAkBC,GACrE1E,GAAQ,KACZ,OAAOsB,EAAY,KAAM,SAAUjF,GAAI,CACnC,OAAQA,GAAG,MAAK,CACZ,IAAK,GAGD,OAFAiI,EAAejB,EAAS,OAAS,OACjCkB,EAASJ,EAAO,MACXI,GAGLC,EAAY5B,EAAO,MAAM,IAAI2B,CAAM,EACnCnB,EAAUoB,GAAaA,EAAU,KACjCnB,EAAS,aAAe,GACpBD,IACAC,EAAS,KAAOD,EAAQ,KACxBC,EAAS,MAAQD,EAAQ,OAE7B/C,GAAU4C,GAAQW,EACd,CAACvD,IACA,CAACuC,EAAO,qBAAuB,CAAC0B,IAC/B3H,GAAS,KAA0B,OAASA,EAAK,mBAAqB,QAAa,EAAEA,GAAS,MAAmCA,EAAK,kBACxI0G,EAAS,aAAe,GACjB,CAAC,CAAC,GAGTmB,IACAC,GAAmB,GAAU,KAAK,IAAG,EAAKD,EAAU,WAAc5B,EAAO,kBAAsBjG,GAAS,MAAmCA,EAAK,iBAC5I,CAAC8H,KACDpB,EAAS,aAAe,GACjB,CAAC,CAAC,IAGjBqB,GAAU,UAAY,CAAE,OAAO/D,EAAUX,GAAO,OAAQ,OAAQ,UAAY,CACxE,IAAI2E,EAAkBC,GAAaC,GAAYC,GAC/C,OAAOxD,EAAY,KAAM,SAAUjF,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GAED,OADAsI,EAAmBxC,GAAe,IAAIoC,CAAM,EACtCI,EAAyB,CAAC,EAAa,CAAC,GAC9CC,GAAc,MAAM,QAAQL,CAAM,EAAIA,EAAS,CAACA,CAAM,EACtDM,GAAaxE,GAAQ,MAAM,OAAQwB,GAAc,CAAE,EAAEH,GAAOkD,EAAW,EAAG,EAAK,CAAC,EAChFzC,GAAe,IAAIoC,EAAQM,GAAYjC,EAAO,gBAAgB,EACvD,CAAC,EAAaG,GAAOwB,EAAQM,GAAYjC,EAAO,MAAOlD,CAAG,CAAC,GACtE,IAAK,GACD,OAAArD,EAAG,KAAI,EACA,CAAC,EAAa,CAAC,EAC1B,IAAK,GAAG,MAAO,CAAC,EAAa0G,GAAOwB,EAAQI,EAAiB,KAAM/B,EAAO,MAAOlD,CAAG,CAAC,EACrF,IAAK,GACDrD,EAAG,KAAI,EACPA,EAAG,MAAQ,EACf,IAAK,GACD,OAAAgH,EAAS,aAAe,GACxBlB,GAAe,OAAOoC,CAAM,EACxBlB,EAAS,QAAU,SACnByB,GAAqB,CAACjB,GAAajB,EAAO,qBAAuBjG,EAAOA,EAAK,mBAAqB,IAC9FmI,IACArC,GAAaC,EAAY/F,EAAOA,EAAK,gBAAkB,EAAGiG,CAAM,GAGjE,CAAC,CAAC,CAChB,CAC7B,CAAyB,CACJ,CAAA,CAAE,EACGQ,GAAWR,EAAO,oBACxB,WAAW,UAAY,CAAE,OAAOjC,EAAUX,GAAO,OAAQ,OAAQ,UAAY,CACzE,OAAOsB,EAAY,KAAM,SAAUjF,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD,OAAMwH,EAAkB,CAAC,EAAa,CAAC,EAChC,CAAC,EAAaa,GAAO,CAAE,EAClC,IAAK,GACDrI,EAAG,KAAI,EACPA,EAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EACnB,CAC7B,CAAyB,CACJ,CAAA,CAAI,EAAEuG,EAAO,kBAAkB,EACzB,CAAC,EAAa,CAAC,GAd8B,CAAC,EAAa,CAAC,IAvDxD,CAAC,CAAC,EAsEjB,IAAK,GAAG,MAAO,CAAC,EAAa8B,GAAS,CAAA,EACtC,IAAK,GACDrI,GAAG,KAAI,EACPA,GAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EACnB,CACb,CAAS,CACJ,CAAA,CAAE,EACC0I,EAAiB,UAAY,CAAE,OAAOpE,EAAUX,EAAO,OAAQ,OAAQ,UAAY,CAAE,OAAOsB,EAAY,KAAM,SAAUjF,EAAI,CAC5H,MAAO,CAAC,EAAcqG,EAAW,KAAM,CAAE,mBAAoB,EAAO,CAAA,CAAC,CAC7E,CAAK,CAAE,CAAE,GACDsC,EAAQ,KAIZC,EAAAA,UAAU,UAAY,CAClB,IAAIC,EAAO,UAAY,CAAE,OAAOvE,EAAUX,EAAO,OAAQ,OAAQ,UAAY,CACzE,OAAOsB,EAAY,KAAM,SAAUjF,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD,MAAM,CAACgH,EAAS,OAAST,EAAO,SAAU,EAGnC,CAAC,EAAaF,EAAU,CAAE,EAHmB,CAAC,EAAa,CAAC,EAIvE,IAAK,GAGD,OAAArG,EAAG,KAAI,EACA,CAAC,EAAa,CAAC,EAC1B,IAAK,GACG2I,GACA,aAAaA,CAAK,EAEtB3I,EAAG,MAAQ,EACf,IAAK,GACD,OAAIuG,EAAO,iBAAmB,CAACiB,IAC3BmB,EAAQ,WAAWE,EAAMtC,EAAO,eAAe,GAE5C,CAAC,CAAC,CAChB,CACjB,CAAa,CACJ,CAAA,CAAE,EACCA,EAAO,kBACPoC,EAAQ,WAAWE,EAAMtC,EAAO,eAAe,GAE/CA,EAAO,oBACP,SAAS,iBAAiB,mBAAoBmC,EAAgB,EAAK,EACnE,OAAO,iBAAiB,QAASA,EAAgB,EAAK,EAElE,CAAK,EAIDI,EAAAA,YAAY,UAAY,CACpBtB,EAAY,GACRmB,GACA,aAAaA,CAAK,EAElBpC,EAAO,oBACP,SAAS,oBAAoB,mBAAoBmC,EAAgB,EAAK,EACtE,OAAO,oBAAoB,QAASA,EAAgB,EAAK,GAE7D,IAAIxC,EAAeL,EAAU,IAAIiC,EAAO,KAAK,EACzC5B,IACAA,EAAa,KAAOA,EAAa,KAAK,OAAO,SAAU6B,EAAK,CAAE,OAAOA,IAAQf,CAAW,CAAA,EAEpG,CAAK,EAkCD,GAAI,CACA+B,QAAMjB,EAAQ,SAAUkB,EAAK,CACpBC,EAAAA,WAAWnB,CAAM,IAClBA,EAAO,MAAQkB,GAEnBhC,EAAS,IAAMgC,EACfhC,EAAS,aAAe,EAAQgC,EAChChD,GAAY8B,EAAO,MAAOd,EAAU3D,CAAG,EACnC,CAACwE,GAAa,CAACJ,GAAcK,EAAO,OACpCzB,IAEJoB,EAAa,EACzB,EAAW,CACC,UAAW,EACvB,CAAS,CACJ,MACU,CAEV,CACD,IAAIvD,EAAME,EAASA,EAAS,CAAE,EAAE8E,EAAM,OAAClC,CAAQ,CAAC,EAAG,CAAE,OAAQ,SAAUJ,EAAMtG,EAAM,CAAE,OAAO+F,EAAWO,EAAMxC,EAASA,EAAS,CAAE,EAAE9D,CAAI,EAAG,CAAE,gBAAiB,EAAM,CAAA,CAAC,CAAE,CAAI,CAAA,EAC1K,OAAO4D,CACX,CACA,SAASgD,GAAUxK,EAAG,CAClB,OAAOA,IAAM,MAAQ,OAAOA,GAAM,UAAY,OAAOA,EAAE,MAAS,UACpE,CCzdwB,SAAAyM,GACtBlG,EACAsE,EACAhB,EACA,CACM,KAAA,CACJ,KAAM6C,EACN,MAAA7D,EACA,aAAAsB,EACA,OAAQR,CAAA,EACNiB,GAAgDrE,EAAKsE,EAAI,CAC3D,mBAAoB,IACpB,kBAAmB,GACnB,iBAAkB,IAClB,GAAGhB,CAAA,CACJ,EAMM,MAAA,CACL,KALWhG,EAAAA,SAA2B,IAAM,OAC5C,OAAOP,EAAAoJ,EAAS,QAAT,YAAApJ,EAAgB,IAAA,CACxB,EAIC,SAAAoJ,EACA,MAAA7D,EACA,aAAAsB,EACA,WAAAR,CAAA,CAEJ,CC5Be,MAAAjF,EAAA,CACb,QAAA9C,GACA,qBAAAgE,GACA,iBAAAjC,GACA,WAAA8I,EACF,ECIaE,GAAuB,OAAO,sBAAsB,EAapDC,GAAsBhJ,GAAyB,CACpD,KAAA,CACJ,UAAAiJ,EACA,qBAAAC,EACA,iBAAAC,EACA,WAAAC,EACA,UAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAAC,CACE,EAAAxJ,EAEA,GAAAkJ,GAAwB,CAACD,EACrB,MAAA,IAAI,MAAM,kDAAkD,EAG9D,MAAAQ,EAAoB,CAAC,EAAER,GAAaC,GACpCQ,EAAmB,CAAC,EAAET,GAAa,CAACC,GAEpCS,EAAS1J,EAAAA,SAA4B,IAAM,CAC/C,MAAM2J,EAA4B,CAAA,EAElC,OAAIH,GACFG,EAAO,KAAK,CACV,UAAAX,EACA,KAAM1K,GAAwB,GAC9B,OAAQ,CAAC2K,CAAoB,CAAA,CAC9B,EAGCC,EAAiB,OACZS,EAAA,KAAK,GAAGT,EAAiB,KAAK,EAGhCS,CAAA,CACR,EAEKC,EAAoD,CACxD,QAAS,CACPvL,EAAwB,aAC1B,EAIA,WAAY,CACV,GAAK2K,GAAa,CAACQ,EAAqB,CAACR,CAAS,EAAI,CAAC,EACvD5K,EAAsB,mBACxB,EAEA,OAAAsL,EACA,WAAAP,EACA,UAAAC,EAGA,UAAWC,GAAkB,CAACI,EAE9B,gBAAAH,EACA,YAAAC,CAAA,EAGIM,EAAoD,CACxD,QAAS,CACPxL,EAAwB,oBAC1B,EAIA,GAAK2K,GAAa,CAACQ,EAAqB,CAAE,WAAY,CAACR,CAAS,CAAE,EAAI,CAAC,EAEvE,OAAAU,EACA,WAAAP,EACA,UAAAC,EAGA,UAAWC,GAAkB,CAACI,EAE9B,gBAAAH,EACA,YAAAC,CAAA,EAGIO,EAAcjJ,EAAY,iBAAiB+I,CAA2B,EACtEG,EAAclJ,EAAY,iBAAiBgJ,CAA2B,EAErE,MAAA,CACL,YAAAC,EACA,YAAAC,CAAA,CAEJ,mYC/EI,GAAAC,EAAM,WAAa,CAAC,GAAG,eAAe,KAAK5L,EAAuB4L,EAAM,SAAS,EACnF,MAAM,IAAI,MAAM,+DAA+DA,EAAM,SAAS,EAAE,EAQ5F,MAAAZ,EAAYpJ,EAAAA,SAAS,IAAM,CAC/B,GAAIgK,EAAM,kBAER,OAAOA,EAAM,kBAGT,MAAAL,EAASK,EAAM,eACjBC,GAAY,IAAID,EAAM,YAAY,EAClCC,GAAY,IAAIC,EAAc,OAAO,EAEzC,GAAI,CAACP,EACG,MAAA,IAAI,MAAM,wDAAwD,EAGnE,OAAAA,CAAA,CACR,EAEK,CACJ,YAAAG,EACA,YAAAC,GACEhB,GAAmB,CACrB,UAAWiB,EAAM,UACjB,qBAAsBA,EAAM,YAC5B,iBAAkBG,EAAAA,MAAMH,EAAO,kBAAkB,EACjD,WAAYG,EAAAA,MAAMH,EAAO,YAAY,EACrC,UAAAZ,EACA,eAAgBY,EAAM,eACtB,gBAAiBA,EAAM,gBACvB,YAAaA,EAAM,WAAA,CACpB,EAEDI,OAAAA,EAAAA,QAAQtB,GAAsB,CAC5B,KAAM,CACJ,QAASgB,EACT,QAASC,CACX,EACA,eAAgBC,EAAM,eACtB,eAAgBA,EAAM,cAAA,CACvB,iGClFD,SAASvM,GAAE,EAAG,CACZ,OAAO,GAAK,EAAE,YAAc,OAAO,UAAU,eAAe,KAAK,EAAG,SAAS,EAAI,EAAE,QAAU,CAC/F,CACA,IAAIzE,GAAI,CAAE,QAAS,CAAA,IAClB,SAAS,EAAG,EACV,UAAW,CACV,SAASpB,EAAE8G,EAAGvH,EAAG,CACf,GAAIA,EAAE,YAAc,IAAMuH,EAAI,IAC5B,OAAOA,EAAE,WACX,IAAIlG,EAAI,OAAOrB,EAAE,WAAa,SAAWA,EAAE,UAAY,IAAK0C,EAAI,CAAE,EAAE8B,EAAI,KAAK,MAAM+C,CAAC,EAAE,WAAW,MAAM,EAAE,EACzG,OAAO/C,EAAE,QAAS,EAAC,QAAQ,SAAS9C,EAAGuD,EAAG,CACxCA,GAAKA,EAAI,IAAM,GAAKvC,EAAE,KAAKrB,CAAC,EAAGqB,EAAE,KAAKhB,CAAC,CACxC,CAAA,EAAGgB,EAAE,QAAS,EAAC,KAAK,EAAE,CACxB,CACD,SAAStC,EAAEmH,EAAGvH,EAAGqB,EAAG,CAClB,IAAIqB,EAAI6E,EAAIvH,EAAGwE,EAAInD,EAAE,MAAQ,QAAU,QACvC,OAAOA,EAAE,UAAY,IAAMkG,EAAI,KAAK/C,CAAC,EAAE9B,CAAC,EAAG6E,EAAE,SAAQ,IAAOlG,EAAE,UAAYkG,EAAI7E,EAAI6E,EAAI7E,EAAI,GAAK,KAAK8B,CAAC,EAAE9B,EAAI,EAAE,EAAI,GAAK,KAAK8B,CAAC,EAAE9B,CAAC,EAAG6E,EAAIA,EAAE,SAAQ,EAAI,OAAOlG,EAAE,SAAW,WAAakG,EAAIA,EAAE,QAAQ,IAAKlG,EAAE,OAAO,GAAIkG,EACtN,CACD,IAAIjG,EAAI,IAAKZ,EAAI,IAAKqC,EAAI,IAAK7C,EAAI,IAAKuB,EAAI,KAC5C,SAAS6D,EAAEiC,EAAGvH,EAAG,CACf,IAAIqB,EACJrB,EAAIA,GAAK,GACT,IAAI0C,EAAI6E,EAAI,EACZ7E,IAAM6E,EAAI,KAAK,IAAIA,CAAC,GAAIvH,EAAE,YAAcuH,EAAI,WAAWA,EAAE,YAAYvH,EAAE,SAAS,CAAC,GACjF,IAAIwE,EAAIxE,EAAE,OAASU,EAAIY,EACvB,OAAOiG,EAAI/C,GAAKxE,EAAE,WAAaA,EAAE,UAAY,KAAK,MAAMuH,CAAC,EAAIlG,EAAIZ,EAAEL,EAAEmH,EAAG,EAAGvH,CAAC,EAAGA,CAAC,EAAIuH,EAAIxE,EAAI1B,EAAIjB,EAAEmH,EAAGjG,EAAGtB,CAAC,EAAI,IAAMuH,EAAIrH,EAAImB,EAAIjB,EAAEmH,EAAGxE,EAAG/C,CAAC,EAAI,IAAMuH,EAAI9F,EAAIJ,EAAIZ,EAAEL,EAAEmH,EAAGrH,EAAGF,CAAC,EAAGA,CAAC,EAAI,IAAMqB,EAAIZ,EAAEL,EAAEmH,EAAG9F,EAAGzB,CAAC,EAAGA,CAAC,EAAI,IAAK0C,IAAMrB,EAAI,IAAMA,GAAIrB,EAAE,UAAYqB,EAAIA,EAAE,YAAW,GAAKrB,EAAE,SAAWqB,EAAIrB,EAAE,OAASqB,GAAIrB,EAAE,SAAWqB,EAAIA,EAAIrB,EAAE,QAASqB,CAC5U,CACDiE,EAAE,UAAY7E,EAAG,EAAE,QAAU6E,CACjC,IACA,GAAGzD,EAAC,EACJ,IAAI6C,GAAI7C,GAAE,QACV,MAAMhB,GAAoByF,GAAE5B,EAAC,EAC7B,IAAID,GAAsB,IAAO,EAAE,MAAQ,KAAM,EAAE,OAAS,KAAM,EAAE,MAAQ,KAAM,EAAE,WAAa,KAAM,IAAIA,GAAK,CAAA,CAAE,EAClH,MAAMzB,GAAI,EAAGxB,GAAIwB,GAAI,EAAGqB,GAAI,CAAC,EAAG5D,EAAGL,EAAI,KAAO,CAC5C,IAAIkB,EAAI,CAACb,GAAK,OAAO,EAAE,QAAQe,EAAC,CAAC,IAAM,EAAI,EAAI,OAAO,EAAE,QAAQA,EAAC,CAAC,EAAI,EAAI,EAAI,GAC9E,OAAOpB,IAAMkB,GAAK,IAAKA,CACzB,EAAGjB,GAAI,CAAC,EAAGI,EAAGL,IAAMK,EAAI,GAAG,KAAK,IAAI,EAAI,GAAG,EAAE,QAAQuC,EAAC,CAAC,IAAM5C,EAAGmC,GAAI,CAAC,EAAG9B,IAAMA,IAAM,EAAI,EAAI,EAAIA,EAAI,EAAGuF,GAAI,CAAC,EAAGvF,EAAI,MAAQA,IAAM,GAAK,IAAK,EAAI,EAAI,UAAY,EAAI,EAAI,YAAc,UAAWM,GAAI,CAAE,MAAO,aAAa,EAAIP,GAAI,CAChO,IAAK,EACL,MAAO,mBACT,EAAGmD,GAAI,CACL,IAAK,EACL,MAAO,mBACT,EAAGoB,GAAoBxD,EAAAA,gBAAE,CACvB,OAAQ,cACR,MAAO,CACL,MAAO,CACL,KAAM,OACN,QAAS,KACT,SAAU,EACX,EACD,QAAS,CACP,KAAM,OACN,SAAU,GACV,QAAS,EACV,EACD,UAAW,CACT,KAAM,OACN,SAAU,GACV,QAAS,EACV,EACD,YAAa,CACX,KAAM,OACN,QAAS,EACV,EACD,aAAc,CACZ,KAAM,OACN,SAAU,EACX,EACD,eAAgB,CACd,KAAM,OACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,OACN,QAAS,EACV,EACD,SAAU,CACR,KAAM,QACN,QAAS,EACV,EACD,aAAc,CACZ,KAAM,OACN,QAAS,mBACV,EACD,SAAU,CACR,KAAM,OACN,SAAU,GACV,QAAS,IAAM,IAChB,CACF,EACD,MAAM,EAAG,CACP,MAAMd,EAAI,EAAGL,EAAKF,GAAM,CACtB,MAAMuB,EAAI,CACR,IAAK,uEACL,MAAO,yEACP,KAAM,sEACd,EACM,OAAOvB,EAAI,EAAIuB,EAAE,MAAQvB,EAAI,EAAIuB,EAAE,IAAMA,EAAE,IACjD,EAAOH,EAAKpB,GAAMA,EAAI,EAAI,WAAaA,EAAI,EAAI,WAAa,UAAWQ,EAAI,CAAC+D,EAAE,OAAQA,EAAE,KAAK,EAAE,SAAShE,EAAE,QAAQ,EAAGsC,EAAItC,EAAE,WAAagE,EAAE,WAAa,OAAS,CAACA,EAAE,OAAQA,EAAE,KAAK,EAAE,SAAShE,EAAE,QAAQ,EAAI,OAAS,OAChN,MAAO,CAACP,EAAGuB,IAAM,CACf,MAAM6D,EAAIhC,EAAAA,iBAAE,OAAO,EAAGiE,EAAIjE,EAAAA,iBAAE,UAAU,EACtC,OAAOnD,YAAG,EAAE8F,qBAAE,MAAOlF,GAAG,CACtBmE,EAAAA,mBAAE,MAAO,CACP,MAAOxB,EAAAA,eAAE,CAAC,oBAAqB,EAAE,QAAQ,CAAC,CACpD,EAAW,CACDwB,EAAC,mBAAC,OAAQ,KAAMhD,EAAAA,gBAAE,EAAE,KAAK,EAAG,CAAC,EAC7B,EAAE,SAAW/B,EAAAA,YAAK8B,EAAAA,YAAEsF,EAAG,CACrB,IAAK,EACL,MAAO,sBACP,MAAO,EAAE,QACT,UAAW,OACvB,EAAa,CACD,QAASnF,EAAC,QAAC,IAAM,CACf4C,EAAAA,YAAEM,EAAG,CACH,KAAM,OACN,KAAM,IACtB,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,OAAO,CAAC,GAAK1D,EAAAA,mBAAE,GAAI,EAAE,CAC7B,EAAE,CAAC,EACJ,EAAE,UAAYzB,EAAC,UAAA,EAAI8F,EAAAA,mBAAE,MAAOzF,GAAG,CAC7BwE,EAAAA,YAAEM,EAAG,CACH,KAAM,UACN,KAAM,IAClB,CAAW,EACDJ,EAAC,mBAAC,MAAO,KAAMhD,EAAAA,gBAAE,EAAE,YAAY,EAAG,CAAC,CACpC,CAAA,IAAM/B,EAAAA,UAAG,EAAE8F,qBAAE,MAAOtC,GAAG,CACtBuB,EAAAA,mBAAE,MAAO,CACP,MAAO1C,EAAC,eAAC,aAAa2D,EAAAA,MAAEpD,CAAC,CAAC,EAAE,CAC7B,EAAEb,kBAAE,EAAE,WAAW,EAAG,CAAC,EACtBiE,EAAAA,MAAEzF,CAAC,GAAKP,EAAC,UAAA,EAAI8F,EAAAA,mBAAE,MAAO,CACpB,IAAK,EACL,MAAOvC,EAAC,eAAC,CAAC,0BAA2BpC,EAAE,EAAE,cAAc,CAAC,CAAC,CACrE,EAAa,CACD,EAAE,iBAAmB,GAAKnB,EAAC,UAAA,EAAI8B,EAAAA,YAAEqD,EAAG,CAClC,IAAK,EACL,MAAOlF,EAAE,EAAE,cAAc,EACzB,KAAM,EAAE,KACR,KAAM,IACpB,EAAe,KAAM,EAAG,CAAC,QAAS,MAAM,CAAC,GAAKwB,EAAC,mBAAC,GAAI,EAAE,EAC1CsD,EAAC,mBAAC,MAAO,KAAMhD,EAAAA,gBAAE,EAAE,YAAY,EAAG,CAAC,CACpC,EAAE,CAAC,GAAKN,EAAAA,mBAAE,GAAI,EAAE,CAC3B,CAAS,EACT,CAAO,CACP,CACG,CACH,CAAC,EACKsC,GAAI,CAAC,EAAGzD,IAAM,CAClB,MAAML,EAAI,EAAE,WAAa,EACzB,SAAW,CAACkB,EAAGZ,CAAC,IAAKD,EACnBL,EAAEkB,CAAC,EAAIZ,EACT,OAAON,CACT,EAAGgD,GAAoBc,GAAEa,GAAG,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACxD1B,GAAI,CAAA,EAAIwC,GAAI,CAAE,MAAO,cAAc,EACzC,SAAS3C,GAAE,EAAGzC,EAAG,CACf,MAAML,EAAIkD,mBAAE,cAAc,EAC1B,OAAOnD,YAAG,EAAE8F,qBAAE,MAAOJ,GAAG,CACtBb,EAAAA,YAAE5E,EAAG,CAAE,MAAO,KAAK,CAAE,EACrB4E,EAAAA,YAAE5E,EAAG,CAAE,MAAO,IAAI,CAAE,CACxB,CAAG,CACH,CACA,MAAM0B,GAAoBoC,GAAEb,GAAG,CAAC,CAAC,SAAUH,EAAC,EAAG,CAAC,YAAa,iBAAiB,CAAC,CAAC,EAAGiC,GAAK,CACtF,IAAK,EACL,MAAO,eACT,EAAG7E,GAAK,CACN,IAAK,EACL,MAAO,uBACT,EAuEM0D,GAAqBE,GAvEH3C,EAAAA,gBAAE,CACxB,OAAQ,sBACR,MAAO,CACL,oBAAqB,CACnB,KAAM,OACN,SAAU,EACX,EACD,MAAO,CACL,KAAM,MACN,SAAU,EACX,EACD,aAAc,CACZ,KAAM,OACN,SAAU,GACV,QAAS,EACV,EACD,QAAS,CACP,KAAM,QACN,SAAU,GACV,QAAS,EACV,EACD,eAAgB,CACd,KAAM,QACN,SAAU,GACV,QAAS,EACV,EACD,SAAU,CACR,KAAM,OACN,SAAU,GACV,QAAS,IAAMkD,EAAE,KAClB,CACF,EACD,MAAM,EAAG,CACP,MAAMhE,EAAI,EAAGL,EAAIuE,EAAC,SAAC,IAAMlE,EAAE,MAAM,MAAOC,IAAOA,GAAK,KAAO,OAASA,EAAE,YAAc,EAAE,CAAC,EAAGY,EAAKZ,GAAM,CACnG,MAAMqC,EAAIR,GAAE7B,EAAE,aAAcA,EAAE,aAAa,GAAK,EAAGR,EAAImE,GAAEtB,EAAGtC,EAAE,eAAgBC,EAAE,aAAa,EAC7F,MAAO,CACL,YAAaA,EAAE,cAAgBA,EAAE,cAAcA,EAAE,YAAY,EAAIG,GAAEH,EAAE,aAAc,CAAE,QAAS,GAAI,MAAO,EAAI,CAAA,GAAK,IAClH,aAAcA,EAAE,eAAiBA,EAAE,eAAeqC,CAAC,EAAI1C,GAAE0C,EAAGtC,EAAE,eAAgBA,EAAE,mBAAmB,EACnG,eAAgBP,EAChB,KAAM8F,GAAE9F,EAAGQ,EAAE,aAAa,EAC1B,SAAUD,EAAE,QACpB,CACA,EACI,MAAO,CAACC,EAAGqC,IAAM,CACf,MAAM7C,EAAIoD,mBAAE,OAAO,EACnB,OAAOnD,EAAC,UAAA,EAAI8F,EAAC,mBAAC,MAAO,CACnB,MAAOvC,EAAAA,eAAE,CAAC,uCAAwC,EAAE,QAAQ,CAAC,CACrE,EAAS,CACDyC,EAAC,MAAC/F,CAAC,GAAKD,EAAAA,UAAG,EAAE8F,EAAC,mBAAC,MAAOd,GAAI,CACxBH,EAAAA,YAAE9E,EAAG,CACH,MAAO,qBACP,KAAM,UACN,KAAM,IAClB,CAAW,EACD,EAAE,cAAgBC,EAAC,UAAA,EAAI8F,EAAAA,mBAAE,MAAO3F,GAAI4B,EAAAA,gBAAE,EAAE,YAAY,EAAG,CAAC,GAAKN,EAAAA,mBAAE,GAAI,EAAE,CAC/E,CAAS,IAAMzB,EAAAA,UAAE,EAAE,EAAG8F,EAAC,mBAACtD,WAAG,CAAE,IAAK,CAAG,EAAE4B,EAAC,WAAC,EAAE,MAAO,CAAC9C,EAAG6D,KAAOnF,EAAAA,YAAK8F,EAAAA,mBAAEtD,EAAC,SAAE,KAAM,CACnE,EAAE,SAAWxC,EAAAA,YAAK8B,EAAAA,YAAEH,GAAG,CACrB,IAAK,YAAYwD,CAAC,GAClB,MAAO5B,EAAAA,eAAE,EAAE,WAAayC,EAAAA,MAAE1B,CAAC,EAAE,MAAQ,qBAAuB,oBAAoB,CAC5F,EAAa,KAAM,EAAG,CAAC,OAAO,CAAC,IAAMtE,EAAC,UAAA,EAAI8B,EAAAA,YAAEmB,GAAGoC,EAAAA,WAAE,CAAE,IAAKF,CAAC,EAAIhE,EAAEG,CAAC,EAAG,CACvD,YAAa,EAAE,SACf,gBAAiB,EAAE,aACnB,YAAaA,EAAE,SACf,MAAOA,EAAE,MACT,QAASA,EAAE,OACvB,CAAW,EAAG,KAAM,GAAI,CAAC,YAAa,gBAAiB,YAAa,QAAS,SAAS,CAAC,EAC9E,EAAE,EAAE,EAAE,EAAG,GAAG,EACd,EAAE,CAAC,CACV,CACG,CACH,CAAC,EACgC,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,uKClN7DyR,EAAeC,SAAOxB,EAAoB,EAEhD,GAAI,CAACuB,EACG,MAAA,IAAI,MAAM,mEAAmE,EAGrF,KAAM,CAAE,QAAAE,EAAS,QAAAC,GAAYH,EAAa,KAEpC,CAAE,KAAArM,CAAA,EAAS6C,EAAY,QAAQ,EAE/B4J,EAAc5J,EAAY,qBAAqB,CACnD,MAAOb,EAAA,SAAS,IAAMqK,EAAa,eAC/BrM,EAAK,EAAE,yBAAyB,EAChCA,EAAK,EAAE,0BAA0B,CAAC,EACtC,OAAQuM,EAAQ,OAChB,SAAUA,EAAQ,SAClB,UAAWP,EAAM,UACjB,iBAAkBxL,CAAA,CACnB,EAKKkM,EAAmBjC,GAAgB,GAAGA,EAAI,QAAQkC,EAAe,CAAC,IAClEC,EAAgB5K,EAAAA,SAAwB,IAAM,CAC5C,MAAAH,EAAS0K,EAAQ,OAAO,MAExBM,EAAgBtJ,EAAU1B,EAAQ,UAAWmK,EAAM,UAAWvL,EAAmB,EACjFqM,EAAevJ,EAAU1B,EAAQ,UAAWmK,EAAM,UAAWxL,CAAsB,EACnFuM,EAAmBF,EAAgBC,EAAe,KAAO,EAEzDE,EAAiBzJ,EAAU1B,EAAQ,WAAYmK,EAAM,UAAWvL,EAAmB,EACnFwM,EAAgB1J,EAAU1B,EAAQ,WAAYmK,EAAM,UAAWxL,CAAsB,EACrF0M,EAAoBF,EAAiBC,EAAgB,KAAO,EAE3D,MAAA,CACL,SAAUV,EAAQ,SAAS,MAC3B,aAAcQ,EACd,cAAeG,EACf,cAAeR,EACf,MAAOL,EAAa,eAChBrM,EAAK,EAAE,2BAA2B,EAClCA,EAAK,EAAE,4BAA4B,EACvC,cAAe,EAAA,CACjB,CACD,EAEKmN,EAAiB1C,GAAgB,GAAGA,CAAG,KACvC2C,EAAcvK,EAAY,qBAAqB,CACnD,MAAOb,EAAA,SAAS,IAAMqK,EAAa,eAC/BrM,EAAK,EAAE,yBAAyB,EAChCA,EAAK,EAAE,0BAA0B,CAAC,EACtC,SAAUwM,EAAQ,SAClB,OAAQA,EAAQ,OAChB,UAAWR,EAAM,UACjB,cAAe,GACf,cAAemB,CAAA,CAChB,EAEKE,EAA8BrL,EAAAA,SAAS,IACvCgK,EAAM,gBAAkB,UACnB,CAACS,EAAY,KAAK,EAChBT,EAAM,gBAAkB,aAC1B,CAACY,EAAc,KAAK,EAClBZ,EAAM,gBAAkB,UAC1B,CAACoB,EAAY,KAAK,EAGpB,CAACX,EAAY,MAAOG,EAAc,MAAOQ,EAAY,KAAK,CAClE,EAEKE,EAAYtL,EAAAA,SAAkB,IAC9BgK,EAAM,gBAAkB,WAAaA,EAAM,gBAAkB,aACxDO,EAAQ,UAAU,MAChBP,EAAM,gBAAkB,UAC1BQ,EAAQ,UAAU,MAGpBD,EAAQ,UAAU,OAASC,EAAQ,UAAU,KACrD,EAGKe,EAAgBvL,EAAAA,SAAS,KAAO,CACpC,MAAOqL,EAAM,MACb,QAASC,EAAU,MACnB,eAAgBjB,EAAa,eAC7B,oBAAqBrM,EAAK,EAAE,sBAAsB,EAClD,SAAUgM,EAAM,SAChB,UAAW,EACX,EAAA,EAEIwB,EAAaxL,EAAAA,SAAS,KAAO,CACjC,QAASuL,EAAc,MAAM,QAC7B,YAAad,EAAY,MACzB,cAAeG,EAAc,MAC7B,YAAaQ,EAAY,MACzB,mBAAoBV,EAAgBE,EAAc,MAAM,YAAY,EACpE,iBAAkBO,EAAcC,EAAY,MAAM,YAAY,CAC9D,EAAA,iKCzHIK,EAAkBtU,GAAc,IAAI,KAAKA,CAAC,EAOnCuU,GAAiC,CAC5CC,EACA5L,IACG,CACH,MAAM4E,EAAuBgH,EAAI,KAE3B,CAAE,QAASC,EAAQ,MAAOC,GAASF,EAAI,MAEvCG,EAAQ,OAAOF,GAAW,SAAW,SAASA,EAAQ,EAAE,EAAIA,EAC5DG,EAAM,OAAOF,GAAS,SAAW,SAASA,EAAM,EAAE,EAAIA,EAE5DF,EAAI,MAAM,CACR,WAAY,IACZ,KAAMK,GAAoBrH,EAAMmH,EAAOC,EAAKhM,CAAI,CAAA,CACjD,CACH,EAEaiM,GAAsB,CACjCrH,EACAmH,EACAC,EACAhM,IACG,SACG,MAAAkM,EAActH,EAAK,eAAiB,EAEpCuH,EAAaD,GAAeF,EAAMD,GAASG,EAAc,EAE3D,GAAAC,IAAe,GAAKA,IAAe,EACrC,MAAM,IAAI,MACR,kHAAA,EAIJ,IAAKvH,EAAK,YAAc,CAAA,GAAI,OAAS,EAC7B,MAAA,IAAI,MAAM,8CAA8C,KAAK,UAAUA,EAAK,UAAU,CAAC,EAAE,EAG3F,MAAAwH,GAAoBxH,EAAK,YAAc,CAAA,GAAI,KAAMlK,GAAMA,IAAM,MAAM,EACnEiF,GAAiBK,GAAA,YAAAA,EAAM,iBAAkB,GACzCqM,EAAkB,KAAK,IAAI1M,EAAe,OAAQ,CAAC,EACnD2M,EAAe,CAAA,EAErB,QAAS7T,EAAI,EAAGA,EAAI0T,EAAY1T,IAC9B,QAASN,EAAI,EAAGA,EAAIkU,EAAiBlU,IAAK,CAClC,MAAAoU,EAAkBH,EACpB,CAAE,CAACA,CAAgB,EAAGzM,EAAexH,CAAC,CAAE,EACxC,IAEAuH,EAAAkF,EAAK,aAAL,MAAAlF,EAAiB,SAASrB,EAAsB,qBAClDI,EAAuB,QAAgB+N,GAAA,CACrC,MAAMC,EAAQ7H,EAAK,QAAQ,OAAO,CAAC8H,EAAOC,KACxCD,EAAMC,CAAG,GAAKR,EAAa1T,GAAK,IAAO,IAAMN,EAAI,EAC1CuU,GACN,CAAE,GAAGH,EAAY,oBAAqBC,CAAM,CAAA,EAE/CF,EAAQ,KAAK,CACX,QAAS,KACT,UACE7T,IAAM,EACFiT,EAAeK,CAAK,EAAE,YAAY,EAClCL,EAAeK,EAAQG,CAAW,EAAE,YAAY,EACtD,MAAAO,CAAA,CACD,CAAA,CACF,EAEDH,EAAQ,KAAK,CACX,QAAS,KACT,UACE7T,IAAM,EACFiT,EAAeK,CAAK,EAAE,YAAY,EAClCL,EAAeK,EAAQG,CAAW,EAAE,YAAY,EACtD,MAAOtH,EAAK,QAAQ,OAAO,CAAC8H,EAAOC,KACjCD,EAAMC,CAAG,GAAKR,EAAa1T,GAAK,IAAQ,IAAMN,EAAK,EAC5CuU,GACN,CAAE,GAAGH,EAAY,CAAA,CACrB,CAEL,CAGF,MAAMK,EAAO,CACX,MAAAb,EACA,IAAAC,EACA,YAAAE,EACA,WAAYE,EACR,CACA,CAACA,CAAgB,EAAGzM,EACpB,IAAIU,EAAAuE,EAAK,aAAL,MAAAvE,EAAiB,SAAShC,EAAsB,qBAAuB,CAAE,oBAAqBI,CAAuB,EAAI,CAAC,CAAA,EAE9H,CAAC,EACL,YAAamG,EAAK,OAAA,EAGb,MAAA,CACL,QAAA0H,EACA,KAAAM,CAAA,CAEJ","x_google_ignoreList":[4,7,8,9,10,15]}