@kong-ui-public/analytics-metric-provider 1.2.4 → 1.2.6

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.es.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.5.1_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","../../metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var qe = Object.defineProperty;\nvar je = (r, e, t) => e in r ? qe(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar M = (r, e, t) => (je(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nvar d = /* @__PURE__ */ ((r) => (r.MINUTELY = \"Minutely\", r.HOURLY = \"Hourly\", r.DAILY = \"Daily\", r.WEEKLY = \"Weekly\", r))(d || {}), v = /* @__PURE__ */ ((r) => (r.FIFTEEN_MIN = \"15m\", r.ONE_HOUR = \"1h\", r.SIX_HOUR = \"6h\", r.TWELVE_HOUR = \"12h\", r.ONE_DAY = \"24h\", r.SEVEN_DAY = \"7d\", r.THIRTY_DAY = \"30d\", r.CURRENT_WEEK = \"current_week\", r.CURRENT_MONTH = \"current_month\", r.CURRENT_QUARTER = \"current_quarter\", r.PREVIOUS_WEEK = \"previous_week\", r.PREVIOUS_MONTH = \"previous_month\", r.PREVIOUS_QUARTER = \"previous_quarter\", r))(v || {}), ze = /* @__PURE__ */ ((r) => (r.DOUGHNUT = \"Doughnut\", r.HORIZONTAL_BAR = \"HorizontalBar\", r.VERTICAL_BAR = \"VerticalBar\", r.TIMESERIES_LINE = \"Line\", r.TIMESERIES_BAR = \"TimeSeriesBar\", r))(ze || {});\nfunction W(r) {\n \"@babel/helpers - typeof\";\n return W = 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 }, W(r);\n}\nfunction T(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 m(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction D(r) {\n m(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || W(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 ne(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && t.setDate(t.getDate() + a), t);\n}\nfunction Qe(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return t;\n var n = t.getDate(), i = new Date(t.getTime());\n i.setMonth(t.getMonth() + a + 1, 0);\n var o = i.getDate();\n return n >= o ? i : (t.setFullYear(i.getFullYear(), i.getMonth(), n), t);\n}\nfunction Ve(r, e) {\n m(2, arguments);\n var t = D(r).getTime(), a = T(e);\n return new Date(t + a);\n}\nvar Xe = {};\nfunction H() {\n return Xe;\n}\nfunction F(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setDate(g.getDate() - y), g.setHours(0, 0, 0, 0), g;\n}\nfunction Be(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 ve(r) {\n m(1, arguments);\n var e = D(r);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar Ze = 60, Je = 3600;\nfunction Ke(r) {\n return m(1, arguments), r instanceof Date || W(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction et(r) {\n if (m(1, arguments), !Ke(r) && typeof r != \"number\")\n return !1;\n var e = D(r);\n return !isNaN(Number(e));\n}\nfunction S(r) {\n m(1, arguments);\n var e = D(r);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction tt(r, e) {\n m(2, arguments);\n var t = T(e);\n return Ve(r, -t);\n}\nvar rt = 864e5;\nfunction at(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var a = e.getTime(), n = t - a;\n return Math.floor(n / rt) + 1;\n}\nfunction G(r) {\n m(1, arguments);\n var e = 1, t = D(r), a = t.getUTCDay(), n = (a < e ? 7 : 0) + a - e;\n return t.setUTCDate(t.getUTCDate() - n), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction Se(r) {\n m(1, arguments);\n var e = D(r), t = e.getUTCFullYear(), a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t + 1, 0, 4), a.setUTCHours(0, 0, 0, 0);\n var n = G(a), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = G(i);\n return e.getTime() >= n.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction nt(r) {\n m(1, arguments);\n var e = Se(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var a = G(t);\n return a;\n}\nvar it = 6048e5;\nfunction ot(r) {\n m(1, arguments);\n var e = D(r), t = G(e).getTime() - nt(e).getTime();\n return Math.round(t / it) + 1;\n}\nfunction q(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getUTCDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setUTCDate(g.getUTCDate() - y), g.setUTCHours(0, 0, 0, 0), g;\n}\nfunction xe(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = D(r), f = h.getUTCFullYear(), g = H(), w = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : g.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = g.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(w >= 1 && w <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var y = /* @__PURE__ */ new Date(0);\n y.setUTCFullYear(f + 1, 0, w), y.setUTCHours(0, 0, 0, 0);\n var U = q(y, e), N = /* @__PURE__ */ new Date(0);\n N.setUTCFullYear(f, 0, w), N.setUTCHours(0, 0, 0, 0);\n var k = q(N, e);\n return h.getTime() >= U.getTime() ? f + 1 : h.getTime() >= k.getTime() ? f : f - 1;\n}\nfunction ut(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : h.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), g = xe(r, e), w = /* @__PURE__ */ new Date(0);\n w.setUTCFullYear(g, 0, f), w.setUTCHours(0, 0, 0, 0);\n var y = q(w, e);\n return y;\n}\nvar st = 6048e5;\nfunction lt(r, e) {\n m(1, arguments);\n var t = D(r), a = q(t, e).getTime() - ut(t, e).getTime();\n return Math.round(a / st) + 1;\n}\nfunction c(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", a = Math.abs(r).toString(); a.length < e; )\n a = \"0\" + a;\n return t + a;\n}\nvar dt = {\n // Year\n y: function(e, t) {\n var a = e.getUTCFullYear(), n = a > 0 ? a : 1 - a;\n return c(t === \"yy\" ? n % 100 : n, t.length);\n },\n // Month\n M: function(e, t) {\n var a = e.getUTCMonth();\n return t === \"M\" ? String(a + 1) : c(a + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return c(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var a = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.toUpperCase();\n case \"aaa\":\n return a;\n case \"aaaaa\":\n return a[0];\n case \"aaaa\":\n default:\n return a === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return c(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return c(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return c(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return c(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var a = t.length, n = e.getUTCMilliseconds(), i = Math.floor(n * Math.pow(10, a - 3));\n return c(i, t.length);\n }\n};\nconst E = dt;\nvar C = {\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}, ft = {\n // Era\n G: function(e, t, a) {\n var n = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return a.era(n, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return a.era(n, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return a.era(n, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, a) {\n if (t === \"yo\") {\n var n = e.getUTCFullYear(), i = n > 0 ? n : 1 - n;\n return a.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return E.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, a, n) {\n var i = xe(e, n), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var u = o % 100;\n return c(u, 2);\n }\n return t === \"Yo\" ? a.ordinalNumber(o, {\n unit: \"year\"\n }) : c(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var a = Se(e);\n return c(a, 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 a = e.getUTCFullYear();\n return c(a, t.length);\n },\n // Quarter\n Q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(n);\n case \"QQ\":\n return c(n, 2);\n case \"Qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(n);\n case \"qq\":\n return c(n, 2);\n case \"qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return E.M(e, t);\n case \"Mo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return a.month(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(n + 1);\n case \"LL\":\n return c(n + 1, 2);\n case \"Lo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return a.month(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, a, n) {\n var i = lt(e, n);\n return t === \"wo\" ? a.ordinalNumber(i, {\n unit: \"week\"\n }) : c(i, t.length);\n },\n // ISO week of year\n I: function(e, t, a) {\n var n = ot(e);\n return t === \"Io\" ? a.ordinalNumber(n, {\n unit: \"week\"\n }) : c(n, t.length);\n },\n // Day of the month\n d: function(e, t, a) {\n return t === \"do\" ? a.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : E.d(e, t);\n },\n // Day of year\n D: function(e, t, a) {\n var n = at(e);\n return t === \"Do\" ? a.ordinalNumber(n, {\n unit: \"dayOfYear\"\n }) : c(n, t.length);\n },\n // Day of week\n E: function(e, t, a) {\n var n = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return c(o, 2);\n case \"eo\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return a.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return a.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return c(o, t.length);\n case \"co\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return a.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return a.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, a) {\n var n = e.getUTCDay(), i = n === 0 ? 7 : n;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return c(i, t.length);\n case \"io\":\n return a.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, a) {\n var n = e.getUTCHours(), i = n / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n === 12 ? i = C.noon : n === 0 ? i = C.midnight : i = n / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return a.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, a) {\n var n = e.getUTCHours(), i;\n switch (n >= 17 ? i = C.evening : n >= 12 ? i = C.afternoon : n >= 4 ? i = C.morning : i = C.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, a) {\n if (t === \"ho\") {\n var n = e.getUTCHours() % 12;\n return n === 0 && (n = 12), a.ordinalNumber(n, {\n unit: \"hour\"\n });\n }\n return E.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, a) {\n return t === \"Ho\" ? a.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : E.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, a) {\n var n = e.getUTCHours() % 12;\n return t === \"Ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Hour [1-24]\n k: function(e, t, a) {\n var n = e.getUTCHours();\n return n === 0 && (n = 24), t === \"ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Minute\n m: function(e, t, a) {\n return t === \"mo\" ? a.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : E.m(e, t);\n },\n // Second\n s: function(e, t, a) {\n return t === \"so\" ? a.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : E.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return E.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return we(o);\n case \"XXXX\":\n case \"XX\":\n return _(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return we(o);\n case \"xxxx\":\n case \"xx\":\n return _(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + ge(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + ge(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, a, n) {\n var i = n._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return c(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTime();\n return c(o, t.length);\n }\n};\nfunction ge(r, e) {\n var t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), n = Math.floor(a / 60), i = a % 60;\n if (i === 0)\n return t + String(n);\n var o = e || \"\";\n return t + String(n) + o + c(i, 2);\n}\nfunction we(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + c(Math.abs(r) / 60, 2);\n }\n return _(r, e);\n}\nfunction _(r, e) {\n var t = e || \"\", a = r > 0 ? \"-\" : \"+\", n = Math.abs(r), i = c(Math.floor(n / 60), 2), o = c(n % 60, 2);\n return a + i + t + o;\n}\nconst ct = ft;\nvar Te = 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}, Ue = 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}, mt = function(e, t) {\n var a = e.match(/(P+)(p+)?/) || [], n = a[1], i = a[2];\n if (!i)\n return Te(e, t);\n var o;\n switch (n) {\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}}\", Te(n, t)).replace(\"{{time}}\", Ue(i, t));\n}, ht = {\n p: Ue,\n P: mt\n};\nconst vt = ht;\nvar gt = [\"D\", \"DD\"], wt = [\"YY\", \"YYYY\"];\nfunction Tt(r) {\n return gt.indexOf(r) !== -1;\n}\nfunction Dt(r) {\n return wt.indexOf(r) !== -1;\n}\nfunction De(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 yt = {\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}, pt = function(e, t, a) {\n var n, i = yt[e];\n return typeof i == \"string\" ? n = i : t === 1 ? n = i.one : n = i.other.replace(\"{{count}}\", t.toString()), a != null && a.addSuffix ? a.comparison && a.comparison > 0 ? \"in \" + n : n + \" ago\" : n;\n};\nconst Mt = pt;\nfunction K(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, a = r.formats[t] || r.formats[r.defaultWidth];\n return a;\n };\n}\nvar Ot = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, bt = {\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}, Yt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, Et = {\n date: K({\n formats: Ot,\n defaultWidth: \"full\"\n }),\n time: K({\n formats: bt,\n defaultWidth: \"full\"\n }),\n dateTime: K({\n formats: Yt,\n defaultWidth: \"full\"\n })\n};\nconst Nt = Et;\nvar _t = {\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}, Ct = function(e, t, a, n) {\n return _t[e];\n};\nconst St = Ct;\nfunction R(r) {\n return function(e, t) {\n var a = t != null && t.context ? String(t.context) : \"standalone\", n;\n if (a === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n n = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var u = r.defaultWidth, s = t != null && t.width ? String(t.width) : r.defaultWidth;\n n = r.values[s] || r.values[u];\n }\n var l = r.argumentCallback ? r.argumentCallback(e) : e;\n return n[l];\n };\n}\nvar xt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, Ut = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, kt = {\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}, It = {\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}, Pt = {\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}, Rt = {\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}, Lt = function(e, t) {\n var a = Number(e), n = a % 100;\n if (n > 20 || n < 10)\n switch (n % 10) {\n case 1:\n return a + \"st\";\n case 2:\n return a + \"nd\";\n case 3:\n return a + \"rd\";\n }\n return a + \"th\";\n}, Wt = {\n ordinalNumber: Lt,\n era: R({\n values: xt,\n defaultWidth: \"wide\"\n }),\n quarter: R({\n values: Ut,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: R({\n values: kt,\n defaultWidth: \"wide\"\n }),\n day: R({\n values: It,\n defaultWidth: \"wide\"\n }),\n dayPeriod: R({\n values: Pt,\n defaultWidth: \"wide\",\n formattingValues: Rt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst Ht = Wt;\nfunction L(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.width, n = a && r.matchPatterns[a] || r.matchPatterns[r.defaultMatchWidth], i = e.match(n);\n if (!i)\n return null;\n var o = i[0], u = a && r.parsePatterns[a] || r.parsePatterns[r.defaultParseWidth], s = Array.isArray(u) ? At(u, function(f) {\n return f.test(o);\n }) : $t(u, function(f) {\n return f.test(o);\n }), l;\n l = r.valueCallback ? r.valueCallback(s) : s, l = t.valueCallback ? t.valueCallback(l) : l;\n var h = e.slice(o.length);\n return {\n value: l,\n rest: h\n };\n };\n}\nfunction $t(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction At(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction Ft(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = e.match(r.matchPattern);\n if (!a)\n return null;\n var n = a[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 u = e.slice(n.length);\n return {\n value: o,\n rest: u\n };\n };\n}\nvar Gt = /^(\\d+)(th|st|nd|rd)?/i, qt = /\\d+/i, jt = {\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}, zt = {\n any: [/^b/i, /^(a|c)/i]\n}, Qt = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Vt = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Xt = {\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}, Bt = {\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}, Zt = {\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}, Jt = {\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}, Kt = {\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}, er = {\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}, tr = {\n ordinalNumber: Ft({\n matchPattern: Gt,\n parsePattern: qt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: L({\n matchPatterns: jt,\n defaultMatchWidth: \"wide\",\n parsePatterns: zt,\n defaultParseWidth: \"any\"\n }),\n quarter: L({\n matchPatterns: Qt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Vt,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: L({\n matchPatterns: Xt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Bt,\n defaultParseWidth: \"any\"\n }),\n day: L({\n matchPatterns: Zt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Jt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: L({\n matchPatterns: Kt,\n defaultMatchWidth: \"any\",\n parsePatterns: er,\n defaultParseWidth: \"any\"\n })\n};\nconst rr = tr;\nvar ar = {\n code: \"en-US\",\n formatDistance: Mt,\n formatLong: Nt,\n formatRelative: St,\n localize: Ht,\n match: rr,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst nr = ar;\nvar ir = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, or = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, ur = /^'([^]*?)'?$/, sr = /''/g, lr = /[a-zA-Z]/;\nfunction dr(r, e, t) {\n var a, n, i, o, u, s, l, h, f, g, w, y, U, N, k, V, X, B;\n m(2, arguments);\n var He = String(e), I = H(), P = (a = (n = t == null ? void 0 : t.locale) !== null && n !== void 0 ? n : I.locale) !== null && a !== void 0 ? a : nr, Z = T((i = (o = (u = (s = t == null ? void 0 : t.firstWeekContainsDate) !== null && s !== void 0 ? s : t == null || (l = t.locale) === null || l === void 0 || (h = l.options) === null || h === void 0 ? void 0 : h.firstWeekContainsDate) !== null && u !== void 0 ? u : I.firstWeekContainsDate) !== null && o !== void 0 ? o : (f = I.locale) === null || f === void 0 || (g = f.options) === null || g === void 0 ? void 0 : g.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(Z >= 1 && Z <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var J = T((w = (y = (U = (N = t == null ? void 0 : t.weekStartsOn) !== null && N !== void 0 ? N : t == null || (k = t.locale) === null || k === void 0 || (V = k.options) === null || V === void 0 ? void 0 : V.weekStartsOn) !== null && U !== void 0 ? U : I.weekStartsOn) !== null && y !== void 0 ? y : (X = I.locale) === null || X === void 0 || (B = X.options) === null || B === void 0 ? void 0 : B.weekStartsOn) !== null && w !== void 0 ? w : 0);\n if (!(J >= 0 && J <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!P.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!P.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var $ = D(r);\n if (!et($))\n throw new RangeError(\"Invalid time value\");\n var $e = Be($), Ae = tt($, $e), Fe = {\n firstWeekContainsDate: Z,\n weekStartsOn: J,\n locale: P,\n _originalDate: $\n }, Ge = He.match(or).map(function(O) {\n var Y = O[0];\n if (Y === \"p\" || Y === \"P\") {\n var A = vt[Y];\n return A(O, P.formatLong);\n }\n return O;\n }).join(\"\").match(ir).map(function(O) {\n if (O === \"''\")\n return \"'\";\n var Y = O[0];\n if (Y === \"'\")\n return fr(O);\n var A = ct[Y];\n if (A)\n return !(t != null && t.useAdditionalWeekYearTokens) && Dt(O) && De(O, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Tt(O) && De(O, e, String(r)), A(Ae, O, P.localize, Fe);\n if (Y.match(lr))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + Y + \"`\");\n return O;\n }).join(\"\");\n return Ge;\n}\nfunction fr(r) {\n var e = r.match(ur);\n return e ? e[1].replace(sr, \"'\") : r;\n}\nfunction cr(r) {\n m(1, arguments);\n var e = D(r), t = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(t, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction ie(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n return t;\n}\nfunction ye(r) {\n return m(1, arguments), Math.floor(ie(r) / 1e3);\n}\nfunction mr(r) {\n return m(1, arguments), Math.floor(r * Je);\n}\nfunction hr(r, e) {\n m(2, arguments);\n var t = T(e);\n return ne(r, -t);\n}\nfunction vr(r) {\n m(1, arguments);\n var e = r / Ze;\n return Math.floor(e);\n}\nfunction ce(r, e) {\n m(2, arguments);\n var t = T(e);\n return Qe(r, -t);\n}\nfunction gr(r, e) {\n if (m(2, arguments), !e || W(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var t = e.years ? T(e.years) : 0, a = e.months ? T(e.months) : 0, n = e.weeks ? T(e.weeks) : 0, i = e.days ? T(e.days) : 0, o = e.hours ? T(e.hours) : 0, u = e.minutes ? T(e.minutes) : 0, s = e.seconds ? T(e.seconds) : 0, l = ce(r, a + t * 12), h = hr(l, i + n * 7), f = u + o * 60, g = s + f * 60, w = g * 1e3, y = new Date(h.getTime() - w);\n return y;\n}\nfunction Kr(r) {\n return dr(r, \"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\");\n}\nfunction me(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar ke = { exports: {} };\n(function(r) {\n function e(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n }\n r.exports = e, r.exports.__esModule = !0, r.exports.default = r.exports;\n})(ke);\nvar wr = ke.exports, oe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(oe, oe.exports);\nvar Tr = oe.exports;\nconst Dr = /* @__PURE__ */ me(Tr);\nvar ue = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(ue, ue.exports);\nvar yr = ue.exports;\nconst pe = /* @__PURE__ */ me(yr);\nfunction pr(r, e) {\n var t = Yr(e);\n return t.formatToParts ? Or(t, r) : br(t, r);\n}\nvar Mr = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Or(r, e) {\n try {\n for (var t = r.formatToParts(e), a = [], n = 0; n < t.length; n++) {\n var i = Mr[t[n].type];\n i >= 0 && (a[i] = parseInt(t[n].value, 10));\n }\n return a;\n } catch (o) {\n if (o instanceof RangeError)\n return [NaN];\n throw o;\n }\n}\nfunction br(r, e) {\n var t = r.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(t);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar ee = {};\nfunction Yr(r) {\n if (!ee[r]) {\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\")), t = e === \"06/25/2014, 00:00:00\" || e === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n ee[r] = t ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: r,\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: r,\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 ee[r];\n}\nfunction he(r, e, t, a, n, i, o) {\n var u = /* @__PURE__ */ new Date(0);\n return u.setUTCFullYear(r, e, t), u.setUTCHours(a, n, i, o), u;\n}\nvar Me = 36e5, Er = 6e4, te = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction z(r, e, t) {\n var a, n;\n if (!r || (a = te.timezoneZ.exec(r), a))\n return 0;\n var i;\n if (a = te.timezoneHH.exec(r), a)\n return i = parseInt(a[1], 10), Oe(i) ? -(i * Me) : NaN;\n if (a = te.timezoneHHMM.exec(r), a) {\n i = parseInt(a[1], 10);\n var o = parseInt(a[2], 10);\n return Oe(i, o) ? (n = Math.abs(i) * Me + o * Er, i > 0 ? -n : n) : NaN;\n }\n if (Cr(r)) {\n e = new Date(e || Date.now());\n var u = t ? e : Nr(e), s = se(u, r), l = t ? s : _r(e, s, r);\n return -l;\n }\n return NaN;\n}\nfunction Nr(r) {\n return he(\n r.getFullYear(),\n r.getMonth(),\n r.getDate(),\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n );\n}\nfunction se(r, e) {\n var t = pr(r, e), a = he(\n t[0],\n t[1] - 1,\n t[2],\n t[3] % 24,\n t[4],\n t[5],\n 0\n ).getTime(), n = r.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction _r(r, e, t) {\n var a = r.getTime(), n = a - e, i = se(new Date(n), t);\n if (e === i)\n return e;\n n -= i - e;\n var o = se(new Date(n), t);\n return i === o ? i : Math.max(i, o);\n}\nfunction Oe(r, e) {\n return -23 <= r && r <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar be = {};\nfunction Cr(r) {\n if (be[r])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: r }), be[r] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Sr = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst Ie = Sr;\nvar re = 36e5, Ye = 6e4, xr = 2, p = {\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: Ie\n};\nfunction le(r, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (r === null)\n return /* @__PURE__ */ new Date(NaN);\n var t = e || {}, a = t.additionalDigits == null ? xr : Dr(t.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (r instanceof Date || typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Date]\")\n return new Date(r.getTime());\n if (typeof r == \"number\" || Object.prototype.toString.call(r) === \"[object Number]\")\n return new Date(r);\n if (!(typeof r == \"string\" || Object.prototype.toString.call(r) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ur(r), i = kr(n.date, a), o = i.year, u = i.restDateString, s = Ir(u, o);\n if (isNaN(s))\n return /* @__PURE__ */ new Date(NaN);\n if (s) {\n var l = s.getTime(), h = 0, f;\n if (n.time && (h = Pr(n.time), isNaN(h)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || t.timeZone) {\n if (f = z(n.timeZone || t.timeZone, new Date(l + h)), isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n } else\n f = pe(new Date(l + h)), f = pe(new Date(l + h + f));\n return new Date(l + h + f);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ur(r) {\n var e = {}, t = p.dateTimePattern.exec(r), a;\n if (t ? (e.date = t[1], a = t[3]) : (t = p.datePattern.exec(r), t ? (e.date = t[1], a = t[2]) : (e.date = null, a = r)), a) {\n var n = p.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 kr(r, e) {\n var t = p.YYY[e], a = p.YYYYY[e], n;\n if (n = p.YYYY.exec(r) || a.exec(r), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: r.slice(i.length)\n };\n }\n if (n = p.YY.exec(r) || t.exec(r), n) {\n var o = n[1];\n return {\n year: parseInt(o, 10) * 100,\n restDateString: r.slice(o.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Ir(r, e) {\n if (e === null)\n return null;\n var t, a, n, i;\n if (r.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (t = p.MM.exec(r), t)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1, Ne(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (t = p.DDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0);\n var o = parseInt(t[1], 10);\n return Wr(e, o) ? (a.setUTCFullYear(e, 0, o), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.MMDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1;\n var u = parseInt(t[2], 10);\n return Ne(e, n, u) ? (a.setUTCFullYear(e, n, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.Www.exec(r), t)\n return i = parseInt(t[1], 10) - 1, _e(e, i) ? Ee(e, i) : /* @__PURE__ */ new Date(NaN);\n if (t = p.WwwD.exec(r), t) {\n i = parseInt(t[1], 10) - 1;\n var s = parseInt(t[2], 10) - 1;\n return _e(e, i, s) ? Ee(e, i, s) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction Pr(r) {\n var e, t, a;\n if (e = p.HH.exec(r), e)\n return t = parseFloat(e[1].replace(\",\", \".\")), ae(t) ? t % 24 * re : NaN;\n if (e = p.HHMM.exec(r), e)\n return t = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), ae(t, a) ? t % 24 * re + a * Ye : NaN;\n if (e = p.HHMMSS.exec(r), e) {\n t = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return ae(t, a, n) ? t % 24 * re + a * Ye + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Ee(r, e, t) {\n e = e || 0, t = t || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(r, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + t + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Rr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Lr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction Pe(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nfunction Ne(r, e, t) {\n if (e < 0 || e > 11)\n return !1;\n if (t != null) {\n if (t < 1)\n return !1;\n var a = Pe(r);\n if (a && t > Lr[e] || !a && t > Rr[e])\n return !1;\n }\n return !0;\n}\nfunction Wr(r, e) {\n if (e < 1)\n return !1;\n var t = Pe(r);\n return !(t && e > 366 || !t && e > 365);\n}\nfunction _e(r, e, t) {\n return !(e < 0 || e > 52 || t != null && (t < 0 || t > 6));\n}\nfunction ae(r, e, t) {\n return !(r != null && (r < 0 || r >= 25) || e != null && (e < 0 || e >= 60) || t != null && (t < 0 || t >= 60));\n}\nvar de = { exports: {} }, fe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(fe, fe.exports);\nvar Hr = fe.exports;\n(function(r, e) {\n var t = wr.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = t(Hr);\n function n(i) {\n return (0, a.default)({}, i);\n }\n r.exports = e.default;\n})(de, de.exports);\nvar $r = de.exports;\nconst Ar = /* @__PURE__ */ me($r);\nfunction Fr(r, e, t) {\n var a = le(r, t), n = z(e, a, !0), i = new Date(a.getTime() - n), o = /* @__PURE__ */ new Date(0);\n return o.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), o.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), o;\n}\nfunction Re(r, e) {\n return -z(r, e);\n}\nfunction Gr(r, e, t) {\n if (typeof r == \"string\" && !r.match(Ie)) {\n var a = Ar(t);\n return a.timeZone = e, le(r, a);\n }\n var n = le(r, t), i = he(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), o = z(e, new Date(i));\n return new Date(i + o);\n}\nconst j = {\n [d.MINUTELY]: 60 * 1e3,\n [d.HOURLY]: 60 * 60 * 1e3,\n [d.DAILY]: 60 * 60 * 24 * 1e3,\n [d.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction ea(r, e) {\n return r.map((t) => ({\n value: t,\n label: e.t(`configuration.vitals.reports.granularity.${t}`)\n }));\n}\nfunction qr(r, e) {\n return r ? {\n duration: r,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction ta(r) {\n return r && Object.values(d).find((t) => r <= j[t]) || null;\n}\nfunction Le(r, e, t, a) {\n const n = j[t];\n let i = 0;\n return n >= j[d.DAILY] && (a ? i = -Re(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(r((e.getTime() - i) / n) * n + i);\n}\nfunction Ce(r, e, t) {\n return Le(Math.floor, r, e, t);\n}\nfunction We(r, e, t) {\n return Le(Math.ceil, r, e, t);\n}\nclass Q {\n constructor(e, t) {\n M(this, \"timeframe\");\n M(this, \"tz\");\n if (this.constructor === Q)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = t;\n }\n calculateStartDate(e, t, 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), o = Ce(i, t, this.tz), s = (n.getTime() - o.getTime()) * (a - 1);\n return Ce(\n new Date(i.getTime() - s),\n t,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return qr(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return ye(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return ye(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return ie(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return ie(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() >= gr(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass ra extends Q {\n constructor(t, a, n) {\n super(t, n);\n M(this, \"granularity\");\n a && t.allowedGranularities().has(a) ? this.granularity = a : this.granularity = t.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return j[this.granularity];\n }\n}\nclass jr extends Q {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass aa extends jr {\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 x = (r, e) => new Date(r.getTime() - Re(e, r));\nclass b {\n constructor(e) {\n M(this, \"timeframeText\");\n M(this, \"key\");\n M(this, \"display\");\n M(this, \"timeframeLength\");\n M(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 M(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 M(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 M(this, \"isRelative\");\n M(this, \"_startCustom\");\n M(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(), t = this.maximumTimeframeLength() / 3600;\n return t <= 6 && e.add(d.MINUTELY), t >= 2 && t <= 7 * 24 && e.add(d.HOURLY), t >= 2 * 24 && e.add(d.DAILY), t >= 2 * 24 * 14 && e.add(d.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const t = Gr(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return Fr(t, e);\n }\n}\nclass zr extends b {\n rawStart(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Qr extends b {\n rawStart(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Vr extends b {\n rawEnd(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n const t = this.tzAdjustedDate(e);\n let a = F(t.setDate(t.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = x(a, e)), a;\n }\n}\nclass Xr extends b {\n rawEnd(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n let t = S(ce(this.tzAdjustedDate(e), 1));\n return e && (t = x(t, e)), t;\n }\n}\nconst Br = /* @__PURE__ */ new Map([\n [\n v.FIFTEEN_MIN,\n new b({\n key: v.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_HOUR,\n new b({\n key: v.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SIX_HOUR,\n new b({\n key: v.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.TWELVE_HOUR,\n new b({\n key: v.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_DAY,\n new b({\n key: v.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SEVEN_DAY,\n new b({\n key: v.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.THIRTY_DAY,\n new b({\n key: v.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_WEEK,\n new zr({\n key: v.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const r = F(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_MONTH,\n new Qr({\n key: v.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const r = S(/* @__PURE__ */ new Date());\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_WEEK,\n new Vr({\n key: v.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_MONTH,\n new Xr({\n key: v.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let r = 0;\n const e = S(/* @__PURE__ */ new Date()), t = S(ce(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== t.getTimezoneOffset() && (r = Zr(e, t)), 60 * 60 * 24 * cr((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + mr(r);\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction na(r) {\n const e = new Date(r.start), t = new Date(r.end), a = (t.getTime() - e.getTime()) / 1e3;\n return r.timePeriodsKey && Br.get(r.timePeriodsKey) || new b({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: t,\n timeframeLength: () => a,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ia(r) {\n return {\n ...r.key !== \"custom\" && { timePeriodsKey: r.key },\n start: r.rawStart(),\n end: r.rawEnd()\n };\n}\nfunction oa(r) {\n return {\n key: r.key,\n display: r.display,\n timeframeText: r.timeframeText,\n timeframeLength: () => r.key,\n // Used to generate test IDs for the Kongponent.\n start: () => r.rawStart(),\n end: () => r.rawEnd()\n };\n}\nfunction Zr(r, e) {\n return vr(r.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n ze as ChartTypes,\n aa as DeltaQueryTime,\n j as Granularities,\n d as GranularityKeys,\n Br as TimePeriods,\n b as Timeframe,\n v as TimeframeKeys,\n ra as TimeseriesQueryTime,\n jr as UnaryQueryTime,\n We as ceilToNearestTimeGrain,\n na as datePickerSelectionToTimeframe,\n Zr as dstOffsetHours,\n Ce as floorToNearestTimeGrain,\n Kr as formatISOTimeWithTZ,\n ea as granularitiesToOptions,\n qr as granularityMsToQuery,\n ta as msToGranularity,\n ia as timeframeToDatepickerSelection,\n oa 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, MetricCardType } 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 cardType: MetricCardType,\n title: Ref<string>,\n description?: string,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n trendRange?: Ref<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 cardType,\n title,\n description,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n trendRange,\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 cardType,\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n description,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n trendRange: trendRange?.value,\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 description?: string,\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n trendRange: Ref<string>,\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 type { Ref } from 'vue'\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'\nimport composables from '../composables'\n\nconst { i18n } = composables.useI18n()\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 description?: string,\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 description: undefined,\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\n// If one of our relative timeframes, we display the requested time frame (if user has trend access); otherwise fall back to one day\n// Else, we have a Custom start and end datetime coming from v-calendar, so we display \"vs previous X days\"\nconst trendRangeText = computed(() => {\n if (timeframe.value.key === 'custom') {\n return i18n.t('trendRange.custom', { numDays: Math.ceil(timeframe.value.timeframeLength() / (1000 * 60 * 24)) })\n } else {\n return props.hasTrendAccess\n // @ts-ignore - dynamic i18n key\n ? i18n.t(`trendRange.${timeframe.value.key}`)\n // @ts-ignore - dynamic i18n key\n : i18n.t(`trendRange.${TimePeriods.get(TimeframeKeys.ONE_DAY)?.key}`)\n }\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 description: props.description,\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n trendRange: trendRangeText as Ref<string>,\n})\n\n</script>\n","import { defineComponent as _, computed as u, openBlock as n, createBlock as C, resolveDynamicComponent as S, normalizeStyle as x, withCtx as z, createElementBlock as l, toDisplayString as f, createCommentVNode as v, pushScopeId as k, popScopeId as w, createElementVNode as g, resolveComponent as T, normalizeClass as M, unref as h, createVNode as V, Fragment as B, renderList as K, mergeProps as P } from \"vue\";\nfunction G(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar U = { exports: {} };\n(function(e) {\n (function() {\n function t(o, s) {\n if (s.separator === !1 || o < 1e3)\n return o.toString();\n var c = typeof s.separator == \"string\" ? s.separator : \",\", y = [], q = Math.round(o).toString().split(\"\");\n return q.reverse().forEach(function(D, O) {\n O && O % 3 === 0 && y.push(c), y.push(D);\n }), y.reverse().join(\"\");\n }\n function r(o, s, c) {\n var y = o / s, q = c.round ? \"round\" : \"floor\";\n return c.decimal === !1 ? (o = Math[q](y), o.toString()) : (c.precision ? o = y : o = y < 10 ? Math[q](y * 10) / 10 : Math[q](y), o = o.toString(), typeof c.decimal == \"string\" && (o = o.replace(\".\", c.decimal)), o);\n }\n var d = 1e3, a = 1e4, i = 1e6, N = 1e9, m = 1e12;\n function L(o, s) {\n var c;\n s = s || {};\n var y = o < 0;\n y && (o = Math.abs(o)), s.precision && (o = parseFloat(o.toPrecision(s.precision)));\n var q = s.min10k ? a : d;\n return o < q || s.precision && s.precision > Math.log10(o) ? c = t(r(o, 1, s), s) : o < i ? c = r(o, d, s) + \"k\" : o < N ? c = r(o, i, s) + \"m\" : o < m ? c = t(r(o, N, s), s) + \"b\" : c = t(r(o, m, s), s) + \"t\", y && (c = \"-\" + c), s.capital && (c = c.toUpperCase()), s.prefix && (c = s.prefix + c), s.suffix && (c = c + s.suffix), c;\n }\n L.addCommas = t, e.exports = L;\n })();\n})(U);\nvar j = U.exports;\nconst X = /* @__PURE__ */ G(j);\nvar b = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.LargeCompact = \"lgc\", e.ExtraLarge = \"xl\", e))(b || {});\nconst p = \"24px\", I = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, Y = (e) => (k(\"data-v-77d6b8fc\"), e = e(), w(), e), J = [\"aria-hidden\"], W = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Q = /* @__PURE__ */ Y(() => /* @__PURE__ */ g(\"path\", {\n d: \"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z\",\n fill: \"currentColor\"\n}, null, -1)), ee = /* @__PURE__ */ _({\n __name: \"CloudUploadIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon cloud-upload-icon\",\n \"data-testid\": \"kui-icon-wrapper-cloud-upload-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-cloud-upload-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", W, f(e.title), 1)) : v(\"\", !0),\n Q\n ], 8, J))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), te = /* @__PURE__ */ I(ee, [[\"__scopeId\", \"data-v-77d6b8fc\"]]), re = (e) => (k(\"data-v-c5316c4f\"), e = e(), w(), e), ie = [\"aria-hidden\"], ae = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ne = /* @__PURE__ */ re(() => /* @__PURE__ */ g(\"path\", {\n d: \"M4 17V14H20V17H4ZM4 10V7H20V10H4Z\",\n fill: \"currentColor\"\n}, null, -1)), oe = /* @__PURE__ */ _({\n __name: \"EqualIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon equal-icon\",\n \"data-testid\": \"kui-icon-wrapper-equal-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-equal-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ae, f(e.title), 1)) : v(\"\", !0),\n ne\n ], 8, ie))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), se = /* @__PURE__ */ I(oe, [[\"__scopeId\", \"data-v-c5316c4f\"]]), de = (e) => (k(\"data-v-fb20027a\"), e = e(), w(), e), le = [\"aria-hidden\"], ce = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ue = /* @__PURE__ */ de(() => /* @__PURE__ */ g(\"path\", {\n d: \"M5 11V9H15V11H5Z\",\n fill: \"currentColor\"\n}, null, -1)), pe = /* @__PURE__ */ _({\n __name: \"IndeterminateSmallIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon indeterminate-small-icon\",\n \"data-testid\": \"kui-icon-wrapper-indeterminate-small-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-indeterminate-small-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ce, f(e.title), 1)) : v(\"\", !0),\n ue\n ], 8, le))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), A = /* @__PURE__ */ I(pe, [[\"__scopeId\", \"data-v-fb20027a\"]]), ge = (e) => (k(\"data-v-12213b58\"), e = e(), w(), e), fe = [\"aria-hidden\"], ye = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ve = /* @__PURE__ */ ge(() => /* @__PURE__ */ g(\"path\", {\n d: \"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z\",\n fill: \"currentColor\"\n}, null, -1)), Ce = /* @__PURE__ */ _({\n __name: \"ResponseIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon response-icon\",\n \"data-testid\": \"kui-icon-wrapper-response-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-response-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ye, f(e.title), 1)) : v(\"\", !0),\n ve\n ], 8, fe))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), me = /* @__PURE__ */ I(Ce, [[\"__scopeId\", \"data-v-12213b58\"]]), he = (e) => (k(\"data-v-932bf4fe\"), e = e(), w(), e), be = [\"aria-hidden\"], Se = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, _e = /* @__PURE__ */ he(() => /* @__PURE__ */ g(\"path\", {\n d: \"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z\",\n fill: \"currentColor\"\n}, null, -1)), Ne = /* @__PURE__ */ _({\n __name: \"TrendDownIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-down-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-down-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-down-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Se, f(e.title), 1)) : v(\"\", !0),\n _e\n ], 8, be))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), xe = /* @__PURE__ */ I(Ne, [[\"__scopeId\", \"data-v-932bf4fe\"]]), ze = (e) => (k(\"data-v-64a5751c\"), e = e(), w(), e), ke = [\"aria-hidden\"], we = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ie = /* @__PURE__ */ ze(() => /* @__PURE__ */ g(\"path\", {\n d: \"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z\",\n fill: \"currentColor\"\n}, null, -1)), Le = /* @__PURE__ */ _({\n __name: \"TrendUpIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-up-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-up-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-up-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", we, f(e.title), 1)) : v(\"\", !0),\n Ie\n ], 8, ke))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), qe = /* @__PURE__ */ I(Le, [[\"__scopeId\", \"data-v-64a5751c\"]]), Ee = (e) => (k(\"data-v-2d548d04\"), e = e(), w(), e), Me = [\"aria-hidden\"], Ve = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Te = /* @__PURE__ */ Ee(() => /* @__PURE__ */ g(\"path\", {\n d: \"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z\",\n fill: \"currentColor\"\n}, null, -1)), He = /* @__PURE__ */ _({\n __name: \"VitalsIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon vitals-icon\",\n \"data-testid\": \"kui-icon-wrapper-vitals-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-vitals-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Ve, f(e.title), 1)) : v(\"\", !0),\n Te\n ], 8, Me))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Re = /* @__PURE__ */ I(He, [[\"__scopeId\", \"data-v-2d548d04\"]]), Oe = (e) => (k(\"data-v-962d9951\"), e = e(), w(), e), Be = [\"aria-hidden\"], $e = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ze = /* @__PURE__ */ Oe(() => /* @__PURE__ */ g(\"path\", {\n d: \"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z\",\n fill: \"currentColor\"\n}, null, -1)), Ue = /* @__PURE__ */ _({\n __name: \"WarningOutlineIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-outline-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-outline-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-outline-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", $e, f(e.title), 1)) : v(\"\", !0),\n Ze\n ], 8, Be))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Ae = /* @__PURE__ */ I(Ue, [[\"__scopeId\", \"data-v-962d9951\"]]), F = 2, $ = F + 2, Fe = (e, t, r = !1) => {\n let d = !t || Number(e.toFixed($)) === 0 ? 0 : Number(e.toFixed($)) > 0 ? 1 : -1;\n return r && (d *= -1), d;\n}, De = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(F)}%` : r, Ke = (e, t) => t === 0 ? 0 : e / t - 1, Pe = (e, t = !1) => (t && (e *= -1), e > 0 ? qe : e < 0 ? xe : A), Ge = \"#ad000e\", je = \"#6c7489\", Z = \"#52596e\", Xe = \"#007d60\", H = \"16px\", Ye = \"14px\", Je = \"48px\";\nvar E = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = \"GenericCount\", e.TRAFFIC = \"Traffic\", e.ERROR_RATE = \"ErrorRate\", e.LATENCY = \"Latency\", e))(E || {});\nconst We = { class: \"metricscard\" }, Qe = {\n key: 0,\n class: \"metricscard-description\"\n}, et = {\n key: 0,\n class: \"metricscard-error\"\n}, tt = {\n key: 2,\n class: \"metricscard-trend\"\n}, rt = { \"data-testid\": \"metric-trend-change\" }, it = {\n key: 0,\n class: \"metricscard-trend-range\"\n}, at = /* @__PURE__ */ _({\n __name: \"MetricsCard\",\n props: {\n cardType: {\n type: String,\n required: !0,\n default: E.GENERIC_COUNT\n },\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n description: {\n type: String,\n default: \"\",\n required: !1\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 trendIcon: {\n type: Object,\n default: A\n },\n trendRange: {\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 t = e, r = /* @__PURE__ */ new Map([\n [E.GENERIC_COUNT, Re],\n [E.TRAFFIC, te],\n [E.ERROR_RATE, Ae],\n [E.LATENCY, me]\n ]), d = (o) => {\n const s = {\n red: `var(--kong-ui-metric-card-trend-negative, ${Ge})`,\n green: `var(--kong-ui-metric-card-trend-positive, ${Xe})`,\n grey: `var(--kong-ui-metric-card-trend-neutral, ${Z})`\n };\n return o > 0 ? s.green : o < 0 ? s.red : s.grey;\n }, a = (o) => o > 0 ? \"positive\" : o < 0 ? \"negative\" : \"neutral\", i = [b.Medium, b.Large, b.LargeCompact].includes(t.cardSize), N = t.cardSize === b.ExtraLarge ? Je : i ? \"22px\" : Ye, m = u(() => t.cardSize === b.LargeCompact), L = [b.Small, b.LargeCompact].includes(t.cardSize);\n return (o, s) => {\n const c = T(\"KIcon\"), y = T(\"KTooltip\");\n return n(), l(\"div\", We, [\n g(\"div\", {\n class: M([\"metricscard-title\", e.cardSize])\n }, [\n h(L) ? v(\"\", !0) : (n(), C(S(h(r).get(e.cardType)), {\n key: 0,\n class: \"metricscard-icon\",\n color: h(je),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])),\n g(\"span\", null, f(e.title), 1),\n e.tooltip ? (n(), C(y, {\n key: 1,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: z(() => [\n V(c, {\n icon: \"info\",\n size: \"12\"\n })\n ]),\n _: 1\n }, 8, [\"label\"])) : v(\"\", !0)\n ], 2),\n e.description && h(i) && !m.value ? (n(), l(\"div\", Qe, [\n g(\"span\", null, f(e.description), 1)\n ])) : v(\"\", !0),\n g(\"div\", {\n class: M([\"metricscard-valuetrend\", { \"is-compact\": m.value }])\n }, [\n e.hasError ? (n(), l(\"div\", et, [\n V(c, {\n icon: \"warning\",\n size: \"20\"\n }),\n g(\"div\", null, f(e.errorMessage), 1)\n ])) : (n(), l(\"div\", {\n key: 1,\n class: M([\"metricscard-value\", e.cardSize]),\n \"data-testid\": \"metric-value\",\n style: x(`font-size:${h(N)}`)\n }, f(e.metricValue), 7)),\n h(i) ? (n(), l(\"div\", tt, [\n g(\"div\", {\n class: M([\"metricscard-trend-change\", a(e.changePolarity)]),\n \"data-testid\": \"metric-trend-parent\"\n }, [\n e.changePolarity !== 0 ? (n(), C(S(e.trendIcon), {\n key: 0,\n color: d(e.changePolarity),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])) : (n(), C(h(se), {\n key: 1,\n color: h(Z),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])),\n g(\"div\", rt, f(e.metricChange), 1)\n ], 2),\n e.trendRange && e.cardSize !== h(b).LargeCompact ? (n(), l(\"div\", it, f(e.trendRange), 1)) : v(\"\", !0)\n ])) : v(\"\", !0)\n ], 2)\n ]);\n };\n }\n});\nconst R = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, nt = /* @__PURE__ */ R(at, [[\"__scopeId\", \"data-v-e3b3a4cb\"]]);\nconst ot = {}, st = { class: \"loading-tabs\" };\nfunction dt(e, t) {\n const r = T(\"KSkeletonBox\");\n return n(), l(\"div\", st, [\n V(r, { width: \"100\" }),\n V(r, { width: \"75\" })\n ]);\n}\nconst lt = /* @__PURE__ */ R(ot, [[\"render\", dt], [\"__scopeId\", \"data-v-f7eb9c40\"]]), ct = {\n key: 0,\n class: \"error-display\"\n}, ut = {\n key: 0,\n class: \"error-display-message\"\n}, pt = /* @__PURE__ */ _({\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: () => b.Large\n }\n },\n setup(e) {\n const t = e, r = u(() => t.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), d = (a) => {\n const i = Ke(a.currentValue, a.previousValue) || 0, N = Fe(i, t.hasTrendAccess, a.increaseIsBad);\n return {\n metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : X(a.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: a.formatChangeFn ? a.formatChangeFn(i) : De(i, t.hasTrendAccess, t.fallbackDisplayText),\n changePolarity: N,\n trendIcon: Pe(N, a.increaseIsBad),\n cardSize: t.cardSize\n };\n };\n return (a, i) => {\n const N = T(\"KIcon\");\n return n(), l(\"div\", {\n class: M([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n r.value ? (n(), l(\"div\", ct, [\n V(N, {\n class: \"error-display-icon\",\n icon: \"warning\",\n size: \"24\"\n }),\n e.errorMessage ? (n(), l(\"div\", ut, f(e.errorMessage), 1)) : v(\"\", !0)\n ])) : (n(!0), l(B, { key: 1 }, K(e.cards, (m, L) => (n(), l(B, null, [\n e.loading ? (n(), C(lt, {\n key: `skeleton-${L}`,\n class: M(e.cardSize === h(b).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (n(), C(nt, P({ key: L }, d(m), {\n \"card-size\": e.cardSize,\n \"card-type\": m.cardType,\n description: m.description,\n \"error-message\": e.errorMessage,\n \"has-error\": m.hasError,\n title: m.title,\n tooltip: m.tooltip,\n \"trend-range\": m.trendRange\n }), null, 16, [\"card-size\", \"card-type\", \"description\", \"error-message\", \"has-error\", \"title\", \"tooltip\", \"trend-range\"]))\n ], 64))), 256))\n ], 2);\n };\n }\n});\nconst ft = /* @__PURE__ */ R(pt, [[\"__scopeId\", \"data-v-7c516677\"]]);\nexport {\n F as DECIMAL_DISPLAY,\n $ as DECIMAL_ROUNDING_PRECISION,\n ft as MetricCardContainer,\n b as MetricCardSize,\n E as MetricCardType,\n Ke as calculateChange,\n Fe as changePolarity,\n Pe as defineIcon,\n De 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, MetricCardType, 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 cardType: MetricCardType.TRAFFIC,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n description: providerData.description,\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n trendRange: providerData.trendRange,\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 cardType: MetricCardType.ERROR_RATE,\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 description: providerData.description,\n increaseIsBad: true,\n trendRange: providerData.trendRange.value,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.LATENCY,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n description: providerData.description,\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n trendRange: providerData.trendRange,\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 trendRange: providerData.trendRange.value,\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":["qe","je","r","e","t","M","d","v","W","T","m","D","ne","a","Qe","n","i","Xe","H","F","u","s","l","h","f","g","w","y","ve","Ze","Je","S","cr","ie","ye","mr","hr","vr","ce","gr","me","ke","wr","oe","Tr","Dr","ue","yr","pe","pr","Yr","Or","br","Mr","ee","he","Me","Er","te","z","Oe","Cr","Nr","se","_r","be","Sr","Ie","re","Ye","xr","p","le","Ur","kr","Ir","Pr","Ne","Wr","_e","Ee","ae","Rr","Lr","Pe","de","fe","Hr","$r","Ar","Fr","Re","Gr","j","qr","Le","Ce","We","Q$1","Q","jr","aa","x","b$1","zr","b","Qr","Vr","Xr","Br","Zr","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","er","ur","q","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","k","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","cardType","title","description","hasError","increaseIsBad","formatValueFn","trendRange","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","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","_","verb","op","__read","o","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","trendRangeText","toRef","provide","G","U","c","O","N","L","X","I","Y","J","C","A","ge","Se","xe","ze","we","Ve","Te","He","Be","$e","Ue","Ae","$","Fe","De","Ke","Ge","Z","E","et","tt","rt","it","at","V","R","nt","ot","st","dt","lt","ct","ut","pt","B","K","ft","providerData","inject","traffic","latency","trafficCard","MetricCardType","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]}
1
+ {"version":3,"file":"vitals-metric-provider.es.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.6.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","../../metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var qe = Object.defineProperty;\nvar je = (r, e, t) => e in r ? qe(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar M = (r, e, t) => (je(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nvar d = /* @__PURE__ */ ((r) => (r.MINUTELY = \"Minutely\", r.HOURLY = \"Hourly\", r.DAILY = \"Daily\", r.WEEKLY = \"Weekly\", r))(d || {}), v = /* @__PURE__ */ ((r) => (r.FIFTEEN_MIN = \"15m\", r.ONE_HOUR = \"1h\", r.SIX_HOUR = \"6h\", r.TWELVE_HOUR = \"12h\", r.ONE_DAY = \"24h\", r.SEVEN_DAY = \"7d\", r.THIRTY_DAY = \"30d\", r.CURRENT_WEEK = \"current_week\", r.CURRENT_MONTH = \"current_month\", r.CURRENT_QUARTER = \"current_quarter\", r.PREVIOUS_WEEK = \"previous_week\", r.PREVIOUS_MONTH = \"previous_month\", r.PREVIOUS_QUARTER = \"previous_quarter\", r))(v || {}), ze = /* @__PURE__ */ ((r) => (r.DOUGHNUT = \"Doughnut\", r.HORIZONTAL_BAR = \"HorizontalBar\", r.VERTICAL_BAR = \"VerticalBar\", r.TIMESERIES_LINE = \"Line\", r.TIMESERIES_BAR = \"TimeSeriesBar\", r))(ze || {});\nfunction W(r) {\n \"@babel/helpers - typeof\";\n return W = 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 }, W(r);\n}\nfunction T(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 m(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction D(r) {\n m(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || W(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 ne(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && t.setDate(t.getDate() + a), t);\n}\nfunction Qe(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return t;\n var n = t.getDate(), i = new Date(t.getTime());\n i.setMonth(t.getMonth() + a + 1, 0);\n var o = i.getDate();\n return n >= o ? i : (t.setFullYear(i.getFullYear(), i.getMonth(), n), t);\n}\nfunction Ve(r, e) {\n m(2, arguments);\n var t = D(r).getTime(), a = T(e);\n return new Date(t + a);\n}\nvar Xe = {};\nfunction H() {\n return Xe;\n}\nfunction F(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setDate(g.getDate() - y), g.setHours(0, 0, 0, 0), g;\n}\nfunction Be(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 ve(r) {\n m(1, arguments);\n var e = D(r);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar Ze = 60, Je = 3600;\nfunction Ke(r) {\n return m(1, arguments), r instanceof Date || W(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction et(r) {\n if (m(1, arguments), !Ke(r) && typeof r != \"number\")\n return !1;\n var e = D(r);\n return !isNaN(Number(e));\n}\nfunction S(r) {\n m(1, arguments);\n var e = D(r);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction tt(r, e) {\n m(2, arguments);\n var t = T(e);\n return Ve(r, -t);\n}\nvar rt = 864e5;\nfunction at(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var a = e.getTime(), n = t - a;\n return Math.floor(n / rt) + 1;\n}\nfunction G(r) {\n m(1, arguments);\n var e = 1, t = D(r), a = t.getUTCDay(), n = (a < e ? 7 : 0) + a - e;\n return t.setUTCDate(t.getUTCDate() - n), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction Se(r) {\n m(1, arguments);\n var e = D(r), t = e.getUTCFullYear(), a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t + 1, 0, 4), a.setUTCHours(0, 0, 0, 0);\n var n = G(a), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = G(i);\n return e.getTime() >= n.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction nt(r) {\n m(1, arguments);\n var e = Se(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var a = G(t);\n return a;\n}\nvar it = 6048e5;\nfunction ot(r) {\n m(1, arguments);\n var e = D(r), t = G(e).getTime() - nt(e).getTime();\n return Math.round(t / it) + 1;\n}\nfunction q(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getUTCDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setUTCDate(g.getUTCDate() - y), g.setUTCHours(0, 0, 0, 0), g;\n}\nfunction xe(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = D(r), f = h.getUTCFullYear(), g = H(), w = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : g.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = g.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(w >= 1 && w <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var y = /* @__PURE__ */ new Date(0);\n y.setUTCFullYear(f + 1, 0, w), y.setUTCHours(0, 0, 0, 0);\n var U = q(y, e), N = /* @__PURE__ */ new Date(0);\n N.setUTCFullYear(f, 0, w), N.setUTCHours(0, 0, 0, 0);\n var k = q(N, e);\n return h.getTime() >= U.getTime() ? f + 1 : h.getTime() >= k.getTime() ? f : f - 1;\n}\nfunction ut(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : h.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), g = xe(r, e), w = /* @__PURE__ */ new Date(0);\n w.setUTCFullYear(g, 0, f), w.setUTCHours(0, 0, 0, 0);\n var y = q(w, e);\n return y;\n}\nvar st = 6048e5;\nfunction lt(r, e) {\n m(1, arguments);\n var t = D(r), a = q(t, e).getTime() - ut(t, e).getTime();\n return Math.round(a / st) + 1;\n}\nfunction c(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", a = Math.abs(r).toString(); a.length < e; )\n a = \"0\" + a;\n return t + a;\n}\nvar dt = {\n // Year\n y: function(e, t) {\n var a = e.getUTCFullYear(), n = a > 0 ? a : 1 - a;\n return c(t === \"yy\" ? n % 100 : n, t.length);\n },\n // Month\n M: function(e, t) {\n var a = e.getUTCMonth();\n return t === \"M\" ? String(a + 1) : c(a + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return c(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var a = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.toUpperCase();\n case \"aaa\":\n return a;\n case \"aaaaa\":\n return a[0];\n case \"aaaa\":\n default:\n return a === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return c(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return c(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return c(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return c(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var a = t.length, n = e.getUTCMilliseconds(), i = Math.floor(n * Math.pow(10, a - 3));\n return c(i, t.length);\n }\n};\nconst E = dt;\nvar C = {\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}, ft = {\n // Era\n G: function(e, t, a) {\n var n = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return a.era(n, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return a.era(n, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return a.era(n, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, a) {\n if (t === \"yo\") {\n var n = e.getUTCFullYear(), i = n > 0 ? n : 1 - n;\n return a.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return E.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, a, n) {\n var i = xe(e, n), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var u = o % 100;\n return c(u, 2);\n }\n return t === \"Yo\" ? a.ordinalNumber(o, {\n unit: \"year\"\n }) : c(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var a = Se(e);\n return c(a, 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 a = e.getUTCFullYear();\n return c(a, t.length);\n },\n // Quarter\n Q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(n);\n case \"QQ\":\n return c(n, 2);\n case \"Qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(n);\n case \"qq\":\n return c(n, 2);\n case \"qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return E.M(e, t);\n case \"Mo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return a.month(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(n + 1);\n case \"LL\":\n return c(n + 1, 2);\n case \"Lo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return a.month(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, a, n) {\n var i = lt(e, n);\n return t === \"wo\" ? a.ordinalNumber(i, {\n unit: \"week\"\n }) : c(i, t.length);\n },\n // ISO week of year\n I: function(e, t, a) {\n var n = ot(e);\n return t === \"Io\" ? a.ordinalNumber(n, {\n unit: \"week\"\n }) : c(n, t.length);\n },\n // Day of the month\n d: function(e, t, a) {\n return t === \"do\" ? a.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : E.d(e, t);\n },\n // Day of year\n D: function(e, t, a) {\n var n = at(e);\n return t === \"Do\" ? a.ordinalNumber(n, {\n unit: \"dayOfYear\"\n }) : c(n, t.length);\n },\n // Day of week\n E: function(e, t, a) {\n var n = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return c(o, 2);\n case \"eo\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return a.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return a.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return c(o, t.length);\n case \"co\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return a.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return a.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, a) {\n var n = e.getUTCDay(), i = n === 0 ? 7 : n;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return c(i, t.length);\n case \"io\":\n return a.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, a) {\n var n = e.getUTCHours(), i = n / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n === 12 ? i = C.noon : n === 0 ? i = C.midnight : i = n / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return a.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, a) {\n var n = e.getUTCHours(), i;\n switch (n >= 17 ? i = C.evening : n >= 12 ? i = C.afternoon : n >= 4 ? i = C.morning : i = C.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, a) {\n if (t === \"ho\") {\n var n = e.getUTCHours() % 12;\n return n === 0 && (n = 12), a.ordinalNumber(n, {\n unit: \"hour\"\n });\n }\n return E.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, a) {\n return t === \"Ho\" ? a.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : E.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, a) {\n var n = e.getUTCHours() % 12;\n return t === \"Ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Hour [1-24]\n k: function(e, t, a) {\n var n = e.getUTCHours();\n return n === 0 && (n = 24), t === \"ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Minute\n m: function(e, t, a) {\n return t === \"mo\" ? a.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : E.m(e, t);\n },\n // Second\n s: function(e, t, a) {\n return t === \"so\" ? a.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : E.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return E.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return we(o);\n case \"XXXX\":\n case \"XX\":\n return _(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return we(o);\n case \"xxxx\":\n case \"xx\":\n return _(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + ge(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + ge(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, a, n) {\n var i = n._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return c(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTime();\n return c(o, t.length);\n }\n};\nfunction ge(r, e) {\n var t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), n = Math.floor(a / 60), i = a % 60;\n if (i === 0)\n return t + String(n);\n var o = e || \"\";\n return t + String(n) + o + c(i, 2);\n}\nfunction we(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + c(Math.abs(r) / 60, 2);\n }\n return _(r, e);\n}\nfunction _(r, e) {\n var t = e || \"\", a = r > 0 ? \"-\" : \"+\", n = Math.abs(r), i = c(Math.floor(n / 60), 2), o = c(n % 60, 2);\n return a + i + t + o;\n}\nconst ct = ft;\nvar Te = 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}, Ue = 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}, mt = function(e, t) {\n var a = e.match(/(P+)(p+)?/) || [], n = a[1], i = a[2];\n if (!i)\n return Te(e, t);\n var o;\n switch (n) {\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}}\", Te(n, t)).replace(\"{{time}}\", Ue(i, t));\n}, ht = {\n p: Ue,\n P: mt\n};\nconst vt = ht;\nvar gt = [\"D\", \"DD\"], wt = [\"YY\", \"YYYY\"];\nfunction Tt(r) {\n return gt.indexOf(r) !== -1;\n}\nfunction Dt(r) {\n return wt.indexOf(r) !== -1;\n}\nfunction De(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 yt = {\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}, pt = function(e, t, a) {\n var n, i = yt[e];\n return typeof i == \"string\" ? n = i : t === 1 ? n = i.one : n = i.other.replace(\"{{count}}\", t.toString()), a != null && a.addSuffix ? a.comparison && a.comparison > 0 ? \"in \" + n : n + \" ago\" : n;\n};\nconst Mt = pt;\nfunction K(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, a = r.formats[t] || r.formats[r.defaultWidth];\n return a;\n };\n}\nvar Ot = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, bt = {\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}, Yt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, Et = {\n date: K({\n formats: Ot,\n defaultWidth: \"full\"\n }),\n time: K({\n formats: bt,\n defaultWidth: \"full\"\n }),\n dateTime: K({\n formats: Yt,\n defaultWidth: \"full\"\n })\n};\nconst Nt = Et;\nvar _t = {\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}, Ct = function(e, t, a, n) {\n return _t[e];\n};\nconst St = Ct;\nfunction R(r) {\n return function(e, t) {\n var a = t != null && t.context ? String(t.context) : \"standalone\", n;\n if (a === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n n = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var u = r.defaultWidth, s = t != null && t.width ? String(t.width) : r.defaultWidth;\n n = r.values[s] || r.values[u];\n }\n var l = r.argumentCallback ? r.argumentCallback(e) : e;\n return n[l];\n };\n}\nvar xt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, Ut = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, kt = {\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}, It = {\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}, Pt = {\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}, Rt = {\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}, Lt = function(e, t) {\n var a = Number(e), n = a % 100;\n if (n > 20 || n < 10)\n switch (n % 10) {\n case 1:\n return a + \"st\";\n case 2:\n return a + \"nd\";\n case 3:\n return a + \"rd\";\n }\n return a + \"th\";\n}, Wt = {\n ordinalNumber: Lt,\n era: R({\n values: xt,\n defaultWidth: \"wide\"\n }),\n quarter: R({\n values: Ut,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: R({\n values: kt,\n defaultWidth: \"wide\"\n }),\n day: R({\n values: It,\n defaultWidth: \"wide\"\n }),\n dayPeriod: R({\n values: Pt,\n defaultWidth: \"wide\",\n formattingValues: Rt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst Ht = Wt;\nfunction L(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.width, n = a && r.matchPatterns[a] || r.matchPatterns[r.defaultMatchWidth], i = e.match(n);\n if (!i)\n return null;\n var o = i[0], u = a && r.parsePatterns[a] || r.parsePatterns[r.defaultParseWidth], s = Array.isArray(u) ? At(u, function(f) {\n return f.test(o);\n }) : $t(u, function(f) {\n return f.test(o);\n }), l;\n l = r.valueCallback ? r.valueCallback(s) : s, l = t.valueCallback ? t.valueCallback(l) : l;\n var h = e.slice(o.length);\n return {\n value: l,\n rest: h\n };\n };\n}\nfunction $t(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction At(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction Ft(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = e.match(r.matchPattern);\n if (!a)\n return null;\n var n = a[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 u = e.slice(n.length);\n return {\n value: o,\n rest: u\n };\n };\n}\nvar Gt = /^(\\d+)(th|st|nd|rd)?/i, qt = /\\d+/i, jt = {\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}, zt = {\n any: [/^b/i, /^(a|c)/i]\n}, Qt = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Vt = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Xt = {\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}, Bt = {\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}, Zt = {\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}, Jt = {\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}, Kt = {\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}, er = {\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}, tr = {\n ordinalNumber: Ft({\n matchPattern: Gt,\n parsePattern: qt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: L({\n matchPatterns: jt,\n defaultMatchWidth: \"wide\",\n parsePatterns: zt,\n defaultParseWidth: \"any\"\n }),\n quarter: L({\n matchPatterns: Qt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Vt,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: L({\n matchPatterns: Xt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Bt,\n defaultParseWidth: \"any\"\n }),\n day: L({\n matchPatterns: Zt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Jt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: L({\n matchPatterns: Kt,\n defaultMatchWidth: \"any\",\n parsePatterns: er,\n defaultParseWidth: \"any\"\n })\n};\nconst rr = tr;\nvar ar = {\n code: \"en-US\",\n formatDistance: Mt,\n formatLong: Nt,\n formatRelative: St,\n localize: Ht,\n match: rr,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst nr = ar;\nvar ir = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, or = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, ur = /^'([^]*?)'?$/, sr = /''/g, lr = /[a-zA-Z]/;\nfunction dr(r, e, t) {\n var a, n, i, o, u, s, l, h, f, g, w, y, U, N, k, V, X, B;\n m(2, arguments);\n var He = String(e), I = H(), P = (a = (n = t == null ? void 0 : t.locale) !== null && n !== void 0 ? n : I.locale) !== null && a !== void 0 ? a : nr, Z = T((i = (o = (u = (s = t == null ? void 0 : t.firstWeekContainsDate) !== null && s !== void 0 ? s : t == null || (l = t.locale) === null || l === void 0 || (h = l.options) === null || h === void 0 ? void 0 : h.firstWeekContainsDate) !== null && u !== void 0 ? u : I.firstWeekContainsDate) !== null && o !== void 0 ? o : (f = I.locale) === null || f === void 0 || (g = f.options) === null || g === void 0 ? void 0 : g.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(Z >= 1 && Z <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var J = T((w = (y = (U = (N = t == null ? void 0 : t.weekStartsOn) !== null && N !== void 0 ? N : t == null || (k = t.locale) === null || k === void 0 || (V = k.options) === null || V === void 0 ? void 0 : V.weekStartsOn) !== null && U !== void 0 ? U : I.weekStartsOn) !== null && y !== void 0 ? y : (X = I.locale) === null || X === void 0 || (B = X.options) === null || B === void 0 ? void 0 : B.weekStartsOn) !== null && w !== void 0 ? w : 0);\n if (!(J >= 0 && J <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!P.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!P.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var $ = D(r);\n if (!et($))\n throw new RangeError(\"Invalid time value\");\n var $e = Be($), Ae = tt($, $e), Fe = {\n firstWeekContainsDate: Z,\n weekStartsOn: J,\n locale: P,\n _originalDate: $\n }, Ge = He.match(or).map(function(O) {\n var Y = O[0];\n if (Y === \"p\" || Y === \"P\") {\n var A = vt[Y];\n return A(O, P.formatLong);\n }\n return O;\n }).join(\"\").match(ir).map(function(O) {\n if (O === \"''\")\n return \"'\";\n var Y = O[0];\n if (Y === \"'\")\n return fr(O);\n var A = ct[Y];\n if (A)\n return !(t != null && t.useAdditionalWeekYearTokens) && Dt(O) && De(O, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Tt(O) && De(O, e, String(r)), A(Ae, O, P.localize, Fe);\n if (Y.match(lr))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + Y + \"`\");\n return O;\n }).join(\"\");\n return Ge;\n}\nfunction fr(r) {\n var e = r.match(ur);\n return e ? e[1].replace(sr, \"'\") : r;\n}\nfunction cr(r) {\n m(1, arguments);\n var e = D(r), t = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(t, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction ie(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n return t;\n}\nfunction ye(r) {\n return m(1, arguments), Math.floor(ie(r) / 1e3);\n}\nfunction mr(r) {\n return m(1, arguments), Math.floor(r * Je);\n}\nfunction hr(r, e) {\n m(2, arguments);\n var t = T(e);\n return ne(r, -t);\n}\nfunction vr(r) {\n m(1, arguments);\n var e = r / Ze;\n return Math.floor(e);\n}\nfunction ce(r, e) {\n m(2, arguments);\n var t = T(e);\n return Qe(r, -t);\n}\nfunction gr(r, e) {\n if (m(2, arguments), !e || W(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var t = e.years ? T(e.years) : 0, a = e.months ? T(e.months) : 0, n = e.weeks ? T(e.weeks) : 0, i = e.days ? T(e.days) : 0, o = e.hours ? T(e.hours) : 0, u = e.minutes ? T(e.minutes) : 0, s = e.seconds ? T(e.seconds) : 0, l = ce(r, a + t * 12), h = hr(l, i + n * 7), f = u + o * 60, g = s + f * 60, w = g * 1e3, y = new Date(h.getTime() - w);\n return y;\n}\nfunction Kr(r) {\n return dr(r, \"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\");\n}\nfunction me(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar ke = { exports: {} };\n(function(r) {\n function e(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n }\n r.exports = e, r.exports.__esModule = !0, r.exports.default = r.exports;\n})(ke);\nvar wr = ke.exports, oe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(oe, oe.exports);\nvar Tr = oe.exports;\nconst Dr = /* @__PURE__ */ me(Tr);\nvar ue = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(ue, ue.exports);\nvar yr = ue.exports;\nconst pe = /* @__PURE__ */ me(yr);\nfunction pr(r, e) {\n var t = Yr(e);\n return t.formatToParts ? Or(t, r) : br(t, r);\n}\nvar Mr = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Or(r, e) {\n try {\n for (var t = r.formatToParts(e), a = [], n = 0; n < t.length; n++) {\n var i = Mr[t[n].type];\n i >= 0 && (a[i] = parseInt(t[n].value, 10));\n }\n return a;\n } catch (o) {\n if (o instanceof RangeError)\n return [NaN];\n throw o;\n }\n}\nfunction br(r, e) {\n var t = r.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(t);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar ee = {};\nfunction Yr(r) {\n if (!ee[r]) {\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\")), t = e === \"06/25/2014, 00:00:00\" || e === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n ee[r] = t ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: r,\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: r,\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 ee[r];\n}\nfunction he(r, e, t, a, n, i, o) {\n var u = /* @__PURE__ */ new Date(0);\n return u.setUTCFullYear(r, e, t), u.setUTCHours(a, n, i, o), u;\n}\nvar Me = 36e5, Er = 6e4, te = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction z(r, e, t) {\n var a, n;\n if (!r || (a = te.timezoneZ.exec(r), a))\n return 0;\n var i;\n if (a = te.timezoneHH.exec(r), a)\n return i = parseInt(a[1], 10), Oe(i) ? -(i * Me) : NaN;\n if (a = te.timezoneHHMM.exec(r), a) {\n i = parseInt(a[1], 10);\n var o = parseInt(a[2], 10);\n return Oe(i, o) ? (n = Math.abs(i) * Me + o * Er, i > 0 ? -n : n) : NaN;\n }\n if (Cr(r)) {\n e = new Date(e || Date.now());\n var u = t ? e : Nr(e), s = se(u, r), l = t ? s : _r(e, s, r);\n return -l;\n }\n return NaN;\n}\nfunction Nr(r) {\n return he(\n r.getFullYear(),\n r.getMonth(),\n r.getDate(),\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n );\n}\nfunction se(r, e) {\n var t = pr(r, e), a = he(\n t[0],\n t[1] - 1,\n t[2],\n t[3] % 24,\n t[4],\n t[5],\n 0\n ).getTime(), n = r.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction _r(r, e, t) {\n var a = r.getTime(), n = a - e, i = se(new Date(n), t);\n if (e === i)\n return e;\n n -= i - e;\n var o = se(new Date(n), t);\n return i === o ? i : Math.max(i, o);\n}\nfunction Oe(r, e) {\n return -23 <= r && r <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar be = {};\nfunction Cr(r) {\n if (be[r])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: r }), be[r] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Sr = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst Ie = Sr;\nvar re = 36e5, Ye = 6e4, xr = 2, p = {\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: Ie\n};\nfunction le(r, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (r === null)\n return /* @__PURE__ */ new Date(NaN);\n var t = e || {}, a = t.additionalDigits == null ? xr : Dr(t.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (r instanceof Date || typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Date]\")\n return new Date(r.getTime());\n if (typeof r == \"number\" || Object.prototype.toString.call(r) === \"[object Number]\")\n return new Date(r);\n if (!(typeof r == \"string\" || Object.prototype.toString.call(r) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ur(r), i = kr(n.date, a), o = i.year, u = i.restDateString, s = Ir(u, o);\n if (isNaN(s))\n return /* @__PURE__ */ new Date(NaN);\n if (s) {\n var l = s.getTime(), h = 0, f;\n if (n.time && (h = Pr(n.time), isNaN(h)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || t.timeZone) {\n if (f = z(n.timeZone || t.timeZone, new Date(l + h)), isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n } else\n f = pe(new Date(l + h)), f = pe(new Date(l + h + f));\n return new Date(l + h + f);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ur(r) {\n var e = {}, t = p.dateTimePattern.exec(r), a;\n if (t ? (e.date = t[1], a = t[3]) : (t = p.datePattern.exec(r), t ? (e.date = t[1], a = t[2]) : (e.date = null, a = r)), a) {\n var n = p.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 kr(r, e) {\n var t = p.YYY[e], a = p.YYYYY[e], n;\n if (n = p.YYYY.exec(r) || a.exec(r), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: r.slice(i.length)\n };\n }\n if (n = p.YY.exec(r) || t.exec(r), n) {\n var o = n[1];\n return {\n year: parseInt(o, 10) * 100,\n restDateString: r.slice(o.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Ir(r, e) {\n if (e === null)\n return null;\n var t, a, n, i;\n if (r.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (t = p.MM.exec(r), t)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1, Ne(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (t = p.DDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0);\n var o = parseInt(t[1], 10);\n return Wr(e, o) ? (a.setUTCFullYear(e, 0, o), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.MMDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1;\n var u = parseInt(t[2], 10);\n return Ne(e, n, u) ? (a.setUTCFullYear(e, n, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.Www.exec(r), t)\n return i = parseInt(t[1], 10) - 1, _e(e, i) ? Ee(e, i) : /* @__PURE__ */ new Date(NaN);\n if (t = p.WwwD.exec(r), t) {\n i = parseInt(t[1], 10) - 1;\n var s = parseInt(t[2], 10) - 1;\n return _e(e, i, s) ? Ee(e, i, s) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction Pr(r) {\n var e, t, a;\n if (e = p.HH.exec(r), e)\n return t = parseFloat(e[1].replace(\",\", \".\")), ae(t) ? t % 24 * re : NaN;\n if (e = p.HHMM.exec(r), e)\n return t = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), ae(t, a) ? t % 24 * re + a * Ye : NaN;\n if (e = p.HHMMSS.exec(r), e) {\n t = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return ae(t, a, n) ? t % 24 * re + a * Ye + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Ee(r, e, t) {\n e = e || 0, t = t || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(r, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + t + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Rr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Lr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction Pe(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nfunction Ne(r, e, t) {\n if (e < 0 || e > 11)\n return !1;\n if (t != null) {\n if (t < 1)\n return !1;\n var a = Pe(r);\n if (a && t > Lr[e] || !a && t > Rr[e])\n return !1;\n }\n return !0;\n}\nfunction Wr(r, e) {\n if (e < 1)\n return !1;\n var t = Pe(r);\n return !(t && e > 366 || !t && e > 365);\n}\nfunction _e(r, e, t) {\n return !(e < 0 || e > 52 || t != null && (t < 0 || t > 6));\n}\nfunction ae(r, e, t) {\n return !(r != null && (r < 0 || r >= 25) || e != null && (e < 0 || e >= 60) || t != null && (t < 0 || t >= 60));\n}\nvar de = { exports: {} }, fe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(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 r.exports = e.default;\n})(fe, fe.exports);\nvar Hr = fe.exports;\n(function(r, e) {\n var t = wr.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = t(Hr);\n function n(i) {\n return (0, a.default)({}, i);\n }\n r.exports = e.default;\n})(de, de.exports);\nvar $r = de.exports;\nconst Ar = /* @__PURE__ */ me($r);\nfunction Fr(r, e, t) {\n var a = le(r, t), n = z(e, a, !0), i = new Date(a.getTime() - n), o = /* @__PURE__ */ new Date(0);\n return o.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), o.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), o;\n}\nfunction Re(r, e) {\n return -z(r, e);\n}\nfunction Gr(r, e, t) {\n if (typeof r == \"string\" && !r.match(Ie)) {\n var a = Ar(t);\n return a.timeZone = e, le(r, a);\n }\n var n = le(r, t), i = he(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), o = z(e, new Date(i));\n return new Date(i + o);\n}\nconst j = {\n [d.MINUTELY]: 60 * 1e3,\n [d.HOURLY]: 60 * 60 * 1e3,\n [d.DAILY]: 60 * 60 * 24 * 1e3,\n [d.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction ea(r, e) {\n return r.map((t) => ({\n value: t,\n label: e.t(`configuration.vitals.reports.granularity.${t}`)\n }));\n}\nfunction qr(r, e) {\n return r ? {\n duration: r,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction ta(r) {\n return r && Object.values(d).find((t) => r <= j[t]) || null;\n}\nfunction Le(r, e, t, a) {\n const n = j[t];\n let i = 0;\n return n >= j[d.DAILY] && (a ? i = -Re(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(r((e.getTime() - i) / n) * n + i);\n}\nfunction Ce(r, e, t) {\n return Le(Math.floor, r, e, t);\n}\nfunction We(r, e, t) {\n return Le(Math.ceil, r, e, t);\n}\nclass Q {\n constructor(e, t) {\n M(this, \"timeframe\");\n M(this, \"tz\");\n if (this.constructor === Q)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = t;\n }\n calculateStartDate(e, t, 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), o = Ce(i, t, this.tz), s = (n.getTime() - o.getTime()) * (a - 1);\n return Ce(\n new Date(i.getTime() - s),\n t,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return qr(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return ye(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return ye(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return ie(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return ie(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() >= gr(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass ra extends Q {\n constructor(t, a, n) {\n super(t, n);\n M(this, \"granularity\");\n a && t.allowedGranularities().has(a) ? this.granularity = a : this.granularity = t.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return j[this.granularity];\n }\n}\nclass jr extends Q {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass aa extends jr {\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 x = (r, e) => new Date(r.getTime() - Re(e, r));\nclass b {\n constructor(e) {\n M(this, \"timeframeText\");\n M(this, \"key\");\n M(this, \"display\");\n M(this, \"timeframeLength\");\n M(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 M(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 M(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 M(this, \"isRelative\");\n M(this, \"_startCustom\");\n M(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(), t = this.maximumTimeframeLength() / 3600;\n return t <= 6 && e.add(d.MINUTELY), t >= 2 && t <= 7 * 24 && e.add(d.HOURLY), t >= 2 * 24 && e.add(d.DAILY), t >= 2 * 24 * 14 && e.add(d.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const t = Gr(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return Fr(t, e);\n }\n}\nclass zr extends b {\n rawStart(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Qr extends b {\n rawStart(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Vr extends b {\n rawEnd(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n const t = this.tzAdjustedDate(e);\n let a = F(t.setDate(t.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = x(a, e)), a;\n }\n}\nclass Xr extends b {\n rawEnd(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n let t = S(ce(this.tzAdjustedDate(e), 1));\n return e && (t = x(t, e)), t;\n }\n}\nconst Br = /* @__PURE__ */ new Map([\n [\n v.FIFTEEN_MIN,\n new b({\n key: v.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_HOUR,\n new b({\n key: v.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SIX_HOUR,\n new b({\n key: v.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.TWELVE_HOUR,\n new b({\n key: v.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_DAY,\n new b({\n key: v.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SEVEN_DAY,\n new b({\n key: v.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.THIRTY_DAY,\n new b({\n key: v.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_WEEK,\n new zr({\n key: v.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const r = F(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_MONTH,\n new Qr({\n key: v.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const r = S(/* @__PURE__ */ new Date());\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_WEEK,\n new Vr({\n key: v.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_MONTH,\n new Xr({\n key: v.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let r = 0;\n const e = S(/* @__PURE__ */ new Date()), t = S(ce(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== t.getTimezoneOffset() && (r = Zr(e, t)), 60 * 60 * 24 * cr((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + mr(r);\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction na(r) {\n const e = new Date(r.start), t = new Date(r.end), a = (t.getTime() - e.getTime()) / 1e3;\n return r.timePeriodsKey && Br.get(r.timePeriodsKey) || new b({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: t,\n timeframeLength: () => a,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ia(r) {\n return {\n ...r.key !== \"custom\" && { timePeriodsKey: r.key },\n start: r.rawStart(),\n end: r.rawEnd()\n };\n}\nfunction oa(r) {\n return {\n key: r.key,\n display: r.display,\n timeframeText: r.timeframeText,\n timeframeLength: () => r.key,\n // Used to generate test IDs for the Kongponent.\n start: () => r.rawStart(),\n end: () => r.rawEnd()\n };\n}\nfunction Zr(r, e) {\n return vr(r.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n ze as ChartTypes,\n aa as DeltaQueryTime,\n j as Granularities,\n d as GranularityKeys,\n Br as TimePeriods,\n b as Timeframe,\n v as TimeframeKeys,\n ra as TimeseriesQueryTime,\n jr as UnaryQueryTime,\n We as ceilToNearestTimeGrain,\n na as datePickerSelectionToTimeframe,\n Zr as dstOffsetHours,\n Ce as floorToNearestTimeGrain,\n Kr as formatISOTimeWithTZ,\n ea as granularitiesToOptions,\n qr as granularityMsToQuery,\n ta as msToGranularity,\n ia as timeframeToDatepickerSelection,\n oa 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, MetricCardType } 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 cardType: MetricCardType,\n title: Ref<string>,\n description?: string,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n trendRange?: Ref<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 cardType,\n title,\n description,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n trendRange,\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 cardType,\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n description,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n trendRange: trendRange?.value,\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 description?: string,\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n trendRange: Ref<string>,\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 type { Ref } from 'vue'\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'\nimport composables from '../composables'\n\nconst { i18n } = composables.useI18n()\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 description?: string,\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 description: undefined,\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\n// If one of our relative timeframes, we display the requested time frame (if user has trend access); otherwise fall back to one day\n// Else, we have a Custom start and end datetime coming from v-calendar, so we display \"vs previous X days\"\nconst trendRangeText = computed(() => {\n if (timeframe.value.key === 'custom') {\n return i18n.t('trendRange.custom', { numDays: Math.ceil(timeframe.value.timeframeLength() / (1000 * 60 * 24)) })\n } else {\n return props.hasTrendAccess\n // @ts-ignore - dynamic i18n key\n ? i18n.t(`trendRange.${timeframe.value.key}`)\n // @ts-ignore - dynamic i18n key\n : i18n.t(`trendRange.${TimePeriods.get(TimeframeKeys.ONE_DAY)?.key}`)\n }\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 description: props.description,\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n trendRange: trendRangeText as Ref<string>,\n})\n\n</script>\n","import { defineComponent as _, computed as u, openBlock as n, createBlock as C, resolveDynamicComponent as S, normalizeStyle as x, withCtx as z, createElementBlock as l, toDisplayString as f, createCommentVNode as v, pushScopeId as k, popScopeId as w, createElementVNode as g, resolveComponent as T, normalizeClass as M, unref as h, createVNode as V, Fragment as B, renderList as K, mergeProps as P } from \"vue\";\nfunction G(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar U = { exports: {} };\n(function(e) {\n (function() {\n function t(o, s) {\n if (s.separator === !1 || o < 1e3)\n return o.toString();\n var c = typeof s.separator == \"string\" ? s.separator : \",\", y = [], q = Math.round(o).toString().split(\"\");\n return q.reverse().forEach(function(D, O) {\n O && O % 3 === 0 && y.push(c), y.push(D);\n }), y.reverse().join(\"\");\n }\n function r(o, s, c) {\n var y = o / s, q = c.round ? \"round\" : \"floor\";\n return c.decimal === !1 ? (o = Math[q](y), o.toString()) : (c.precision ? o = y : o = y < 10 ? Math[q](y * 10) / 10 : Math[q](y), o = o.toString(), typeof c.decimal == \"string\" && (o = o.replace(\".\", c.decimal)), o);\n }\n var d = 1e3, a = 1e4, i = 1e6, N = 1e9, m = 1e12;\n function L(o, s) {\n var c;\n s = s || {};\n var y = o < 0;\n y && (o = Math.abs(o)), s.precision && (o = parseFloat(o.toPrecision(s.precision)));\n var q = s.min10k ? a : d;\n return o < q || s.precision && s.precision > Math.log10(o) ? c = t(r(o, 1, s), s) : o < i ? c = r(o, d, s) + \"k\" : o < N ? c = r(o, i, s) + \"m\" : o < m ? c = t(r(o, N, s), s) + \"b\" : c = t(r(o, m, s), s) + \"t\", y && (c = \"-\" + c), s.capital && (c = c.toUpperCase()), s.prefix && (c = s.prefix + c), s.suffix && (c = c + s.suffix), c;\n }\n L.addCommas = t, e.exports = L;\n })();\n})(U);\nvar j = U.exports;\nconst X = /* @__PURE__ */ G(j);\nvar b = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.LargeCompact = \"lgc\", e.ExtraLarge = \"xl\", e))(b || {});\nconst p = \"24px\", I = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, Y = (e) => (k(\"data-v-77d6b8fc\"), e = e(), w(), e), J = [\"aria-hidden\"], W = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Q = /* @__PURE__ */ Y(() => /* @__PURE__ */ g(\"path\", {\n d: \"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z\",\n fill: \"currentColor\"\n}, null, -1)), ee = /* @__PURE__ */ _({\n __name: \"CloudUploadIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon cloud-upload-icon\",\n \"data-testid\": \"kui-icon-wrapper-cloud-upload-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-cloud-upload-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", W, f(e.title), 1)) : v(\"\", !0),\n Q\n ], 8, J))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), te = /* @__PURE__ */ I(ee, [[\"__scopeId\", \"data-v-77d6b8fc\"]]), re = (e) => (k(\"data-v-c5316c4f\"), e = e(), w(), e), ie = [\"aria-hidden\"], ae = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ne = /* @__PURE__ */ re(() => /* @__PURE__ */ g(\"path\", {\n d: \"M4 17V14H20V17H4ZM4 10V7H20V10H4Z\",\n fill: \"currentColor\"\n}, null, -1)), oe = /* @__PURE__ */ _({\n __name: \"EqualIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon equal-icon\",\n \"data-testid\": \"kui-icon-wrapper-equal-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-equal-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ae, f(e.title), 1)) : v(\"\", !0),\n ne\n ], 8, ie))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), se = /* @__PURE__ */ I(oe, [[\"__scopeId\", \"data-v-c5316c4f\"]]), de = (e) => (k(\"data-v-fb20027a\"), e = e(), w(), e), le = [\"aria-hidden\"], ce = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ue = /* @__PURE__ */ de(() => /* @__PURE__ */ g(\"path\", {\n d: \"M5 11V9H15V11H5Z\",\n fill: \"currentColor\"\n}, null, -1)), pe = /* @__PURE__ */ _({\n __name: \"IndeterminateSmallIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon indeterminate-small-icon\",\n \"data-testid\": \"kui-icon-wrapper-indeterminate-small-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-indeterminate-small-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ce, f(e.title), 1)) : v(\"\", !0),\n ue\n ], 8, le))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), A = /* @__PURE__ */ I(pe, [[\"__scopeId\", \"data-v-fb20027a\"]]), ge = (e) => (k(\"data-v-12213b58\"), e = e(), w(), e), fe = [\"aria-hidden\"], ye = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ve = /* @__PURE__ */ ge(() => /* @__PURE__ */ g(\"path\", {\n d: \"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z\",\n fill: \"currentColor\"\n}, null, -1)), Ce = /* @__PURE__ */ _({\n __name: \"ResponseIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon response-icon\",\n \"data-testid\": \"kui-icon-wrapper-response-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-response-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ye, f(e.title), 1)) : v(\"\", !0),\n ve\n ], 8, fe))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), me = /* @__PURE__ */ I(Ce, [[\"__scopeId\", \"data-v-12213b58\"]]), he = (e) => (k(\"data-v-932bf4fe\"), e = e(), w(), e), be = [\"aria-hidden\"], Se = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, _e = /* @__PURE__ */ he(() => /* @__PURE__ */ g(\"path\", {\n d: \"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z\",\n fill: \"currentColor\"\n}, null, -1)), Ne = /* @__PURE__ */ _({\n __name: \"TrendDownIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-down-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-down-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-down-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Se, f(e.title), 1)) : v(\"\", !0),\n _e\n ], 8, be))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), xe = /* @__PURE__ */ I(Ne, [[\"__scopeId\", \"data-v-932bf4fe\"]]), ze = (e) => (k(\"data-v-64a5751c\"), e = e(), w(), e), ke = [\"aria-hidden\"], we = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ie = /* @__PURE__ */ ze(() => /* @__PURE__ */ g(\"path\", {\n d: \"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z\",\n fill: \"currentColor\"\n}, null, -1)), Le = /* @__PURE__ */ _({\n __name: \"TrendUpIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-up-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-up-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-up-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", we, f(e.title), 1)) : v(\"\", !0),\n Ie\n ], 8, ke))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), qe = /* @__PURE__ */ I(Le, [[\"__scopeId\", \"data-v-64a5751c\"]]), Ee = (e) => (k(\"data-v-2d548d04\"), e = e(), w(), e), Me = [\"aria-hidden\"], Ve = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Te = /* @__PURE__ */ Ee(() => /* @__PURE__ */ g(\"path\", {\n d: \"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z\",\n fill: \"currentColor\"\n}, null, -1)), He = /* @__PURE__ */ _({\n __name: \"VitalsIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon vitals-icon\",\n \"data-testid\": \"kui-icon-wrapper-vitals-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-vitals-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Ve, f(e.title), 1)) : v(\"\", !0),\n Te\n ], 8, Me))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Re = /* @__PURE__ */ I(He, [[\"__scopeId\", \"data-v-2d548d04\"]]), Oe = (e) => (k(\"data-v-962d9951\"), e = e(), w(), e), Be = [\"aria-hidden\"], $e = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ze = /* @__PURE__ */ Oe(() => /* @__PURE__ */ g(\"path\", {\n d: \"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z\",\n fill: \"currentColor\"\n}, null, -1)), Ue = /* @__PURE__ */ _({\n __name: \"WarningOutlineIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: p,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = u(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return p;\n }), d = u(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), C(S(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-outline-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-outline-icon\",\n style: x(d.value)\n }, {\n default: z(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-outline-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", $e, f(e.title), 1)) : v(\"\", !0),\n Ze\n ], 8, Be))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Ae = /* @__PURE__ */ I(Ue, [[\"__scopeId\", \"data-v-962d9951\"]]), F = 2, $ = F + 2, Fe = (e, t, r = !1) => {\n let d = !t || Number(e.toFixed($)) === 0 ? 0 : Number(e.toFixed($)) > 0 ? 1 : -1;\n return r && (d *= -1), d;\n}, De = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(F)}%` : r, Ke = (e, t) => t === 0 ? 0 : e / t - 1, Pe = (e, t = !1) => (t && (e *= -1), e > 0 ? qe : e < 0 ? xe : A), Ge = \"#ad000e\", je = \"#6c7489\", Z = \"#52596e\", Xe = \"#007d60\", H = \"16px\", Ye = \"14px\", Je = \"48px\";\nvar E = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = \"GenericCount\", e.TRAFFIC = \"Traffic\", e.ERROR_RATE = \"ErrorRate\", e.LATENCY = \"Latency\", e))(E || {});\nconst We = { class: \"metricscard\" }, Qe = {\n key: 0,\n class: \"metricscard-description\"\n}, et = {\n key: 0,\n class: \"metricscard-error\"\n}, tt = {\n key: 2,\n class: \"metricscard-trend\"\n}, rt = { \"data-testid\": \"metric-trend-change\" }, it = {\n key: 0,\n class: \"metricscard-trend-range\"\n}, at = /* @__PURE__ */ _({\n __name: \"MetricsCard\",\n props: {\n cardType: {\n type: String,\n required: !0,\n default: E.GENERIC_COUNT\n },\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n description: {\n type: String,\n default: \"\",\n required: !1\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 trendIcon: {\n type: Object,\n default: A\n },\n trendRange: {\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 t = e, r = /* @__PURE__ */ new Map([\n [E.GENERIC_COUNT, Re],\n [E.TRAFFIC, te],\n [E.ERROR_RATE, Ae],\n [E.LATENCY, me]\n ]), d = (o) => {\n const s = {\n red: `var(--kong-ui-metric-card-trend-negative, ${Ge})`,\n green: `var(--kong-ui-metric-card-trend-positive, ${Xe})`,\n grey: `var(--kong-ui-metric-card-trend-neutral, ${Z})`\n };\n return o > 0 ? s.green : o < 0 ? s.red : s.grey;\n }, a = (o) => o > 0 ? \"positive\" : o < 0 ? \"negative\" : \"neutral\", i = [b.Medium, b.Large, b.LargeCompact].includes(t.cardSize), N = t.cardSize === b.ExtraLarge ? Je : i ? \"22px\" : Ye, m = u(() => t.cardSize === b.LargeCompact), L = [b.Small, b.LargeCompact].includes(t.cardSize);\n return (o, s) => {\n const c = T(\"KIcon\"), y = T(\"KTooltip\");\n return n(), l(\"div\", We, [\n g(\"div\", {\n class: M([\"metricscard-title\", e.cardSize])\n }, [\n h(L) ? v(\"\", !0) : (n(), C(S(h(r).get(e.cardType)), {\n key: 0,\n class: \"metricscard-icon\",\n color: h(je),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])),\n g(\"span\", null, f(e.title), 1),\n e.tooltip ? (n(), C(y, {\n key: 1,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: z(() => [\n V(c, {\n icon: \"info\",\n size: \"12\"\n })\n ]),\n _: 1\n }, 8, [\"label\"])) : v(\"\", !0)\n ], 2),\n e.description && h(i) && !m.value ? (n(), l(\"div\", Qe, [\n g(\"span\", null, f(e.description), 1)\n ])) : v(\"\", !0),\n g(\"div\", {\n class: M([\"metricscard-valuetrend\", { \"is-compact\": m.value }])\n }, [\n e.hasError ? (n(), l(\"div\", et, [\n V(c, {\n icon: \"warning\",\n size: \"20\"\n }),\n g(\"div\", null, f(e.errorMessage), 1)\n ])) : (n(), l(\"div\", {\n key: 1,\n class: M([\"metricscard-value\", e.cardSize]),\n \"data-testid\": \"metric-value\",\n style: x(`font-size:${h(N)}`)\n }, f(e.metricValue), 7)),\n h(i) ? (n(), l(\"div\", tt, [\n g(\"div\", {\n class: M([\"metricscard-trend-change\", a(e.changePolarity)]),\n \"data-testid\": \"metric-trend-parent\"\n }, [\n e.changePolarity !== 0 ? (n(), C(S(e.trendIcon), {\n key: 0,\n color: d(e.changePolarity),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])) : (n(), C(h(se), {\n key: 1,\n color: h(Z),\n size: h(H)\n }, null, 8, [\"color\", \"size\"])),\n g(\"div\", rt, f(e.metricChange), 1)\n ], 2),\n e.trendRange && e.cardSize !== h(b).LargeCompact ? (n(), l(\"div\", it, f(e.trendRange), 1)) : v(\"\", !0)\n ])) : v(\"\", !0)\n ], 2)\n ]);\n };\n }\n});\nconst R = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, nt = /* @__PURE__ */ R(at, [[\"__scopeId\", \"data-v-e3b3a4cb\"]]);\nconst ot = {}, st = { class: \"loading-tabs\" };\nfunction dt(e, t) {\n const r = T(\"KSkeletonBox\");\n return n(), l(\"div\", st, [\n V(r, { width: \"100\" }),\n V(r, { width: \"75\" })\n ]);\n}\nconst lt = /* @__PURE__ */ R(ot, [[\"render\", dt], [\"__scopeId\", \"data-v-f7eb9c40\"]]), ct = {\n key: 0,\n class: \"error-display\"\n}, ut = {\n key: 0,\n class: \"error-display-message\"\n}, pt = /* @__PURE__ */ _({\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: () => b.Large\n }\n },\n setup(e) {\n const t = e, r = u(() => t.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), d = (a) => {\n const i = Ke(a.currentValue, a.previousValue) || 0, N = Fe(i, t.hasTrendAccess, a.increaseIsBad);\n return {\n metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : X(a.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: a.formatChangeFn ? a.formatChangeFn(i) : De(i, t.hasTrendAccess, t.fallbackDisplayText),\n changePolarity: N,\n trendIcon: Pe(N, a.increaseIsBad),\n cardSize: t.cardSize\n };\n };\n return (a, i) => {\n const N = T(\"KIcon\");\n return n(), l(\"div\", {\n class: M([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n r.value ? (n(), l(\"div\", ct, [\n V(N, {\n class: \"error-display-icon\",\n icon: \"warning\",\n size: \"24\"\n }),\n e.errorMessage ? (n(), l(\"div\", ut, f(e.errorMessage), 1)) : v(\"\", !0)\n ])) : (n(!0), l(B, { key: 1 }, K(e.cards, (m, L) => (n(), l(B, null, [\n e.loading ? (n(), C(lt, {\n key: `skeleton-${L}`,\n class: M(e.cardSize === h(b).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (n(), C(nt, P({ key: L }, d(m), {\n \"card-size\": e.cardSize,\n \"card-type\": m.cardType,\n description: m.description,\n \"error-message\": e.errorMessage,\n \"has-error\": m.hasError,\n title: m.title,\n tooltip: m.tooltip,\n \"trend-range\": m.trendRange\n }), null, 16, [\"card-size\", \"card-type\", \"description\", \"error-message\", \"has-error\", \"title\", \"tooltip\", \"trend-range\"]))\n ], 64))), 256))\n ], 2);\n };\n }\n});\nconst ft = /* @__PURE__ */ R(pt, [[\"__scopeId\", \"data-v-7c516677\"]]);\nexport {\n F as DECIMAL_DISPLAY,\n $ as DECIMAL_ROUNDING_PRECISION,\n ft as MetricCardContainer,\n b as MetricCardSize,\n E as MetricCardType,\n Ke as calculateChange,\n Fe as changePolarity,\n Pe as defineIcon,\n De 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, MetricCardType, 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 cardType: MetricCardType.TRAFFIC,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n description: providerData.description,\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n trendRange: providerData.trendRange,\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 cardType: MetricCardType.ERROR_RATE,\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 description: providerData.description,\n increaseIsBad: true,\n trendRange: providerData.trendRange.value,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.LATENCY,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n description: providerData.description,\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n trendRange: providerData.trendRange,\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 trendRange: providerData.trendRange.value,\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":["qe","je","r","e","t","M","d","v","W","T","m","D","ne","a","Qe","n","i","Xe","H","F","u","s","l","h","f","g","w","y","ve","Ze","Je","S","cr","ie","ye","mr","hr","vr","ce","gr","me","ke","wr","oe","Tr","Dr","ue","yr","pe","pr","Yr","Or","br","Mr","ee","he","Me","Er","te","z","Oe","Cr","Nr","se","_r","be","Sr","Ie","re","Ye","xr","p","le","Ur","kr","Ir","Pr","Ne","Wr","_e","Ee","ae","Rr","Lr","Pe","de","fe","Hr","$r","Ar","Fr","Re","Gr","j","qr","Le","Ce","We","Q$1","Q","jr","aa","x","b$1","zr","b","Qr","Vr","Xr","Br","Zr","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","er","ur","q","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","k","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","cardType","title","description","hasError","increaseIsBad","formatValueFn","trendRange","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","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","_","verb","op","__read","o","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","trendRangeText","toRef","provide","G","U","c","O","N","L","X","I","Y","J","C","A","ge","Se","xe","ze","we","Ve","Te","He","Be","$e","Ue","Ae","$","Fe","De","Ke","Ge","Z","E","et","tt","rt","it","at","V","R","nt","ot","st","dt","lt","ct","ut","pt","B","K","ft","providerData","inject","traffic","latency","trafficCard","MetricCardType","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]}