import { jsx as K, jsxs as Te, Fragment as rn } from "react/jsx-runtime"; import * as V from "react"; import ae, { createContext as zt, useState as de, useRef as ne, useEffect as ue, isValidElement as Fi, cloneElement as Li, useContext as nt, useMemo as Ie, useLayoutEffect as pi, forwardRef as sf, useCallback as Ne, useId as ua, Fragment as Ut, useReducer as D4, createElement as vb, useSyncExternalStore as hoe, memo as goe } from "react"; import * as jd from "react-dom"; import LW, { unstable_batchedUpdates as Of, createPortal as C0, flushSync as wu } from "react-dom"; function Ql(e, t, { checkForDefaultPrevented: r = !0 } = {}) { return function(n) { if (e == null || e(n), r === !1 || !n.defaultPrevented) return t == null ? void 0 : t(n); }; } function gN(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t); } function zW(...e) { return (t) => { let r = !1; const n = e.map((o) => { const a = gN(o, t); return !r && typeof a == "function" && (r = !0), a; }); if (r) return () => { for (let o = 0; o < n.length; o++) { const a = n[o]; typeof a == "function" ? a() : gN(e[o], null); } }; }; } function lf(...e) { return V.useCallback(zW(...e), e); } function boe(e, t) { const r = V.createContext(t), n = (a) => { const { children: i, ...s } = a, u = V.useMemo(() => s, Object.values(s)); return /* @__PURE__ */ K(r.Provider, { value: u, children: i }); }; n.displayName = e + "Provider"; function o(a) { const i = V.useContext(r); if (i) return i; if (t !== void 0) return t; throw new Error(`\`${a}\` must be used within \`${e}\``); } return [n, o]; } function yoe(e, t = []) { let r = []; function n(a, i) { const s = V.createContext(i), u = r.length; r = [...r, i]; const c = (l) => { var f; const { scope: p, children: y, ...m } = l, h = ((f = p == null ? void 0 : p[e]) == null ? void 0 : f[u]) || s, w = V.useMemo(() => m, Object.values(m)); return /* @__PURE__ */ K(h.Provider, { value: w, children: y }); }; c.displayName = a + "Provider"; function d(l, f) { var p; const y = ((p = f == null ? void 0 : f[e]) == null ? void 0 : p[u]) || s, m = V.useContext(y); if (m) return m; if (i !== void 0) return i; throw new Error(`\`${l}\` must be used within \`${a}\``); } return [c, d]; } const o = () => { const a = r.map((i) => V.createContext(i)); return function(i) { const s = (i == null ? void 0 : i[e]) || a; return V.useMemo( () => ({ [`__scope${e}`]: { ...i, [e]: s } }), [i, s] ); }; }; return o.scopeName = e, [n, voe(o, ...t)]; } function voe(...e) { const t = e[0]; if (e.length === 1) return t; const r = () => { const n = e.map((o) => ({ useScope: o(), scopeName: o.scopeName })); return function(o) { const a = n.reduce((i, { useScope: s, scopeName: u }) => { const c = s(o)[`__scope${u}`]; return { ...i, ...c }; }, {}); return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]); }; }; return r.scopeName = t.scopeName, r; } var bg = globalThis != null && globalThis.document ? V.useLayoutEffect : () => { }, xoe = V[" useId ".trim().toString()] || (() => { }), woe = 0; function Lw(e) { const [t, r] = V.useState(xoe()); return bg(() => { r((n) => n ?? String(woe++)); }, [e]), e || (t ? `radix-${t}` : ""); } var $oe = V[" useInsertionEffect ".trim().toString()] || bg; function koe({ prop: e, defaultProp: t, onChange: r = () => { }, caller: n }) { const [o, a, i] = _oe({ defaultProp: t, onChange: r }), s = e !== void 0, u = s ? e : o; { const d = V.useRef(e !== void 0); V.useEffect(() => { const l = d.current; l !== s && console.warn( `${n} is changing from ${l ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.` ), d.current = s; }, [s, n]); } const c = V.useCallback( (d) => { var l; if (s) { const f = Ooe(d) ? d(e) : d; f !== e && ((l = i.current) == null || l.call(i, f)); } else a(d); }, [s, e, a, i] ); return [u, c]; } function _oe({ defaultProp: e, onChange: t }) { const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t); return $oe(() => { a.current = t; }, [t]), V.useEffect(() => { var i; o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r); }, [r, o]), [r, n, a]; } function Ooe(e) { return typeof e == "function"; } // @__NO_SIDE_EFFECTS__ function WW(e) { const t = /* @__PURE__ */ Soe(e), r = V.forwardRef((n, o) => { const { children: a, ...i } = n, s = V.Children.toArray(a), u = s.find(Aoe); if (u) { const c = u.props.children, d = s.map((l) => l === u ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : l); return /* @__PURE__ */ K(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, d) : null }); } return /* @__PURE__ */ K(t, { ...i, ref: o, children: a }); }); return r.displayName = `${e}.Slot`, r; } // @__NO_SIDE_EFFECTS__ function Soe(e) { const t = V.forwardRef((r, n) => { const { children: o, ...a } = r; if (V.isValidElement(o)) { const i = Coe(o), s = Poe(a, o.props); return o.type !== V.Fragment && (s.ref = n ? zW(n, i) : i), V.cloneElement(o, s); } return V.Children.count(o) > 1 ? V.Children.only(null) : null; }); return t.displayName = `${e}.SlotClone`, t; } var Eoe = Symbol("radix.slottable"); function Aoe(e) { return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Eoe; } function Poe(e, t) { const r = { ...t }; for (const n in t) { const o = e[n], a = t[n]; /^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => { const s = a(...i); return o(...i), s; } : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" ")); } return { ...e, ...r }; } function Coe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var Noe = [ "a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul" ], mi = Noe.reduce((e, t) => { const r = /* @__PURE__ */ WW(`Primitive.${t}`), n = V.forwardRef((o, a) => { const { asChild: i, ...s } = o, u = i ? r : t; return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ K(u, { ...s, ref: a }); }); return n.displayName = `Primitive.${t}`, { ...e, [t]: n }; }, {}); function Toe(e, t) { e && jd.flushSync(() => e.dispatchEvent(t)); } function yg(e) { const t = V.useRef(e); return V.useEffect(() => { t.current = e; }), V.useMemo(() => (...r) => { var n; return (n = t.current) == null ? void 0 : n.call(t, ...r); }, []); } function Ioe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = yg(e); V.useEffect(() => { const n = (o) => { o.key === "Escape" && r(o); }; return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 }); }, [r, t]); } var joe = "DismissableLayer", Z_ = "dismissableLayer.update", Roe = "dismissableLayer.pointerDownOutside", Moe = "dismissableLayer.focusOutside", bN, VW = V.createContext({ layers: /* @__PURE__ */ new Set(), layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), branches: /* @__PURE__ */ new Set() }), HW = V.forwardRef( (e, t) => { const { disableOutsidePointerEvents: r = !1, onEscapeKeyDown: n, onPointerDownOutside: o, onFocusOutside: a, onInteractOutside: i, onDismiss: s, ...u } = e, c = V.useContext(VW), [d, l] = V.useState(null), f = (d == null ? void 0 : d.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, p] = V.useState({}), y = lf(t, (z) => l(z)), m = Array.from(c.layers), [h] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), w = m.indexOf(h), $ = d ? m.indexOf(d) : -1, _ = c.layersWithOutsidePointerEventsDisabled.size > 0, S = $ >= w, b = Loe((z) => { const q = z.target, Y = [...c.branches].some((B) => B.contains(q)); !S || Y || (o == null || o(z), i == null || i(z), z.defaultPrevented || s == null || s()); }, f), F = zoe((z) => { const q = z.target; [...c.branches].some((Y) => Y.contains(q)) || (a == null || a(z), i == null || i(z), z.defaultPrevented || s == null || s()); }, f); return Ioe((z) => { $ === c.layers.size - 1 && (n == null || n(z), !z.defaultPrevented && s && (z.preventDefault(), s())); }, f), V.useEffect(() => { if (d) return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (bN = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(d)), c.layers.add(d), yN(), () => { r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = bN); }; }, [d, f, r, c]), V.useEffect(() => () => { d && (c.layers.delete(d), c.layersWithOutsidePointerEventsDisabled.delete(d), yN()); }, [d, c]), V.useEffect(() => { const z = () => p({}); return document.addEventListener(Z_, z), () => document.removeEventListener(Z_, z); }, []), /* @__PURE__ */ K( mi.div, { ...u, ref: y, style: { pointerEvents: _ ? S ? "auto" : "none" : void 0, ...e.style }, onFocusCapture: Ql(e.onFocusCapture, F.onFocusCapture), onBlurCapture: Ql(e.onBlurCapture, F.onBlurCapture), onPointerDownCapture: Ql( e.onPointerDownCapture, b.onPointerDownCapture ) } ); } ); HW.displayName = joe; var Doe = "DismissableLayerBranch", Foe = V.forwardRef((e, t) => { const r = V.useContext(VW), n = V.useRef(null), o = lf(t, n); return V.useEffect(() => { const a = n.current; if (a) return r.branches.add(a), () => { r.branches.delete(a); }; }, [r.branches]), /* @__PURE__ */ K(mi.div, { ...e, ref: o }); }); Foe.displayName = Doe; function Loe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = yg(e), n = V.useRef(!1), o = V.useRef(() => { }); return V.useEffect(() => { const a = (s) => { if (s.target && !n.current) { let u = function() { GW( Roe, r, c, { discrete: !0 } ); }; const c = { originalEvent: s }; s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = u, t.addEventListener("click", o.current, { once: !0 })) : u(); } else t.removeEventListener("click", o.current); n.current = !1; }, i = window.setTimeout(() => { t.addEventListener("pointerdown", a); }, 0); return () => { window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current); }; }, [t, r]), { // ensures we check React component tree (not just DOM tree) onPointerDownCapture: () => n.current = !0 }; } function zoe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = yg(e), n = V.useRef(!1); return V.useEffect(() => { const o = (a) => { a.target && !n.current && GW(Moe, r, { originalEvent: a }, { discrete: !1 }); }; return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o); }, [t, r]), { onFocusCapture: () => n.current = !0, onBlurCapture: () => n.current = !1 }; } function yN() { const e = new CustomEvent(Z_); document.dispatchEvent(e); } function GW(e, t, r, { discrete: n }) { const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r }); t && o.addEventListener(e, t, { once: !0 }), n ? Toe(o, a) : o.dispatchEvent(a); } var zw = "focusScope.autoFocusOnMount", Ww = "focusScope.autoFocusOnUnmount", vN = { bubbles: !1, cancelable: !0 }, Woe = "FocusScope", UW = V.forwardRef((e, t) => { const { loop: r = !1, trapped: n = !1, onMountAutoFocus: o, onUnmountAutoFocus: a, ...i } = e, [s, u] = V.useState(null), c = yg(o), d = yg(a), l = V.useRef(null), f = lf(t, (m) => u(m)), p = V.useRef({ paused: !1, pause() { this.paused = !0; }, resume() { this.paused = !1; } }).current; V.useEffect(() => { if (n) { let m = function(_) { if (p.paused || !s) return; const S = _.target; s.contains(S) ? l.current = S : Fl(l.current, { select: !0 }); }, h = function(_) { if (p.paused || !s) return; const S = _.relatedTarget; S !== null && (s.contains(S) || Fl(l.current, { select: !0 })); }, w = function(_) { if (document.activeElement === document.body) for (const S of _) S.removedNodes.length > 0 && Fl(s); }; document.addEventListener("focusin", m), document.addEventListener("focusout", h); const $ = new MutationObserver(w); return s && $.observe(s, { childList: !0, subtree: !0 }), () => { document.removeEventListener("focusin", m), document.removeEventListener("focusout", h), $.disconnect(); }; } }, [n, s, p.paused]), V.useEffect(() => { if (s) { wN.add(p); const m = document.activeElement; if (!s.contains(m)) { const h = new CustomEvent(zw, vN); s.addEventListener(zw, c), s.dispatchEvent(h), h.defaultPrevented || (Voe(Yoe(BW(s)), { select: !0 }), document.activeElement === m && Fl(s)); } return () => { s.removeEventListener(zw, c), setTimeout(() => { const h = new CustomEvent(Ww, vN); s.addEventListener(Ww, d), s.dispatchEvent(h), h.defaultPrevented || Fl(m ?? document.body, { select: !0 }), s.removeEventListener(Ww, d), wN.remove(p); }, 0); }; } }, [s, c, d, p]); const y = V.useCallback( (m) => { if (!r && !n || p.paused) return; const h = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, w = document.activeElement; if (h && w) { const $ = m.currentTarget, [_, S] = Hoe($); _ && S ? !m.shiftKey && w === S ? (m.preventDefault(), r && Fl(_, { select: !0 })) : m.shiftKey && w === _ && (m.preventDefault(), r && Fl(S, { select: !0 })) : w === $ && m.preventDefault(); } }, [r, n, p.paused] ); return /* @__PURE__ */ K(mi.div, { tabIndex: -1, ...i, ref: f, onKeyDown: y }); }); UW.displayName = Woe; function Voe(e, { select: t = !1 } = {}) { const r = document.activeElement; for (const n of e) if (Fl(n, { select: t }), document.activeElement !== r) return; } function Hoe(e) { const t = BW(e), r = xN(t, e), n = xN(t.reverse(), e); return [r, n]; } function BW(e) { const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (n) => { const o = n.tagName === "INPUT" && n.type === "hidden"; return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }); for (; r.nextNode(); ) t.push(r.currentNode); return t; } function xN(e, t) { for (const r of e) if (!Goe(r, { upTo: t })) return r; } function Goe(e, { upTo: t }) { if (getComputedStyle(e).visibility === "hidden") return !0; for (; e; ) { if (t !== void 0 && e === t) return !1; if (getComputedStyle(e).display === "none") return !0; e = e.parentElement; } return !1; } function Uoe(e) { return e instanceof HTMLInputElement && "select" in e; } function Fl(e, { select: t = !1 } = {}) { if (e && e.focus) { const r = document.activeElement; e.focus({ preventScroll: !0 }), e !== r && Uoe(e) && t && e.select(); } } var wN = Boe(); function Boe() { let e = []; return { add(t) { const r = e[0]; t !== r && (r == null || r.pause()), e = $N(e, t), e.unshift(t); }, remove(t) { var r; e = $N(e, t), (r = e[0]) == null || r.resume(); } }; } function $N(e, t) { const r = [...e], n = r.indexOf(t); return n !== -1 && r.splice(n, 1), r; } function Yoe(e) { return e.filter((t) => t.tagName !== "A"); } var qoe = "Portal", YW = V.forwardRef((e, t) => { var r; const { container: n, ...o } = e, [a, i] = V.useState(!1); bg(() => i(!0), []); const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body); return s ? LW.createPortal(/* @__PURE__ */ K(mi.div, { ...o, ref: t }), s) : null; }); YW.displayName = qoe; function Koe(e, t) { return V.useReducer((r, n) => t[r][n] ?? r, e); } var N0 = (e) => { const { present: t, children: r } = e, n = Xoe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = lf(n.ref, Joe(o)); return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null; }; N0.displayName = "Presence"; function Xoe(e) { const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, u] = Koe(i, { mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, unmounted: { MOUNT: "mounted" } }); return V.useEffect(() => { const c = cy(n.current); a.current = s === "mounted" ? c : "none"; }, [s]), bg(() => { const c = n.current, d = o.current; if (d !== e) { const l = a.current, f = cy(c); e ? u("MOUNT") : f === "none" || (c == null ? void 0 : c.display) === "none" ? u("UNMOUNT") : u(d && l !== f ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e; } }, [e, u]), bg(() => { if (t) { let c; const d = t.ownerDocument.defaultView ?? window, l = (p) => { const y = cy(n.current).includes(p.animationName); if (p.target === t && y && (u("ANIMATION_END"), !o.current)) { const m = t.style.animationFillMode; t.style.animationFillMode = "forwards", c = d.setTimeout(() => { t.style.animationFillMode === "forwards" && (t.style.animationFillMode = m); }); } }, f = (p) => { p.target === t && (a.current = cy(n.current)); }; return t.addEventListener("animationstart", f), t.addEventListener("animationcancel", l), t.addEventListener("animationend", l), () => { d.clearTimeout(c), t.removeEventListener("animationstart", f), t.removeEventListener("animationcancel", l), t.removeEventListener("animationend", l); }; } else u("ANIMATION_END"); }, [t, u]), { isPresent: ["mounted", "unmountSuspended"].includes(s), ref: V.useCallback((c) => { n.current = c ? getComputedStyle(c) : null, r(c); }, []) }; } function cy(e) { return (e == null ? void 0 : e.animationName) || "none"; } function Joe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var Vw = 0; function Qoe() { V.useEffect(() => { const e = document.querySelectorAll("[data-radix-focus-guard]"); return document.body.insertAdjacentElement("afterbegin", e[0] ?? kN()), document.body.insertAdjacentElement("beforeend", e[1] ?? kN()), Vw++, () => { Vw === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), Vw--; }; }, []); } function kN() { const e = document.createElement("span"); return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e; } var Ta = function() { return Ta = Object.assign || function(e) { for (var t, r = 1, n = arguments.length; r < n; r++) { t = arguments[r]; for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); } return e; }, Ta.apply(this, arguments); }; function qW(e, t) { var r = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++) t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]); return r; } function Zoe(e, t, r) { for (var n = 0, o = t.length, a; n < o; n++) (a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]); return e.concat(a || Array.prototype.slice.call(t)); } var Ov = "right-scroll-bar-position", Sv = "width-before-scroll-bar", eae = "with-scroll-bars-hidden", tae = "--removed-body-scroll-bar-size"; function Hw(e, t) { return typeof e == "function" ? e(t) : e && (e.current = t), e; } function rae(e, t) { var r = de(function() { return { // value value: e, // last callback callback: t, // "memoized" public interface facade: { get current() { return r.value; }, set current(n) { var o = r.value; o !== n && (r.value = n, r.callback(n, o)); } } }; })[0]; return r.callback = t, r.facade; } var nae = typeof window < "u" ? V.useLayoutEffect : V.useEffect, _N = /* @__PURE__ */ new WeakMap(); function oae(e, t) { var r = rae(null, function(n) { return e.forEach(function(o) { return Hw(o, n); }); }); return nae(function() { var n = _N.get(r); if (n) { var o = new Set(n), a = new Set(e), i = r.current; o.forEach(function(s) { a.has(s) || Hw(s, null); }), a.forEach(function(s) { o.has(s) || Hw(s, i); }); } _N.set(r, e); }, [e]), r; } function aae(e) { return e; } function iae(e, t) { t === void 0 && (t = aae); var r = [], n = !1, o = { read: function() { if (n) throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); return r.length ? r[r.length - 1] : e; }, useMedium: function(a) { var i = t(a, n); return r.push(i), function() { r = r.filter(function(s) { return s !== i; }); }; }, assignSyncMedium: function(a) { for (n = !0; r.length; ) { var i = r; r = [], i.forEach(a); } r = { push: function(s) { return a(s); }, filter: function() { return r; } }; }, assignMedium: function(a) { n = !0; var i = []; if (r.length) { var s = r; r = [], s.forEach(a), i = r; } var u = function() { var d = i; i = [], d.forEach(a); }, c = function() { return Promise.resolve().then(u); }; c(), r = { push: function(d) { i.push(d), c(); }, filter: function(d) { return i = i.filter(d), r; } }; } }; return o; } function sae(e) { e === void 0 && (e = {}); var t = iae(null); return t.options = Ta({ async: !0, ssr: !1 }, e), t; } var KW = function(e) { var t = e.sideCar, r = qW(e, ["sideCar"]); if (!t) throw new Error("Sidecar: please provide `sideCar` property to import the right car"); var n = t.read(); if (!n) throw new Error("Sidecar medium not found"); return V.createElement(n, Ta({}, r)); }; KW.isSideCarExport = !0; function lae(e, t) { return e.useMedium(t), KW; } var XW = sae(), Gw = function() { }, T0 = V.forwardRef(function(e, t) { var r = V.useRef(null), n = V.useState({ onScrollCapture: Gw, onWheelCapture: Gw, onTouchMoveCapture: Gw }), o = n[0], a = n[1], i = e.forwardProps, s = e.children, u = e.className, c = e.removeScrollBar, d = e.enabled, l = e.shards, f = e.sideCar, p = e.noRelative, y = e.noIsolation, m = e.inert, h = e.allowPinchZoom, w = e.as, $ = w === void 0 ? "div" : w, _ = e.gapMode, S = qW(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), b = f, F = oae([r, t]), z = Ta(Ta({}, S), o); return V.createElement( V.Fragment, null, d && V.createElement(b, { sideCar: XW, removeScrollBar: c, shards: l, noRelative: p, noIsolation: y, inert: m, setCallbacks: a, allowPinchZoom: !!h, lockRef: r, gapMode: _ }), i ? V.cloneElement(V.Children.only(s), Ta(Ta({}, z), { ref: F })) : V.createElement($, Ta({}, z, { className: u, ref: F }), s) ); }); T0.defaultProps = { enabled: !0, removeScrollBar: !0, inert: !1 }; T0.classNames = { fullWidth: Sv, zeroRight: Ov }; var cae = function() { if (typeof __webpack_nonce__ < "u") return __webpack_nonce__; }; function uae() { if (!document) return null; var e = document.createElement("style"); e.type = "text/css"; var t = cae(); return t && e.setAttribute("nonce", t), e; } function fae(e, t) { e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t)); } function dae(e) { var t = document.head || document.getElementsByTagName("head")[0]; t.appendChild(e); } var pae = function() { var e = 0, t = null; return { add: function(r) { e == 0 && (t = uae()) && (fae(t, r), dae(t)), e++; }, remove: function() { e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null); } }; }, mae = function() { var e = pae(); return function(t, r) { V.useEffect(function() { return e.add(t), function() { e.remove(); }; }, [t && r]); }; }, JW = function() { var e = mae(), t = function(r) { var n = r.styles, o = r.dynamic; return e(n, o), null; }; return t; }, hae = { left: 0, top: 0, right: 0, gap: 0 }, Uw = function(e) { return parseInt(e || "", 10) || 0; }, gae = function(e) { var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"]; return [Uw(r), Uw(n), Uw(o)]; }, bae = function(e) { if (e === void 0 && (e = "margin"), typeof window > "u") return hae; var t = gae(e), r = document.documentElement.clientWidth, n = window.innerWidth; return { left: t[0], top: t[1], right: t[2], gap: Math.max(0, n - r + t[2] - t[0]) }; }, yae = JW(), td = "data-scroll-locked", vae = function(e, t, r, n) { var o = e.left, a = e.top, i = e.right, s = e.gap; return r === void 0 && (r = "margin"), ` .`.concat(eae, ` { overflow: hidden `).concat(n, `; padding-right: `).concat(s, "px ").concat(n, `; } body[`).concat(td, `] { overflow: hidden `).concat(n, `; overscroll-behavior: contain; `).concat([ t && "position: relative ".concat(n, ";"), r === "margin" && ` padding-left: `.concat(o, `px; padding-top: `).concat(a, `px; padding-right: `).concat(i, `px; margin-left:0; margin-top:0; margin-right: `).concat(s, "px ").concat(n, `; `), r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";") ].filter(Boolean).join(""), ` } .`).concat(Ov, ` { right: `).concat(s, "px ").concat(n, `; } .`).concat(Sv, ` { margin-right: `).concat(s, "px ").concat(n, `; } .`).concat(Ov, " .").concat(Ov, ` { right: 0 `).concat(n, `; } .`).concat(Sv, " .").concat(Sv, ` { margin-right: 0 `).concat(n, `; } body[`).concat(td, `] { `).concat(tae, ": ").concat(s, `px; } `); }, ON = function() { var e = parseInt(document.body.getAttribute(td) || "0", 10); return isFinite(e) ? e : 0; }, xae = function() { V.useEffect(function() { return document.body.setAttribute(td, (ON() + 1).toString()), function() { var e = ON() - 1; e <= 0 ? document.body.removeAttribute(td) : document.body.setAttribute(td, e.toString()); }; }, []); }, wae = function(e) { var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n; xae(); var a = V.useMemo(function() { return bae(o); }, [o]); return V.createElement(yae, { styles: vae(a, !t, o, r ? "" : "!important") }); }, eO = !1; if (typeof window < "u") try { var uy = Object.defineProperty({}, "passive", { get: function() { return eO = !0, !0; } }); window.addEventListener("test", uy, uy), window.removeEventListener("test", uy, uy); } catch { eO = !1; } var ff = eO ? { passive: !1 } : !1, $ae = function(e) { return e.tagName === "TEXTAREA"; }, QW = function(e, t) { if (!(e instanceof Element)) return !1; var r = window.getComputedStyle(e); return ( // not-not-scrollable r[t] !== "hidden" && // contains scroll inside self !(r.overflowY === r.overflowX && !$ae(e) && r[t] === "visible") ); }, kae = function(e) { return QW(e, "overflowY"); }, _ae = function(e) { return QW(e, "overflowX"); }, SN = function(e, t) { var r = t.ownerDocument, n = t; do { typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host); var o = ZW(e, n); if (o) { var a = eV(e, n), i = a[1], s = a[2]; if (i > s) return !0; } n = n.parentNode; } while (n && n !== r.body); return !1; }, Oae = function(e) { var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight; return [ t, r, n ]; }, Sae = function(e) { var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth; return [ t, r, n ]; }, ZW = function(e, t) { return e === "v" ? kae(t) : _ae(t); }, eV = function(e, t) { return e === "v" ? Oae(t) : Sae(t); }, Eae = function(e, t) { return e === "h" && t === "rtl" ? -1 : 1; }, Aae = function(e, t, r, n, o) { var a = Eae(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, u = t.contains(s), c = !1, d = i > 0, l = 0, f = 0; do { if (!s) break; var p = eV(e, s), y = p[0], m = p[1], h = p[2], w = m - h - a * y; (y || w) && ZW(e, s) && (l += w, f += y); var $ = s.parentNode; s = $ && $.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? $.host : $; } while ( // portaled content !u && s !== document.body || // self content u && (t.contains(s) || t === s) ); return (d && Math.abs(l) < 1 || !d && Math.abs(f) < 1) && (c = !0), c; }, fy = function(e) { return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0]; }, EN = function(e) { return [e.deltaX, e.deltaY]; }, AN = function(e) { return e && "current" in e ? e.current : e; }, Pae = function(e, t) { return e[0] === t[0] && e[1] === t[1]; }, Cae = function(e) { return ` .block-interactivity-`.concat(e, ` {pointer-events: none;} .allow-interactivity-`).concat(e, ` {pointer-events: all;} `); }, Nae = 0, df = []; function Tae(e) { var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(Nae++)[0], a = V.useState(JW)[0], i = V.useRef(e); V.useEffect(function() { i.current = e; }, [e]), V.useEffect(function() { if (e.inert) { document.body.classList.add("block-interactivity-".concat(o)); var m = Zoe([e.lockRef.current], (e.shards || []).map(AN)).filter(Boolean); return m.forEach(function(h) { return h.classList.add("allow-interactivity-".concat(o)); }), function() { document.body.classList.remove("block-interactivity-".concat(o)), m.forEach(function(h) { return h.classList.remove("allow-interactivity-".concat(o)); }); }; } }, [e.inert, e.lockRef.current, e.shards]); var s = V.useCallback(function(m, h) { if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey) return !i.current.allowPinchZoom; var w = fy(m), $ = r.current, _ = "deltaX" in m ? m.deltaX : $[0] - w[0], S = "deltaY" in m ? m.deltaY : $[1] - w[1], b, F = m.target, z = Math.abs(_) > Math.abs(S) ? "h" : "v"; if ("touches" in m && z === "h" && F.type === "range") return !1; var q = SN(z, F); if (!q) return !0; if (q ? b = z : (b = z === "v" ? "h" : "v", q = SN(z, F)), !q) return !1; if (!n.current && "changedTouches" in m && (_ || S) && (n.current = b), !b) return !0; var Y = n.current || b; return Aae(Y, h, m, Y === "h" ? _ : S); }, []), u = V.useCallback(function(m) { var h = m; if (!(!df.length || df[df.length - 1] !== a)) { var w = "deltaY" in h ? EN(h) : fy(h), $ = t.current.filter(function(b) { return b.name === h.type && (b.target === h.target || h.target === b.shadowParent) && Pae(b.delta, w); })[0]; if ($ && $.should) { h.cancelable && h.preventDefault(); return; } if (!$) { var _ = (i.current.shards || []).map(AN).filter(Boolean).filter(function(b) { return b.contains(h.target); }), S = _.length > 0 ? s(h, _[0]) : !i.current.noIsolation; S && h.cancelable && h.preventDefault(); } } }, []), c = V.useCallback(function(m, h, w, $) { var _ = { name: m, delta: h, target: w, should: $, shadowParent: Iae(w) }; t.current.push(_), setTimeout(function() { t.current = t.current.filter(function(S) { return S !== _; }); }, 1); }, []), d = V.useCallback(function(m) { r.current = fy(m), n.current = void 0; }, []), l = V.useCallback(function(m) { c(m.type, EN(m), m.target, s(m, e.lockRef.current)); }, []), f = V.useCallback(function(m) { c(m.type, fy(m), m.target, s(m, e.lockRef.current)); }, []); V.useEffect(function() { return df.push(a), e.setCallbacks({ onScrollCapture: l, onWheelCapture: l, onTouchMoveCapture: f }), document.addEventListener("wheel", u, ff), document.addEventListener("touchmove", u, ff), document.addEventListener("touchstart", d, ff), function() { df = df.filter(function(m) { return m !== a; }), document.removeEventListener("wheel", u, ff), document.removeEventListener("touchmove", u, ff), document.removeEventListener("touchstart", d, ff); }; }, []); var p = e.removeScrollBar, y = e.inert; return V.createElement( V.Fragment, null, y ? V.createElement(a, { styles: Cae(o) }) : null, p ? V.createElement(wae, { noRelative: e.noRelative, gapMode: e.gapMode }) : null ); } function Iae(e) { for (var t = null; e !== null; ) e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode; return t; } const jae = lae(XW, Tae); var tV = V.forwardRef(function(e, t) { return V.createElement(T0, Ta({}, e, { ref: t, sideCar: jae })); }); tV.classNames = T0.classNames; var Rae = function(e) { if (typeof document > "u") return null; var t = Array.isArray(e) ? e[0] : e; return t.ownerDocument.body; }, pf = /* @__PURE__ */ new WeakMap(), dy = /* @__PURE__ */ new WeakMap(), py = {}, Bw = 0, rV = function(e) { return e && (e.host || rV(e.parentNode)); }, Mae = function(e, t) { return t.map(function(r) { if (e.contains(r)) return r; var n = rV(r); return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null); }).filter(function(r) { return !!r; }); }, Dae = function(e, t, r, n) { var o = Mae(t, Array.isArray(e) ? e : [e]); py[r] || (py[r] = /* @__PURE__ */ new WeakMap()); var a = py[r], i = [], s = /* @__PURE__ */ new Set(), u = new Set(o), c = function(l) { !l || s.has(l) || (s.add(l), c(l.parentNode)); }; o.forEach(c); var d = function(l) { !l || u.has(l) || Array.prototype.forEach.call(l.children, function(f) { if (s.has(f)) d(f); else try { var p = f.getAttribute(n), y = p !== null && p !== "false", m = (pf.get(f) || 0) + 1, h = (a.get(f) || 0) + 1; pf.set(f, m), a.set(f, h), i.push(f), m === 1 && y && dy.set(f, !0), h === 1 && f.setAttribute(r, "true"), y || f.setAttribute(n, "true"); } catch (w) { console.error("aria-hidden: cannot operate on ", f, w); } }); }; return d(t), s.clear(), Bw++, function() { i.forEach(function(l) { var f = pf.get(l) - 1, p = a.get(l) - 1; pf.set(l, f), a.set(l, p), f || (dy.has(l) || l.removeAttribute(n), dy.delete(l)), p || l.removeAttribute(r); }), Bw--, Bw || (pf = /* @__PURE__ */ new WeakMap(), pf = /* @__PURE__ */ new WeakMap(), dy = /* @__PURE__ */ new WeakMap(), py = {}); }; }, Fae = function(e, t, r) { r === void 0 && (r = "data-aria-hidden"); var n = Array.from(Array.isArray(e) ? e : [e]), o = Rae(e); return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), Dae(n, o, r, "aria-hidden")) : function() { return null; }; }, I0 = "Dialog", [nV, PJe] = yoe(I0), [Lae, fa] = nV(I0), oV = (e) => { const { __scopeDialog: t, children: r, open: n, defaultOpen: o, onOpenChange: a, modal: i = !0 } = e, s = V.useRef(null), u = V.useRef(null), [c, d] = koe({ prop: n, defaultProp: o ?? !1, onChange: a, caller: I0 }); return /* @__PURE__ */ K( Lae, { scope: t, triggerRef: s, contentRef: u, contentId: Lw(), titleId: Lw(), descriptionId: Lw(), open: c, onOpenChange: d, onOpenToggle: V.useCallback(() => d((l) => !l), [d]), modal: i, children: r } ); }; oV.displayName = I0; var aV = "DialogTrigger", zae = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = fa(aV, r), a = lf(t, o.triggerRef); return /* @__PURE__ */ K( mi.button, { type: "button", "aria-haspopup": "dialog", "aria-expanded": o.open, "aria-controls": o.contentId, "data-state": z4(o.open), ...n, ref: a, onClick: Ql(e.onClick, o.onOpenToggle) } ); } ); zae.displayName = aV; var F4 = "DialogPortal", [Wae, iV] = nV(F4, { forceMount: void 0 }), sV = (e) => { const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = fa(F4, t); return /* @__PURE__ */ K(Wae, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ K(N0, { present: r || a.open, children: /* @__PURE__ */ K(YW, { asChild: !0, container: o, children: i }) })) }); }; sV.displayName = F4; var h1 = "DialogOverlay", lV = V.forwardRef( (e, t) => { const r = iV(h1, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = fa(h1, e.__scopeDialog); return a.modal ? /* @__PURE__ */ K(N0, { present: n || a.open, children: /* @__PURE__ */ K(Hae, { ...o, ref: t }) }) : null; } ); lV.displayName = h1; var Vae = /* @__PURE__ */ WW("DialogOverlay.RemoveScroll"), Hae = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = fa(h1, r); return ( // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll` // ie. when `Overlay` and `Content` are siblings /* @__PURE__ */ K(tV, { as: Vae, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ K( mi.div, { "data-state": z4(o.open), ...n, ref: t, style: { pointerEvents: "auto", ...n.style } } ) }) ); } ), _u = "DialogContent", cV = V.forwardRef( (e, t) => { const r = iV(_u, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = fa(_u, e.__scopeDialog); return /* @__PURE__ */ K(N0, { present: n || a.open, children: a.modal ? /* @__PURE__ */ K(Gae, { ...o, ref: t }) : /* @__PURE__ */ K(Uae, { ...o, ref: t }) }); } ); cV.displayName = _u; var Gae = V.forwardRef( (e, t) => { const r = fa(_u, e.__scopeDialog), n = V.useRef(null), o = lf(t, r.contentRef, n); return V.useEffect(() => { const a = n.current; if (a) return Fae(a); }, []), /* @__PURE__ */ K( uV, { ...e, ref: o, trapFocus: r.open, disableOutsidePointerEvents: !0, onCloseAutoFocus: Ql(e.onCloseAutoFocus, (a) => { var i; a.preventDefault(), (i = r.triggerRef.current) == null || i.focus(); }), onPointerDownOutside: Ql(e.onPointerDownOutside, (a) => { const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0; (i.button === 2 || s) && a.preventDefault(); }), onFocusOutside: Ql( e.onFocusOutside, (a) => a.preventDefault() ) } ); } ), Uae = V.forwardRef( (e, t) => { const r = fa(_u, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1); return /* @__PURE__ */ K( uV, { ...e, ref: t, trapFocus: !1, disableOutsidePointerEvents: !1, onCloseAutoFocus: (a) => { var i, s; (i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1; }, onInteractOutside: (a) => { var i, s; (i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0)); const u = a.target; (s = r.triggerRef.current) != null && s.contains(u) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault(); } } ); } ), uV = V.forwardRef( (e, t) => { const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = fa(_u, r), u = V.useRef(null), c = lf(t, u); return Qoe(), /* @__PURE__ */ Te(rn, { children: [ /* @__PURE__ */ K( UW, { asChild: !0, loop: !0, trapped: n, onMountAutoFocus: o, onUnmountAutoFocus: a, children: /* @__PURE__ */ K( HW, { role: "dialog", id: s.contentId, "aria-describedby": s.descriptionId, "aria-labelledby": s.titleId, "data-state": z4(s.open), ...i, ref: c, onDismiss: () => s.onOpenChange(!1) } ) } ), /* @__PURE__ */ Te(rn, { children: [ /* @__PURE__ */ K(Yae, { titleId: s.titleId }), /* @__PURE__ */ K(Kae, { contentRef: u, descriptionId: s.descriptionId }) ] }) ] }); } ), L4 = "DialogTitle", fV = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = fa(L4, r); return /* @__PURE__ */ K(mi.h2, { id: o.titleId, ...n, ref: t }); } ); fV.displayName = L4; var dV = "DialogDescription", pV = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = fa(dV, r); return /* @__PURE__ */ K(mi.p, { id: o.descriptionId, ...n, ref: t }); } ); pV.displayName = dV; var mV = "DialogClose", Bae = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = fa(mV, r); return /* @__PURE__ */ K( mi.button, { type: "button", ...n, ref: t, onClick: Ql(e.onClick, () => o.onOpenChange(!1)) } ); } ); Bae.displayName = mV; function z4(e) { return e ? "open" : "closed"; } var hV = "DialogTitleWarning", [CJe, gV] = boe(hV, { contentName: _u, titleName: L4, docsSlug: "dialog" }), Yae = ({ titleId: e }) => { const t = gV(hV), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`; return V.useEffect(() => { e && (document.getElementById(e) || console.error(r)); }, [r, e]), null; }, qae = "DialogDescriptionWarning", Kae = ({ contentRef: e, descriptionId: t }) => { const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gV(qae).contentName}}.`; return V.useEffect(() => { var n; const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby"); t && o && (document.getElementById(t) || console.warn(r)); }, [r, e, t]), null; }, Xae = oV, Jae = sV, Qae = lV, Zae = cV, PN = fV, eie = pV; const W4 = "-", tie = (e) => { const t = nie(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(W4); return a[0] === "" && a.length !== 1 && a.shift(), bV(a, t) || rie(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, bV = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? bV(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(W4); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, CN = /^\[(.+)\]$/, rie = (e) => { if (CN.test(e)) { const t = CN.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, nie = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return aie(Object.entries(e.classGroups), r).forEach(([o, a]) => { tO(a, n, o, t); }), n; }, tO = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : NN(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (oie(o)) { tO(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { tO(i, NN(t, a), r, n); }); }); }, NN = (e, t) => { let r = e; return t.split(W4).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, oie = (e) => e.isThemeGetter, aie = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, iie = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, yV = "!", sie = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const u = []; let c = 0, d = 0, l; for (let h = 0; h < s.length; h++) { let w = s[h]; if (c === 0) { if (w === o && (n || s.slice(h, h + a) === t)) { u.push(s.slice(d, h)), d = h + a; continue; } if (w === "/") { l = h; continue; } } w === "[" ? c++ : w === "]" && c--; } const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(yV), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0; return { modifiers: u, hasImportantModifier: p, baseClassName: y, maybePostfixModifierPosition: m }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, lie = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, cie = (e) => ({ cache: iie(e.cacheSize), parseClassName: sie(e), ...tie(e) }), uie = /\s+/, fie = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(uie); let s = ""; for (let u = i.length - 1; u >= 0; u -= 1) { const c = i[u], { modifiers: d, hasImportantModifier: l, baseClassName: f, maybePostfixModifierPosition: p } = r(c); let y = !!p, m = n(y ? f.substring(0, p) : f); if (!m) { if (!y) { s = c + (s.length > 0 ? " " + s : s); continue; } if (m = n(f), !m) { s = c + (s.length > 0 ? " " + s : s); continue; } y = !1; } const h = lie(d).join(":"), w = l ? h + yV : h, $ = w + m; if (a.includes($)) continue; a.push($); const _ = o(m, y); for (let S = 0; S < _.length; ++S) { const b = _[S]; a.push(w + b); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function die() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = vV(t)) && (n && (n += " "), n += r); return n; } const vV = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = vV(e[n])) && (r && (r += " "), r += t); return r; }; function pie(e, ...t) { let r, n, o, a = i; function i(u) { const c = t.reduce((d, l) => l(d), e()); return r = cie(c), n = r.cache.get, o = r.cache.set, a = s, s(u); } function s(u) { const c = n(u); if (c) return c; const d = fie(u, r); return o(u, d), d; } return function() { return a(die.apply(null, arguments)); }; } const _r = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, xV = /^\[(?:([a-z-]+):)?(.+)\]$/i, mie = /^\d+\/\d+$/, hie = /* @__PURE__ */ new Set(["px", "full", "screen"]), gie = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, bie = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, yie = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, vie = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, xie = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, yi = (e) => rd(e) || hie.has(e) || mie.test(e), Js = (e) => Zd(e, "length", Aie), rd = (e) => !!e && !Number.isNaN(Number(e)), Yw = (e) => Zd(e, "number", rd), ym = (e) => !!e && Number.isInteger(Number(e)), wie = (e) => e.endsWith("%") && rd(e.slice(0, -1)), ct = (e) => xV.test(e), Qs = (e) => gie.test(e), $ie = /* @__PURE__ */ new Set(["length", "size", "percentage"]), kie = (e) => Zd(e, $ie, wV), _ie = (e) => Zd(e, "position", wV), Oie = /* @__PURE__ */ new Set(["image", "url"]), Sie = (e) => Zd(e, Oie, Cie), Eie = (e) => Zd(e, "", Pie), vm = () => !0, Zd = (e, t, r) => { const n = xV.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Aie = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. bie.test(e) && !yie.test(e) ), wV = () => !1, Pie = (e) => vie.test(e), Cie = (e) => xie.test(e), Nie = () => { const e = _r("colors"), t = _r("spacing"), r = _r("blur"), n = _r("brightness"), o = _r("borderColor"), a = _r("borderRadius"), i = _r("borderSpacing"), s = _r("borderWidth"), u = _r("contrast"), c = _r("grayscale"), d = _r("hueRotate"), l = _r("invert"), f = _r("gap"), p = _r("gradientColorStops"), y = _r("gradientColorStopPositions"), m = _r("inset"), h = _r("margin"), w = _r("opacity"), $ = _r("padding"), _ = _r("saturate"), S = _r("scale"), b = _r("sepia"), F = _r("skew"), z = _r("space"), q = _r("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ct, t], M = () => [ct, t], te = () => ["", yi, Js], G = () => ["auto", rd, ct], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ct], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [rd, ct]; return { cacheSize: 500, separator: ":", theme: { colors: [vm], spacing: [yi, Js], blur: ["none", "", Qs, ct], brightness: g(), borderColor: [e], borderRadius: ["none", "", "full", Qs, ct], borderSpacing: M(), borderWidth: te(), contrast: g(), grayscale: ee(), hueRotate: g(), invert: ee(), gap: M(), gradientColorStops: [e], gradientColorStopPositions: [wie, Js], inset: Z(), margin: Z(), opacity: g(), padding: M(), saturate: g(), scale: g(), sepia: ee(), skew: g(), space: M(), translate: M() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", ct] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Qs] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": v() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": v() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...H(), ct] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: B() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": B() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": B() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: Y() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": Y() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": Y() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [m] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [m] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [m] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [m] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [m] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [m] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [m] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [m] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [m] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", ym, ct] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: Z() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", ct] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ee() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ee() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", ym, ct] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [vm] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", ym, ct] }, ct] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": G() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": G() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [vm] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [ym, ct] }, ct] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": G() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": G() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", ct] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", ct] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [f] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [f] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [f] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...X()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...X(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...X(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [$] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [$] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [$] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [$] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [$] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [$] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [$] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [$] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [$] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [h] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [h] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [h] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [h] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [h] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [h] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [h] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [h] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [h] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [z] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [z] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ct, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [ct, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [ct, t, "none", "full", "min", "max", "fit", "prose", { screen: [Qs] }, Qs] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [ct, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [ct, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [ct, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [ct, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Qs, Js] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Yw] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [vm] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ct] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", rd, Yw] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", yi, ct] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", ct] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", ct] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [w] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [w] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...U(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", yi, Js] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", yi, ct] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: M() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ct] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", ct] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [w] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...H(), _ie] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", kie] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Sie] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [y] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [y] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [y] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [w] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...U(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [w] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: U() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...U()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [yi, ct] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [yi, Js] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [w] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [yi, Js] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Qs, Eie] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [vm] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [w] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...W(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": W() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [u] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Qs, ct] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [d] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [l] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [_] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [b] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [u] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [d] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [l] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [w] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [_] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [b] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ct] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: g() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", ct] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: g() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", ct] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [S] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [S] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [S] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [ym, ct] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [q] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [q] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [F] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [F] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ct] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ct] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": M() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": M() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": M() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": M() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": M() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": M() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": M() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": M() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": M() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": M() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": M() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": M() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": M() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": M() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": M() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": M() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": M() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": M() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", ct] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [yi, Js, Yw] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, Sh = /* @__PURE__ */ pie(Nie); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function Tie(e, t, r) { return (t = jie(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function TN(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function he(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? TN(Object(r), !0).forEach(function(n) { Tie(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : TN(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function Iie(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function jie(e) { var t = Iie(e, "string"); return typeof t == "symbol" ? t : t + ""; } const IN = () => { }; let V4 = {}, $V = {}, kV = null, _V = { mark: IN, measure: IN }; try { typeof window < "u" && (V4 = window), typeof document < "u" && ($V = document), typeof MutationObserver < "u" && (kV = MutationObserver), typeof performance < "u" && (_V = performance); } catch { } const { userAgent: jN = "" } = V4.navigator || {}, oc = V4, Mr = $V, RN = kV, my = _V; oc.document; const ps = !!Mr.documentElement && !!Mr.head && typeof Mr.addEventListener == "function" && typeof Mr.createElement == "function", OV = ~jN.indexOf("MSIE") || ~jN.indexOf("Trident/"); var Rie = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Mie = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, SV = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, Die = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, EV = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], vn = "classic", j0 = "duotone", Fie = "sharp", Lie = "sharp-duotone", AV = [vn, j0, Fie, Lie], zie = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, Wie = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, Vie = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), Hie = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, Gie = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], MN = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, Uie = ["kit"], Bie = { kit: { "fa-kit": "fak" } }, Yie = ["fak", "fakd"], qie = { kit: { fak: "fa-kit" } }, DN = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, hy = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, Kie = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Xie = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Jie = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, Qie = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, Zie = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, rO = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, ese = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], nO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Kie, ...ese], tse = ["solid", "regular", "light", "thin", "duotone", "brands"], PV = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], rse = PV.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), nse = [...Object.keys(Zie), ...tse, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", hy.GROUP, hy.SWAP_OPACITY, hy.PRIMARY, hy.SECONDARY].concat(PV.map((e) => "".concat(e, "x"))).concat(rse.map((e) => "w-".concat(e))), ose = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const zi = "___FONT_AWESOME___", oO = 16, CV = "fa", NV = "svg-inline--fa", Ou = "data-fa-i2svg", aO = "data-fa-pseudo-element", ase = "data-fa-pseudo-element-pending", H4 = "data-prefix", G4 = "data-icon", FN = "fontawesome-i2svg", ise = "async", sse = ["HTML", "HEAD", "STYLE", "SCRIPT"], TV = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function xb(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[vn]; } }); } const IV = he({}, SV); IV[vn] = he(he(he(he({}, { "fa-duotone": "duotone" }), SV[vn]), MN.kit), MN["kit-duotone"]); const lse = xb(IV), iO = he({}, Hie); iO[vn] = he(he(he(he({}, { duotone: "fad" }), iO[vn]), DN.kit), DN["kit-duotone"]); const LN = xb(iO), sO = he({}, rO); sO[vn] = he(he({}, sO[vn]), qie.kit); const U4 = xb(sO), lO = he({}, Qie); lO[vn] = he(he({}, lO[vn]), Bie.kit); xb(lO); const cse = Rie, jV = "fa-layers-text", use = Mie, fse = he({}, zie); xb(fse); const dse = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], qw = Die, pse = [...Uie, ...nse], Eh = oc.FontAwesomeConfig || {}; function mse(e) { var t = Mr.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function hse(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Mr && typeof Mr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = hse(mse(t)); n != null && (Eh[r] = n); }); const RV = { styleDefault: "solid", familyDefault: vn, cssPrefix: CV, replacementClass: NV, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Eh.familyPrefix && (Eh.cssPrefix = Eh.familyPrefix); const Rd = he(he({}, RV), Eh); Rd.autoReplaceSvg || (Rd.observeMutations = !1); const ze = {}; Object.keys(RV).forEach((e) => { Object.defineProperty(ze, e, { enumerable: !0, set: function(t) { Rd[e] = t, Ah.forEach((r) => r(ze)); }, get: function() { return Rd[e]; } }); }); Object.defineProperty(ze, "familyPrefix", { enumerable: !0, set: function(e) { Rd.cssPrefix = e, Ah.forEach((t) => t(ze)); }, get: function() { return Rd.cssPrefix; } }); oc.FontAwesomeConfig = ze; const Ah = []; function gse(e) { return Ah.push(e), () => { Ah.splice(Ah.indexOf(e), 1); }; } const Zs = oO, ja = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function bse(e) { if (!e || !ps) return; const t = Mr.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Mr.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Mr.head.insertBefore(t, n), e; } const yse = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function vg() { let e = 12, t = ""; for (; e-- > 0; ) t += yse[Math.random() * 62 | 0]; return t; } function ep(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function B4(e) { return e.classList ? ep(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function MV(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function vse(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(MV(e[r]), '" '), "").trim(); } function R0(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function Y4(e) { return e.size !== ja.size || e.x !== ja.x || e.y !== ja.y || e.rotate !== ja.rotate || e.flipX || e.flipY; } function xse(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: u, path: c }; } function wse(e) { let { transform: t, width: r = oO, height: n = oO, startCentered: o = !1 } = e, a = ""; return o && OV ? a += "translate(".concat(t.x / Zs - r / 2, "em, ").concat(t.y / Zs - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Zs, "em), calc(-50% + ").concat(t.y / Zs, "em)) ") : a += "translate(".concat(t.x / Zs, "em, ").concat(t.y / Zs, "em) "), a += "scale(".concat(t.size / Zs * (t.flipX ? -1 : 1), ", ").concat(t.size / Zs * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var $se = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function DV() { const e = CV, t = NV, r = ze.cssPrefix, n = ze.replacementClass; let o = $se; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let zN = !1; function Kw() { ze.autoAddCss && !zN && (bse(DV()), zN = !0); } var kse = { mixout() { return { dom: { css: DV, insertCss: Kw } }; }, hooks() { return { beforeDOMElementCreation() { Kw(); }, beforeI2svg() { Kw(); } }; } }; const Wi = oc || {}; Wi[zi] || (Wi[zi] = {}); Wi[zi].styles || (Wi[zi].styles = {}); Wi[zi].hooks || (Wi[zi].hooks = {}); Wi[zi].shims || (Wi[zi].shims = []); var Ra = Wi[zi]; const FV = [], LV = function() { Mr.removeEventListener("DOMContentLoaded", LV), g1 = 1, FV.map((e) => e()); }; let g1 = !1; ps && (g1 = (Mr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Mr.readyState), g1 || Mr.addEventListener("DOMContentLoaded", LV)); function _se(e) { ps && (g1 ? setTimeout(e, 0) : FV.push(e)); } function wb(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? MV(e) : "<".concat(t, " ").concat(vse(r), ">").concat(n.map(wb).join(""), ""); } function WN(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var Xw = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, u, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) u = o[s], c = i(c, e[u], u, e); return c; }; function Ose(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function zV(e) { const t = Ose(e); return t.length === 1 ? t[0].toString(16) : null; } function Sse(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function VN(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function cO(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = VN(t); typeof Ra.hooks.addPack == "function" && !n ? Ra.hooks.addPack(e, VN(t)) : Ra.styles[e] = he(he({}, Ra.styles[e] || {}), o), e === "fas" && cO("fa", t); } const { styles: xg, shims: Ese } = Ra, WV = Object.keys(U4), Ase = WV.reduce((e, t) => (e[t] = Object.keys(U4[t]), e), {}); let q4 = null, VV = {}, HV = {}, GV = {}, UV = {}, BV = {}; function Pse(e) { return ~pse.indexOf(e); } function Cse(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Pse(o) ? o : null; } const YV = () => { const e = (n) => Xw(xg, (o, a, i) => (o[i] = Xw(a, n, {}), o), {}); VV = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), HV = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), BV = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in xg || ze.autoFetchSvg, r = Xw(Ese, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); GV = r.names, UV = r.unicodes, q4 = M0(ze.styleDefault, { family: ze.familyDefault }); }; gse((e) => { q4 = M0(e.styleDefault, { family: ze.familyDefault }); }); YV(); function K4(e, t) { return (VV[e] || {})[t]; } function Nse(e, t) { return (HV[e] || {})[t]; } function ru(e, t) { return (BV[e] || {})[t]; } function qV(e) { return GV[e] || { prefix: null, iconName: null }; } function Tse(e) { const t = UV[e], r = K4("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function ac() { return q4; } const KV = () => ({ prefix: null, iconName: null, rest: [] }); function Ise(e) { let t = vn; const r = WV.reduce((n, o) => (n[o] = "".concat(ze.cssPrefix, "-").concat(o), n), {}); return AV.forEach((n) => { (e.includes(r[n]) || e.some((o) => Ase[n].includes(o))) && (t = n); }), t; } function M0(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = vn } = t, n = lse[r][e]; if (r === j0 && !e) return "fad"; const o = LN[r][e] || LN[r][n], a = e in Ra.styles ? e : null; return o || a || null; } function jse(e) { let t = [], r = null; return e.forEach((n) => { const o = Cse(ze.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function HN(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function D0(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = nO.concat(Xie), a = HN(e.filter((l) => o.includes(l))), i = HN(e.filter((l) => !nO.includes(l))), s = a.filter((l) => (n = l, !EV.includes(l))), [u = null] = s, c = Ise(a), d = he(he({}, jse(i)), {}, { prefix: M0(u, { family: c }) }); return he(he(he({}, d), Fse({ values: e, family: c, styles: xg, config: ze, canonical: d, givenPrefix: n })), Rse(r, n, d)); } function Rse(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? qV(o) : {}, i = ru(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !xg.far && xg.fas && !ze.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const Mse = AV.filter((e) => e !== vn || e !== j0), Dse = Object.keys(rO).filter((e) => e !== vn).map((e) => Object.keys(rO[e])).flat(); function Fse(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === j0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Mse.includes(r) && (Object.keys(a).find((l) => Dse.includes(l)) || i.autoFetchSvg)) { const l = Vie.get(r).defaultShortPrefixId; n.prefix = l, n.iconName = ru(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = ac() || "fas"), n; } let Lse = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = he(he({}, this.definitions[a] || {}), o[a]), cO(a, o[a]); const i = U4[vn][a]; i && cO(i, o[a]), YV(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], u = s[2]; t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, GN = [], Sf = {}; const nd = {}, zse = Object.keys(nd); function Wse(e, t) { let { mixoutsTo: r } = t; return GN = e, Sf = {}, Object.keys(nd).forEach((n) => { zse.indexOf(n) === -1 && delete nd[n]; }), GN.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Sf[i] || (Sf[i] = []), Sf[i].push(a[i]); }); } n.provides && n.provides(nd); }), r; } function uO(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Sf[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Su(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Sf[e] || []).forEach((o) => { o.apply(null, r); }); } function ic() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return nd[e] ? nd[e].apply(null, t) : void 0; } function fO(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || ac(); if (t) return t = ru(r, t) || t, WN(XV.definitions, r, t) || WN(Ra.styles, r, t); } const XV = new Lse(), Vse = () => { ze.autoReplaceSvg = !1, ze.observeMutations = !1, Su("noAuto"); }, Hse = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return ps ? (Su("beforeI2svg", e), ic("pseudoElements2svg", e), ic("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; ze.autoReplaceSvg === !1 && (ze.autoReplaceSvg = !0), ze.observeMutations = !0, _se(() => { Use({ autoReplaceSvgRoot: t }), Su("watch", e); }); } }, Gse = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: ru(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = M0(e[0]); return { prefix: r, iconName: ru(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(ze.cssPrefix, "-")) > -1 || e.match(cse))) { const t = D0(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || ac(), iconName: ru(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = ac(); return { prefix: t, iconName: ru(t, e) || e }; } } }, oo = { noAuto: Vse, config: ze, dom: Hse, parse: Gse, library: XV, findIconDefinition: fO, toHtml: wb }, Use = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Mr } = e; (Object.keys(Ra.styles).length > 0 || ze.autoFetchSvg) && ps && ze.autoReplaceSvg && oo.dom.i2svg({ node: t }); }; function F0(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => wb(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!ps) return; const r = Mr.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function Bse(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (Y4(i) && r.found && !n.found) { const { width: s, height: u } = r, c = { x: s / u / 2, y: 0.5 }; o.style = R0(he(he({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function Yse(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(ze.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: he(he({}, o), {}, { id: i }), children: n }] }]; } function X4(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: u, titleId: c, extra: d, watchable: l = !1 } = e, { width: f, height: p } = r.found ? r : t, y = Yie.includes(n), m = [ze.replacementClass, o ? "".concat(ze.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" "); let h = { children: [], attributes: he(he({}, d.attributes), {}, { "data-prefix": n, "data-icon": o, class: m, role: d.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(f, " ").concat(p) }) }; const w = y && !~d.classes.indexOf("fa-fw") ? { width: "".concat(f / p * 16 * 0.0625, "em") } : {}; l && (h.attributes[Ou] = ""), s && (h.children.push({ tag: "title", attributes: { id: h.attributes["aria-labelledby"] || "title-".concat(c || vg()) }, children: [s] }), delete h.attributes.title); const $ = he(he({}, h), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: u, transform: a, symbol: i, styles: he(he({}, w), d.styles) }), { children: _, attributes: S } = r.found && t.found ? ic("generateAbstractMask", $) || { children: [], attributes: {} } : ic("generateAbstractIcon", $) || { children: [], attributes: {} }; return $.children = _, $.attributes = S, i ? Yse($) : Bse($); } function UN(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, u = he(he(he({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (u[Ou] = ""); const c = he({}, i.styles); Y4(o) && (c.transform = wse({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const d = R0(c); d.length > 0 && (u.style = d); const l = []; return l.push({ tag: "span", attributes: u, children: [t] }), a && l.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), l; } function qse(e) { const { content: t, title: r, extra: n } = e, o = he(he(he({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = R0(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: Jw } = Ra; function dO(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(ze.cssPrefix, "-").concat(qw.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(ze.cssPrefix, "-").concat(qw.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(ze.cssPrefix, "-").concat(qw.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const Kse = { found: !1, width: 512, height: 512 }; function Xse(e, t) { !TV && !ze.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function pO(e, t) { let r = t; return t === "fa" && ze.styleDefault !== null && (t = ac()), new Promise((n, o) => { if (r === "fa") { const a = qV(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && Jw[t] && Jw[t][e]) { const a = Jw[t][e]; return n(dO(a)); } Xse(e, t), n(he(he({}, Kse), {}, { icon: ze.showMissingIcons && e ? ic("missingIconAbstract") || {} : {} })); }); } const BN = () => { }, mO = ze.measurePerformance && my && my.mark && my.measure ? my : { mark: BN, measure: BN }, nh = 'FA "6.7.2"', Jse = (e) => (mO.mark("".concat(nh, " ").concat(e, " begins")), () => JV(e)), JV = (e) => { mO.mark("".concat(nh, " ").concat(e, " ends")), mO.measure("".concat(nh, " ").concat(e), "".concat(nh, " ").concat(e, " begins"), "".concat(nh, " ").concat(e, " ends")); }; var J4 = { begin: Jse, end: JV }; const Ev = () => { }; function YN(e) { return typeof (e.getAttribute ? e.getAttribute(Ou) : null) == "string"; } function Qse(e) { const t = e.getAttribute ? e.getAttribute(H4) : null, r = e.getAttribute ? e.getAttribute(G4) : null; return t && r; } function Zse(e) { return e && e.classList && e.classList.contains && e.classList.contains(ze.replacementClass); } function ele() { return ze.autoReplaceSvg === !0 ? Av.replace : Av[ze.autoReplaceSvg] || Av.replace; } function tle(e) { return Mr.createElementNS("http://www.w3.org/2000/svg", e); } function rle(e) { return Mr.createElement(e); } function QV(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? tle : rle } = t; if (typeof e == "string") return Mr.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(QV(o, { ceFn: r })); }), n; } function nle(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const Av = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(QV(r), t); }), t.getAttribute(Ou) === null && ze.keepOriginalSource) { let r = Mr.createComment(nle(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~B4(t).indexOf(ze.replacementClass)) return Av.replace(e); const n = new RegExp("".concat(ze.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ze.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => wb(a)).join(` `); t.setAttribute(Ou, ""), t.innerHTML = o; } }; function qN(e) { e(); } function ZV(e, t) { const r = typeof t == "function" ? t : Ev; if (e.length === 0) r(); else { let n = qN; ze.mutateApproach === ise && (n = oc.requestAnimationFrame || qN), n(() => { const o = ele(), a = J4.begin("mutate"); e.map(o), a(), r(); }); } } let Q4 = !1; function eH() { Q4 = !0; } function hO() { Q4 = !1; } let b1 = null; function KN(e) { if (!RN || !ze.observeMutations) return; const { treeCallback: t = Ev, nodeCallback: r = Ev, pseudoElementsCallback: n = Ev, observeMutationsRoot: o = Mr } = e; b1 = new RN((a) => { if (Q4) return; const i = ac(); ep(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !YN(s.addedNodes[0]) && (ze.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ze.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && YN(s.target) && ~dse.indexOf(s.attributeName)) if (s.attributeName === "class" && Qse(s.target)) { const { prefix: u, iconName: c } = D0(B4(s.target)); s.target.setAttribute(H4, u || i), c && s.target.setAttribute(G4, c); } else Zse(s.target) && r(s.target); }); }), ps && b1.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function ole() { b1 && b1.disconnect(); } function ale(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function ile(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = D0(B4(e)); return o.prefix || (o.prefix = ac()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Nse(o.prefix, e.innerText) || K4(o.prefix, zV(e.innerText))), !o.iconName && ze.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function sle(e) { const t = ep(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return ze.autoA11y && (r ? t["aria-labelledby"] = "".concat(ze.replacementClass, "-title-").concat(n || vg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function lle() { return { iconName: null, title: null, titleId: null, prefix: null, transform: ja, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function XN(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = ile(e), a = sle(e), i = uO("parseNodeAttributes", {}, e); let s = t.styleParser ? ale(e) : []; return he({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: ja, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: cle } = Ra; function tH(e) { const t = ze.autoReplaceSvg === "nest" ? XN(e, { styleParser: !1 }) : XN(e); return ~t.extra.classes.indexOf(jV) ? ic("generateLayersText", e, t) : ic("generateSvgReplacementMutation", e, t); } function ule() { return [...Gie, ...nO]; } function JN(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!ps) return Promise.resolve(); const r = Mr.documentElement.classList, n = (d) => r.add("".concat(FN, "-").concat(d)), o = (d) => r.remove("".concat(FN, "-").concat(d)), a = ze.autoFetchSvg ? ule() : EV.concat(Object.keys(cle)); a.includes("fa") || a.push("fa"); const i = [".".concat(jV, ":not([").concat(Ou, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Ou, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = ep(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const u = J4.begin("onTree"), c = s.reduce((d, l) => { try { const f = tH(l); f && d.push(f); } catch (f) { TV || f.name === "MissingIcon" && console.error(f); } return d; }, []); return new Promise((d, l) => { Promise.all(c).then((f) => { ZV(f, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d(); }); }).catch((f) => { u(), l(f); }); }); } function fle(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; tH(e).then((r) => { r && ZV([r], t); }); } function dle(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : fO(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : fO(o || {})), e(n, he(he({}, r), {}, { mask: o })); }; } const ple = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ja, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: u = [], attributes: c = {}, styles: d = {} } = t; if (!e) return; const { prefix: l, iconName: f, icon: p } = e; return F0(he({ type: "icon" }, e), () => (Su("beforeDOMElementCreation", { iconDefinition: e, params: t }), ze.autoA11y && (i ? c["aria-labelledby"] = "".concat(ze.replacementClass, "-title-").concat(s || vg()) : (c["aria-hidden"] = "true", c.focusable = "false")), X4({ icons: { main: dO(p), mask: o ? dO(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: l, iconName: f, transform: he(he({}, ja), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: d, classes: u } }))); }; var mle = { mixout() { return { icon: dle(ple) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = JN, e.nodeCallback = fle, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Mr, callback: n = () => { } } = t; return JN(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: u, mask: c, maskId: d, extra: l } = r; return new Promise((f, p) => { Promise.all([pO(n, i), c.iconName ? pO(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((y) => { let [m, h] = y; f([t, X4({ icons: { main: m, mask: h }, prefix: i, iconName: n, transform: s, symbol: u, maskId: d, title: o, titleId: a, extra: l, watchable: !0 })]); }).catch(p); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = R0(i); s.length > 0 && (n.style = s); let u; return Y4(a) && (u = ic("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(u || o.icon), { children: r, attributes: n }; }; } }, hle = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return F0({ type: "layer" }, () => { Su("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(ze.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, gle = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return F0({ type: "counter", content: e }, () => (Su("beforeDOMElementCreation", { content: e, params: t }), qse({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(ze.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, ble = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ja, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return F0({ type: "text", content: e }, () => (Su("beforeDOMElementCreation", { content: e, params: t }), UN({ content: e, transform: he(he({}, ja), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(ze.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (OV) { const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / u, s = c.height / u; } return ze.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, UN({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const yle = new RegExp('"', "ug"), QN = [1105920, 1112319], ZN = he(he(he(he({}, { FontAwesome: { normal: "fas", 400: "fas" } }), Wie), ose), Jie), gO = Object.keys(ZN).reduce((e, t) => (e[t.toLowerCase()] = ZN[t], e), {}), vle = Object.keys(gO).reduce((e, t) => { const r = gO[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function xle(e) { const t = e.replace(yle, ""), r = Sse(t, 0), n = r >= QN[0] && r <= QN[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: zV(o ? t[0] : t), isSecondary: n || o }; } function wle(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (gO[r] || {})[o] || vle[r]; } function eT(e, t) { const r = "".concat(ase).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = ep(e.children).filter((l) => l.getAttribute(aO) === t)[0], i = oc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(use), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content"); if (a && !u) return e.removeChild(a), n(); if (u && d !== "none" && d !== "") { const l = i.getPropertyValue("content"); let f = wle(s, c); const { value: p, isSecondary: y } = xle(l), m = u[0].startsWith("FontAwesome"); let h = K4(f, p), w = h; if (m) { const $ = Tse(p); $.iconName && $.prefix && (h = $.iconName, f = $.prefix); } if (h && !y && (!a || a.getAttribute(H4) !== f || a.getAttribute(G4) !== w)) { e.setAttribute(r, w), a && e.removeChild(a); const $ = lle(), { extra: _ } = $; _.attributes[aO] = t, pO(h, f).then((S) => { const b = X4(he(he({}, $), {}, { icons: { main: S, mask: KV() }, prefix: f, iconName: w, extra: _, watchable: !0 })), F = Mr.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => wb(z)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function $le(e) { return Promise.all([eT(e, "::before"), eT(e, "::after")]); } function kle(e) { return e.parentNode !== document.head && !~sse.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(aO) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function tT(e) { if (ps) return new Promise((t, r) => { const n = ep(e.querySelectorAll("*")).filter(kle).map($le), o = J4.begin("searchPseudoElements"); eH(), Promise.all(n).then(() => { o(), hO(), t(); }).catch(() => { o(), hO(), r(); }); }); } var _le = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = tT, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Mr } = t; ze.searchPseudoElements && tT(r); }; } }; let rT = !1; var Ole = { mixout() { return { dom: { unwatch() { eH(), rT = !0; } } }; }, hooks() { return { bootstrap() { KN(uO("mutationObserverCallbacks", {})); }, noAuto() { ole(); }, watch(e) { const { observeMutationsRoot: t } = e; rT ? hO() : KN(uO("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const nT = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Sle = { mixout() { return { parse: { transform: (e) => nT(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = nT(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = { transform: "".concat(s, " ").concat(u, " ").concat(c) }, l = { transform: "translate(".concat(a / 2 * -1, " -256)") }, f = { outer: i, inner: d, path: l }; return { tag: "g", attributes: he({}, f.outer), children: [{ tag: "g", attributes: he({}, f.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: he(he({}, r.icon.attributes), f.path) }] }] }; }; } }; const Qw = { x: 0, y: 0, width: "100%", height: "100%" }; function oT(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Ele(e) { return e.tag === "g" ? e.children : [e]; } var Ale = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? D0(r.split(" ").map((o) => o.trim())) : KV(); return n.prefix || (n.prefix = ac()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: u, icon: c } = o, { width: d, icon: l } = a, f = xse({ transform: s, containerWidth: d, iconWidth: u }), p = { tag: "rect", attributes: he(he({}, Qw), {}, { fill: "white" }) }, y = c.children ? { children: c.children.map(oT) } : {}, m = { tag: "g", attributes: he({}, f.inner), children: [oT(he({ tag: c.tag, attributes: he(he({}, c.attributes), f.path) }, y))] }, h = { tag: "g", attributes: he({}, f.outer), children: [m] }, w = "mask-".concat(i || vg()), $ = "clip-".concat(i || vg()), _ = { tag: "mask", attributes: he(he({}, Qw), {}, { id: w, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [p, h] }, S = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: $ }, children: Ele(l) }, _] }; return r.push(S, { tag: "rect", attributes: he({ fill: "currentColor", "clip-path": "url(#".concat($, ")"), mask: "url(#".concat(w, ")") }, Qw) }), { children: r, attributes: n }; }; } }, Ple = { provides(e) { let t = !1; oc.matchMedia && (t = oc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: he(he({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = he(he({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: he(he({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: he(he({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: he(he({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: he(he({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: he(he({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: he(he({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: he(he({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Cle = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, Nle = [kse, mle, hle, gle, ble, _le, Ole, Sle, Ale, Ple, Cle]; Wse(Nle, { mixoutsTo: oo }); oo.noAuto; oo.config; oo.library; oo.dom; const bO = oo.parse; oo.findIconDefinition; oo.toHtml; const Tle = oo.icon; oo.layer; oo.text; oo.counter; function Ile(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var gy = { exports: {} }, Zw = { exports: {} }, Bt = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var aT; function jle() { if (aT) return Bt; aT = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(b) { if (typeof b == "object" && b !== null) { var F = b.$$typeof; switch (F) { case t: switch (b = b.type, b) { case u: case c: case n: case a: case o: case l: return b; default: switch (b = b && b.$$typeof, b) { case s: case d: case y: case p: case i: return b; default: return F; } } case r: return F; } } } function S(b) { return _(b) === c; } return Bt.AsyncMode = u, Bt.ConcurrentMode = c, Bt.ContextConsumer = s, Bt.ContextProvider = i, Bt.Element = t, Bt.ForwardRef = d, Bt.Fragment = n, Bt.Lazy = y, Bt.Memo = p, Bt.Portal = r, Bt.Profiler = a, Bt.StrictMode = o, Bt.Suspense = l, Bt.isAsyncMode = function(b) { return S(b) || _(b) === u; }, Bt.isConcurrentMode = S, Bt.isContextConsumer = function(b) { return _(b) === s; }, Bt.isContextProvider = function(b) { return _(b) === i; }, Bt.isElement = function(b) { return typeof b == "object" && b !== null && b.$$typeof === t; }, Bt.isForwardRef = function(b) { return _(b) === d; }, Bt.isFragment = function(b) { return _(b) === n; }, Bt.isLazy = function(b) { return _(b) === y; }, Bt.isMemo = function(b) { return _(b) === p; }, Bt.isPortal = function(b) { return _(b) === r; }, Bt.isProfiler = function(b) { return _(b) === a; }, Bt.isStrictMode = function(b) { return _(b) === o; }, Bt.isSuspense = function(b) { return _(b) === l; }, Bt.isValidElementType = function(b) { return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m); }, Bt.typeOf = _, Bt; } var ir = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var iT; function Rle() { return iT || (iT = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m); } function S(k) { if (typeof k == "object" && k !== null) { var oe = k.$$typeof; switch (oe) { case t: var me = k.type; switch (me) { case u: case c: case n: case a: case o: case l: return me; default: var Le = me && me.$$typeof; switch (Le) { case s: case d: case y: case p: case i: return Le; default: return oe; } } case r: return oe; } } } var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1; function ee(k) { return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u; } function v(k) { return S(k) === c; } function g(k) { return S(k) === s; } function O(k) { return S(k) === i; } function P(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function A(k) { return S(k) === d; } function T(k) { return S(k) === n; } function N(k) { return S(k) === y; } function C(k) { return S(k) === p; } function I(k) { return S(k) === r; } function j(k) { return S(k) === a; } function R(k) { return S(k) === o; } function Q(k) { return S(k) === l; } ir.AsyncMode = b, ir.ConcurrentMode = F, ir.ContextConsumer = z, ir.ContextProvider = q, ir.Element = Y, ir.ForwardRef = B, ir.Fragment = Z, ir.Lazy = M, ir.Memo = te, ir.Portal = G, ir.Profiler = H, ir.StrictMode = U, ir.Suspense = W, ir.isAsyncMode = ee, ir.isConcurrentMode = v, ir.isContextConsumer = g, ir.isContextProvider = O, ir.isElement = P, ir.isForwardRef = A, ir.isFragment = T, ir.isLazy = N, ir.isMemo = C, ir.isPortal = I, ir.isProfiler = j, ir.isStrictMode = R, ir.isSuspense = Q, ir.isValidElementType = _, ir.typeOf = S; }()), ir; } var sT; function rH() { return sT || (sT = 1, process.env.NODE_ENV === "production" ? Zw.exports = jle() : Zw.exports = Rle()), Zw.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var e2, lT; function Mle() { if (lT) return e2; lT = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var u = Object.getOwnPropertyNames(i).map(function(d) { return i[d]; }); if (u.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(d) { c[d] = d; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return e2 = o() ? Object.assign : function(a, i) { for (var s, u = n(a), c, d = 1; d < arguments.length; d++) { s = Object(arguments[d]); for (var l in s) t.call(s, l) && (u[l] = s[l]); if (e) { c = e(s); for (var f = 0; f < c.length; f++) r.call(s, c[f]) && (u[c[f]] = s[c[f]]); } } return u; }, e2; } var t2, cT; function Z4() { if (cT) return t2; cT = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return t2 = e, t2; } var uT, fT; function nH() { return fT || (fT = 1, uT = Function.call.bind(Object.prototype.hasOwnProperty)), uT; } var r2, dT; function Dle() { if (dT) return r2; dT = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ Z4(), r = {}, n = /* @__PURE__ */ nH(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, u, c) { if (process.env.NODE_ENV !== "production") { for (var d in a) if (n(a, d)) { var l; try { if (typeof a[d] != "function") { var f = Error( (u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw f.name = "Invariant Violation", f; } l = a[d](i, d, u, s, null, t); } catch (y) { l = y; } if (l && !(l instanceof Error) && e( (u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), l instanceof Error && !(l.message in r)) { r[l.message] = !0; var p = c ? c() : ""; e( "Failed " + s + " type: " + l.message + (p ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, r2 = o, r2; } var n2, pT; function Fle() { if (pT) return n2; pT = 1; var e = rH(), t = Mle(), r = /* @__PURE__ */ Z4(), n = /* @__PURE__ */ nH(), o = /* @__PURE__ */ Dle(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var u = "Warning: " + s; typeof console < "u" && console.error(u); try { throw new Error(u); } catch { } }); function i() { return null; } return n2 = function(s, u) { var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; function l(v) { var g = v && (c && v[c] || v[d]); if (typeof g == "function") return g; } var f = "<>", p = { array: w("array"), bigint: w("bigint"), bool: w("boolean"), func: w("function"), number: w("number"), object: w("object"), string: w("string"), symbol: w("symbol"), any: $(), arrayOf: _, element: S(), elementType: b(), instanceOf: F, node: B(), objectOf: q, oneOf: z, oneOfType: Y, shape: M, exact: te }; function y(v, g) { return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g; } function m(v, g) { this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = ""; } m.prototype = Error.prototype; function h(v) { if (process.env.NODE_ENV !== "production") var g = {}, O = 0; function P(T, N, C, I, j, R, Q) { if (I = I || f, R = R || C, Q !== r) { if (u) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var oe = I + ":" + C; !g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors O < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), g[oe] = !0, O++); } } return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R); } var A = P.bind(null, !1); return A.isRequired = P.bind(null, !0), A; } function w(v) { function g(O, P, A, T, N, C) { var I = O[P], j = U(I); if (j !== v) { var R = W(I); return new m( "Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."), { expectedType: v } ); } return null; } return h(g); } function $() { return h(i); } function _(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf."); var C = O[P]; if (!Array.isArray(C)) { var I = U(C); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array.")); } for (var j = 0; j < C.length; j++) { var R = v(C, j, A, T, N + "[" + j + "]", r); if (R instanceof Error) return R; } return null; } return h(g); } function S() { function v(g, O, P, A, T) { var N = g[O]; if (!s(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement.")); } return null; } return h(v); } function b() { function v(g, O, P, A, T) { var N = g[O]; if (!e.isValidElementType(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type.")); } return null; } return h(v); } function F(v) { function g(O, P, A, T, N) { if (!(O[P] instanceof v)) { var C = v.name || f, I = ee(O[P]); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`.")); } return null; } return h(g); } function z(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function g(O, P, A, T, N) { for (var C = O[P], I = 0; I < v.length; I++) if (y(C, v[I])) return null; var j = JSON.stringify(v, function(R, Q) { var k = W(Q); return k === "symbol" ? String(Q) : Q; }); return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + ".")); } return h(g); } function q(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf."); var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object.")); for (var j in C) if (n(C, j)) { var R = v(C, j, A, T, N + "." + j, r); if (R instanceof Error) return R; } return null; } return h(g); } function Y(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var g = 0; g < v.length; g++) { var O = v[g]; if (typeof O != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "." ), i; } function P(A, T, N, C, I) { for (var j = [], R = 0; R < v.length; R++) { var Q = v[R], k = Q(A, T, N, C, I, r); if (k == null) return null; k.data && n(k.data, "expectedType") && j.push(k.data.expectedType); } var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : ""; return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + ".")); } return h(P); } function B() { function v(g, O, P, A, T) { return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode.")); } return h(v); } function Z(v, g, O, P, A) { return new m( (v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`." ); } function M(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); for (var j in v) { var R = v[j]; if (typeof R != "function") return Z(A, T, N, j, W(R)); var Q = R(C, j, A, T, N + "." + j, r); if (Q) return Q; } return null; } return h(g); } function te(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); var j = t({}, O[P], v); for (var R in j) { var Q = v[R]; if (n(v, R) && typeof Q != "function") return Z(A, T, N, R, W(Q)); if (!Q) return new m( "Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(v), null, " ") ); var k = Q(C, R, A, T, N + "." + R, r); if (k) return k; } return null; } return h(g); } function G(v) { switch (typeof v) { case "number": case "string": case "undefined": return !0; case "boolean": return !v; case "object": if (Array.isArray(v)) return v.every(G); if (v === null || s(v)) return !0; var g = l(v); if (g) { var O = g.call(v), P; if (g !== v.entries) { for (; !(P = O.next()).done; ) if (!G(P.value)) return !1; } else for (; !(P = O.next()).done; ) { var A = P.value; if (A && !G(A[1])) return !1; } } else return !1; return !0; default: return !1; } } function H(v, g) { return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1; } function U(v) { var g = typeof v; return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g; } function W(v) { if (typeof v > "u" || v === null) return "" + v; var g = U(v); if (g === "object") { if (v instanceof Date) return "date"; if (v instanceof RegExp) return "regexp"; } return g; } function X(v) { var g = W(v); switch (g) { case "array": case "object": return "an " + g; case "boolean": case "date": case "regexp": return "a " + g; default: return g; } } function ee(v) { return !v.constructor || !v.constructor.name ? f : v.constructor.name; } return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p; }, n2; } var o2, mT; function Lle() { if (mT) return o2; mT = 1; var e = /* @__PURE__ */ Z4(); function t() { } function r() { } return r.resetWarningCache = t, o2 = function() { function n(i, s, u, c, d, l) { if (l !== e) { var f = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw f.name = "Invariant Violation", f; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, o2; } var hT; function zle() { if (hT) return gy.exports; if (hT = 1, process.env.NODE_ENV !== "production") { var e = rH(), t = !0; gy.exports = /* @__PURE__ */ Fle()(e.isElement, t); } else gy.exports = /* @__PURE__ */ Lle()(); return gy.exports; } var Wle = /* @__PURE__ */ zle(); const Et = /* @__PURE__ */ Ile(Wle); function gT(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function ya(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? gT(Object(r), !0).forEach(function(n) { Ef(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : gT(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function y1(e) { "@babel/helpers - typeof"; return y1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, y1(e); } function Ef(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Vle(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function Hle(e, t) { if (e == null) return {}; var r = Vle(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function yO(e) { return Gle(e) || Ule(e) || Ble(e) || Yle(); } function Gle(e) { if (Array.isArray(e)) return vO(e); } function Ule(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function Ble(e, t) { if (e) { if (typeof e == "string") return vO(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return vO(e, t); } } function vO(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function Yle() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function qle(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": u, "fa-spin-reverse": d, "fa-spin-pulse": c, "fa-pulse": l, "fa-fw": f, "fa-inverse": p, "fa-border": y, "fa-li": m, "fa-flip": h === !0, "fa-flip-horizontal": h === "horizontal" || h === "both", "fa-flip-vertical": h === "vertical" || h === "both" }, Ef(t, "fa-".concat(w), typeof w < "u" && w !== null), Ef(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Ef(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Ef(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(S).map(function(b) { return S[b] ? b : null; }).filter(function(b) { return b; }); } function Kle(e) { return e = e - 0, e === e; } function oH(e) { return Kle(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var Xle = ["style"]; function Jle(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function Qle(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = oH(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[Jle(o)] = a : t[o] = a, t; }, {}); } function aH(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(u) { return aH(e, u); }), o = Object.keys(t.attributes || {}).reduce(function(u, c) { var d = t.attributes[c]; switch (c) { case "class": u.attrs.className = d, delete t.attributes.class; break; case "style": u.attrs.style = Qle(d); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[oH(c)] = d; } return u; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = Hle(r, Xle); return o.attrs.style = ya(ya({}, o.attrs.style), i), e.apply(void 0, [t.tag, ya(ya({}, o.attrs), s)].concat(yO(n))); } var iH = !1; try { iH = process.env.NODE_ENV === "production"; } catch { } function Zle() { if (!iH && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function bT(e) { if (e && y1(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (bO.icon) return bO.icon(e); if (e === null) return null; if (e && y1(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function a2(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ef({}, e, t) : {}; } var yT = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, wg = /* @__PURE__ */ ae.forwardRef(function(e, t) { var r = ya(ya({}, yT), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = bT(n), l = a2("classes", [].concat(yO(qle(r)), yO((i || "").split(" ")))), f = a2("transform", typeof r.transform == "string" ? bO.transform(r.transform) : r.transform), p = a2("mask", bT(o)), y = Tle(d, ya(ya(ya(ya({}, l), f), p), {}, { symbol: a, title: s, titleId: u, maskId: c })); if (!y) return Zle("Could not find icon", d), null; var m = y.abstract, h = { ref: t }; return Object.keys(r).forEach(function(w) { yT.hasOwnProperty(w) || (h[w] = r[w]); }), ece(m[0], h); }); wg.displayName = "FontAwesomeIcon"; wg.propTypes = { beat: Et.bool, border: Et.bool, beatFade: Et.bool, bounce: Et.bool, className: Et.string, fade: Et.bool, flash: Et.bool, mask: Et.oneOfType([Et.object, Et.array, Et.string]), maskId: Et.string, fixedWidth: Et.bool, inverse: Et.bool, flip: Et.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Et.oneOfType([Et.object, Et.array, Et.string]), listItem: Et.bool, pull: Et.oneOf(["right", "left"]), pulse: Et.bool, rotation: Et.oneOf([0, 90, 180, 270]), shake: Et.bool, size: Et.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Et.bool, spinPulse: Et.bool, spinReverse: Et.bool, symbol: Et.oneOfType([Et.bool, Et.string]), title: Et.string, titleId: Et.string, transform: Et.oneOfType([Et.string, Et.object]), swapOpacity: Et.bool }; var ece = aH.bind(null, ae.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const tce = { prefix: "fas", iconName: "xmark", icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"] }; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function rce(e, t, r) { return (t = oce(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function vT(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function ge(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? vT(Object(r), !0).forEach(function(n) { rce(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vT(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function nce(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function oce(e) { var t = nce(e, "string"); return typeof t == "symbol" ? t : t + ""; } const xT = () => { }; let e3 = {}, sH = {}, lH = null, cH = { mark: xT, measure: xT }; try { typeof window < "u" && (e3 = window), typeof document < "u" && (sH = document), typeof MutationObserver < "u" && (lH = MutationObserver), typeof performance < "u" && (cH = performance); } catch { } const { userAgent: wT = "" } = e3.navigator || {}, sc = e3, Dr = sH, $T = lH, by = cH; sc.document; const ms = !!Dr.documentElement && !!Dr.head && typeof Dr.addEventListener == "function" && typeof Dr.createElement == "function", uH = ~wT.indexOf("MSIE") || ~wT.indexOf("Trident/"); var ace = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, ice = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, fH = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, sce = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, dH = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xn = "classic", L0 = "duotone", lce = "sharp", cce = "sharp-duotone", pH = [xn, L0, lce, cce], uce = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, fce = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, dce = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), pce = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, mce = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kT = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, hce = ["kit"], gce = { kit: { "fa-kit": "fak" } }, bce = ["fak", "fakd"], yce = { kit: { fak: "fa-kit" } }, _T = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, yy = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, vce = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xce = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], wce = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, $ce = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, kce = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, xO = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, _ce = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], wO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...vce, ..._ce], Oce = ["solid", "regular", "light", "thin", "duotone", "brands"], mH = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Sce = mH.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Ece = [...Object.keys(kce), ...Oce, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", yy.GROUP, yy.SWAP_OPACITY, yy.PRIMARY, yy.SECONDARY].concat(mH.map((e) => "".concat(e, "x"))).concat(Sce.map((e) => "w-".concat(e))), Ace = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Vi = "___FONT_AWESOME___", $O = 16, hH = "fa", gH = "svg-inline--fa", Eu = "data-fa-i2svg", kO = "data-fa-pseudo-element", Pce = "data-fa-pseudo-element-pending", t3 = "data-prefix", r3 = "data-icon", OT = "fontawesome-i2svg", Cce = "async", Nce = ["HTML", "HEAD", "STYLE", "SCRIPT"], bH = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function $b(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[xn]; } }); } const yH = ge({}, fH); yH[xn] = ge(ge(ge(ge({}, { "fa-duotone": "duotone" }), fH[xn]), kT.kit), kT["kit-duotone"]); const Tce = $b(yH), _O = ge({}, pce); _O[xn] = ge(ge(ge(ge({}, { duotone: "fad" }), _O[xn]), _T.kit), _T["kit-duotone"]); const ST = $b(_O), OO = ge({}, xO); OO[xn] = ge(ge({}, OO[xn]), yce.kit); const n3 = $b(OO), SO = ge({}, $ce); SO[xn] = ge(ge({}, SO[xn]), gce.kit); $b(SO); const Ice = ace, vH = "fa-layers-text", jce = ice, Rce = ge({}, uce); $b(Rce); const Mce = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], i2 = sce, Dce = [...hce, ...Ece], Ph = sc.FontAwesomeConfig || {}; function Fce(e) { var t = Dr.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function Lce(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Dr && typeof Dr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = Lce(Fce(t)); n != null && (Ph[r] = n); }); const xH = { styleDefault: "solid", familyDefault: xn, cssPrefix: hH, replacementClass: gH, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Ph.familyPrefix && (Ph.cssPrefix = Ph.familyPrefix); const Md = ge(ge({}, xH), Ph); Md.autoReplaceSvg || (Md.observeMutations = !1); const We = {}; Object.keys(xH).forEach((e) => { Object.defineProperty(We, e, { enumerable: !0, set: function(t) { Md[e] = t, Ch.forEach((r) => r(We)); }, get: function() { return Md[e]; } }); }); Object.defineProperty(We, "familyPrefix", { enumerable: !0, set: function(e) { Md.cssPrefix = e, Ch.forEach((t) => t(We)); }, get: function() { return Md.cssPrefix; } }); sc.FontAwesomeConfig = We; const Ch = []; function zce(e) { return Ch.push(e), () => { Ch.splice(Ch.indexOf(e), 1); }; } const el = $O, Ma = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function Wce(e) { if (!e || !ms) return; const t = Dr.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Dr.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Dr.head.insertBefore(t, n), e; } const Vce = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function $g() { let e = 12, t = ""; for (; e-- > 0; ) t += Vce[Math.random() * 62 | 0]; return t; } function tp(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function o3(e) { return e.classList ? tp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function wH(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function Hce(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(wH(e[r]), '" '), "").trim(); } function z0(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function a3(e) { return e.size !== Ma.size || e.x !== Ma.x || e.y !== Ma.y || e.rotate !== Ma.rotate || e.flipX || e.flipY; } function Gce(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: u, path: c }; } function Uce(e) { let { transform: t, width: r = $O, height: n = $O, startCentered: o = !1 } = e, a = ""; return o && uH ? a += "translate(".concat(t.x / el - r / 2, "em, ").concat(t.y / el - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / el, "em), calc(-50% + ").concat(t.y / el, "em)) ") : a += "translate(".concat(t.x / el, "em, ").concat(t.y / el, "em) "), a += "scale(".concat(t.size / el * (t.flipX ? -1 : 1), ", ").concat(t.size / el * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var Bce = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function $H() { const e = hH, t = gH, r = We.cssPrefix, n = We.replacementClass; let o = Bce; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let ET = !1; function s2() { We.autoAddCss && !ET && (Wce($H()), ET = !0); } var Yce = { mixout() { return { dom: { css: $H, insertCss: s2 } }; }, hooks() { return { beforeDOMElementCreation() { s2(); }, beforeI2svg() { s2(); } }; } }; const Hi = sc || {}; Hi[Vi] || (Hi[Vi] = {}); Hi[Vi].styles || (Hi[Vi].styles = {}); Hi[Vi].hooks || (Hi[Vi].hooks = {}); Hi[Vi].shims || (Hi[Vi].shims = []); var Da = Hi[Vi]; const kH = [], _H = function() { Dr.removeEventListener("DOMContentLoaded", _H), v1 = 1, kH.map((e) => e()); }; let v1 = !1; ms && (v1 = (Dr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Dr.readyState), v1 || Dr.addEventListener("DOMContentLoaded", _H)); function qce(e) { ms && (v1 ? setTimeout(e, 0) : kH.push(e)); } function kb(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? wH(e) : "<".concat(t, " ").concat(Hce(r), ">").concat(n.map(kb).join(""), ""); } function AT(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var l2 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, u, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) u = o[s], c = i(c, e[u], u, e); return c; }; function Kce(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function OH(e) { const t = Kce(e); return t.length === 1 ? t[0].toString(16) : null; } function Xce(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function PT(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function EO(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = PT(t); typeof Da.hooks.addPack == "function" && !n ? Da.hooks.addPack(e, PT(t)) : Da.styles[e] = ge(ge({}, Da.styles[e] || {}), o), e === "fas" && EO("fa", t); } const { styles: kg, shims: Jce } = Da, SH = Object.keys(n3), Qce = SH.reduce((e, t) => (e[t] = Object.keys(n3[t]), e), {}); let i3 = null, EH = {}, AH = {}, PH = {}, CH = {}, NH = {}; function Zce(e) { return ~Dce.indexOf(e); } function eue(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Zce(o) ? o : null; } const TH = () => { const e = (n) => l2(kg, (o, a, i) => (o[i] = l2(a, n, {}), o), {}); EH = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), AH = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), NH = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in kg || We.autoFetchSvg, r = l2(Jce, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); PH = r.names, CH = r.unicodes, i3 = W0(We.styleDefault, { family: We.familyDefault }); }; zce((e) => { i3 = W0(e.styleDefault, { family: We.familyDefault }); }); TH(); function s3(e, t) { return (EH[e] || {})[t]; } function tue(e, t) { return (AH[e] || {})[t]; } function nu(e, t) { return (NH[e] || {})[t]; } function IH(e) { return PH[e] || { prefix: null, iconName: null }; } function rue(e) { const t = CH[e], r = s3("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function lc() { return i3; } const jH = () => ({ prefix: null, iconName: null, rest: [] }); function nue(e) { let t = xn; const r = SH.reduce((n, o) => (n[o] = "".concat(We.cssPrefix, "-").concat(o), n), {}); return pH.forEach((n) => { (e.includes(r[n]) || e.some((o) => Qce[n].includes(o))) && (t = n); }), t; } function W0(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = xn } = t, n = Tce[r][e]; if (r === L0 && !e) return "fad"; const o = ST[r][e] || ST[r][n], a = e in Da.styles ? e : null; return o || a || null; } function oue(e) { let t = [], r = null; return e.forEach((n) => { const o = eue(We.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function CT(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function V0(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = wO.concat(xce), a = CT(e.filter((l) => o.includes(l))), i = CT(e.filter((l) => !wO.includes(l))), s = a.filter((l) => (n = l, !dH.includes(l))), [u = null] = s, c = nue(a), d = ge(ge({}, oue(i)), {}, { prefix: W0(u, { family: c }) }); return ge(ge(ge({}, d), lue({ values: e, family: c, styles: kg, config: We, canonical: d, givenPrefix: n })), aue(r, n, d)); } function aue(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? IH(o) : {}, i = nu(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !kg.far && kg.fas && !We.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const iue = pH.filter((e) => e !== xn || e !== L0), sue = Object.keys(xO).filter((e) => e !== xn).map((e) => Object.keys(xO[e])).flat(); function lue(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === L0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && iue.includes(r) && (Object.keys(a).find((l) => sue.includes(l)) || i.autoFetchSvg)) { const l = dce.get(r).defaultShortPrefixId; n.prefix = l, n.iconName = nu(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = lc() || "fas"), n; } let cue = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = ge(ge({}, this.definitions[a] || {}), o[a]), EO(a, o[a]); const i = n3[xn][a]; i && EO(i, o[a]), TH(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], u = s[2]; t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, NT = [], Af = {}; const od = {}, uue = Object.keys(od); function fue(e, t) { let { mixoutsTo: r } = t; return NT = e, Af = {}, Object.keys(od).forEach((n) => { uue.indexOf(n) === -1 && delete od[n]; }), NT.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Af[i] || (Af[i] = []), Af[i].push(a[i]); }); } n.provides && n.provides(od); }), r; } function AO(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Af[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Au(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Af[e] || []).forEach((o) => { o.apply(null, r); }); } function cc() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return od[e] ? od[e].apply(null, t) : void 0; } function PO(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || lc(); if (t) return t = nu(r, t) || t, AT(RH.definitions, r, t) || AT(Da.styles, r, t); } const RH = new cue(), due = () => { We.autoReplaceSvg = !1, We.observeMutations = !1, Au("noAuto"); }, pue = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return ms ? (Au("beforeI2svg", e), cc("pseudoElements2svg", e), cc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; We.autoReplaceSvg === !1 && (We.autoReplaceSvg = !0), We.observeMutations = !0, qce(() => { hue({ autoReplaceSvgRoot: t }), Au("watch", e); }); } }, mue = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: nu(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = W0(e[0]); return { prefix: r, iconName: nu(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(We.cssPrefix, "-")) > -1 || e.match(Ice))) { const t = V0(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || lc(), iconName: nu(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = lc(); return { prefix: t, iconName: nu(t, e) || e }; } } }, ao = { noAuto: due, config: We, dom: pue, parse: mue, library: RH, findIconDefinition: PO, toHtml: kb }, hue = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Dr } = e; (Object.keys(Da.styles).length > 0 || We.autoFetchSvg) && ms && We.autoReplaceSvg && ao.dom.i2svg({ node: t }); }; function H0(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => kb(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!ms) return; const r = Dr.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function gue(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (a3(i) && r.found && !n.found) { const { width: s, height: u } = r, c = { x: s / u / 2, y: 0.5 }; o.style = z0(ge(ge({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function bue(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(We.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: ge(ge({}, o), {}, { id: i }), children: n }] }]; } function l3(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: u, titleId: c, extra: d, watchable: l = !1 } = e, { width: f, height: p } = r.found ? r : t, y = bce.includes(n), m = [We.replacementClass, o ? "".concat(We.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" "); let h = { children: [], attributes: ge(ge({}, d.attributes), {}, { "data-prefix": n, "data-icon": o, class: m, role: d.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(f, " ").concat(p) }) }; const w = y && !~d.classes.indexOf("fa-fw") ? { width: "".concat(f / p * 16 * 0.0625, "em") } : {}; l && (h.attributes[Eu] = ""), s && (h.children.push({ tag: "title", attributes: { id: h.attributes["aria-labelledby"] || "title-".concat(c || $g()) }, children: [s] }), delete h.attributes.title); const $ = ge(ge({}, h), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: u, transform: a, symbol: i, styles: ge(ge({}, w), d.styles) }), { children: _, attributes: S } = r.found && t.found ? cc("generateAbstractMask", $) || { children: [], attributes: {} } : cc("generateAbstractIcon", $) || { children: [], attributes: {} }; return $.children = _, $.attributes = S, i ? bue($) : gue($); } function TT(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, u = ge(ge(ge({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (u[Eu] = ""); const c = ge({}, i.styles); a3(o) && (c.transform = Uce({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const d = z0(c); d.length > 0 && (u.style = d); const l = []; return l.push({ tag: "span", attributes: u, children: [t] }), a && l.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), l; } function yue(e) { const { content: t, title: r, extra: n } = e, o = ge(ge(ge({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = z0(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: c2 } = Da; function CO(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(We.cssPrefix, "-").concat(i2.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(We.cssPrefix, "-").concat(i2.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(We.cssPrefix, "-").concat(i2.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const vue = { found: !1, width: 512, height: 512 }; function xue(e, t) { !bH && !We.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function NO(e, t) { let r = t; return t === "fa" && We.styleDefault !== null && (t = lc()), new Promise((n, o) => { if (r === "fa") { const a = IH(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && c2[t] && c2[t][e]) { const a = c2[t][e]; return n(CO(a)); } xue(e, t), n(ge(ge({}, vue), {}, { icon: We.showMissingIcons && e ? cc("missingIconAbstract") || {} : {} })); }); } const IT = () => { }, TO = We.measurePerformance && by && by.mark && by.measure ? by : { mark: IT, measure: IT }, oh = 'FA "6.7.2"', wue = (e) => (TO.mark("".concat(oh, " ").concat(e, " begins")), () => MH(e)), MH = (e) => { TO.mark("".concat(oh, " ").concat(e, " ends")), TO.measure("".concat(oh, " ").concat(e), "".concat(oh, " ").concat(e, " begins"), "".concat(oh, " ").concat(e, " ends")); }; var c3 = { begin: wue, end: MH }; const Pv = () => { }; function jT(e) { return typeof (e.getAttribute ? e.getAttribute(Eu) : null) == "string"; } function $ue(e) { const t = e.getAttribute ? e.getAttribute(t3) : null, r = e.getAttribute ? e.getAttribute(r3) : null; return t && r; } function kue(e) { return e && e.classList && e.classList.contains && e.classList.contains(We.replacementClass); } function _ue() { return We.autoReplaceSvg === !0 ? Cv.replace : Cv[We.autoReplaceSvg] || Cv.replace; } function Oue(e) { return Dr.createElementNS("http://www.w3.org/2000/svg", e); } function Sue(e) { return Dr.createElement(e); } function DH(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? Oue : Sue } = t; if (typeof e == "string") return Dr.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(DH(o, { ceFn: r })); }), n; } function Eue(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const Cv = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(DH(r), t); }), t.getAttribute(Eu) === null && We.keepOriginalSource) { let r = Dr.createComment(Eue(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~o3(t).indexOf(We.replacementClass)) return Cv.replace(e); const n = new RegExp("".concat(We.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === We.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => kb(a)).join(` `); t.setAttribute(Eu, ""), t.innerHTML = o; } }; function RT(e) { e(); } function FH(e, t) { const r = typeof t == "function" ? t : Pv; if (e.length === 0) r(); else { let n = RT; We.mutateApproach === Cce && (n = sc.requestAnimationFrame || RT), n(() => { const o = _ue(), a = c3.begin("mutate"); e.map(o), a(), r(); }); } } let u3 = !1; function LH() { u3 = !0; } function IO() { u3 = !1; } let x1 = null; function MT(e) { if (!$T || !We.observeMutations) return; const { treeCallback: t = Pv, nodeCallback: r = Pv, pseudoElementsCallback: n = Pv, observeMutationsRoot: o = Dr } = e; x1 = new $T((a) => { if (u3) return; const i = lc(); tp(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !jT(s.addedNodes[0]) && (We.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && We.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jT(s.target) && ~Mce.indexOf(s.attributeName)) if (s.attributeName === "class" && $ue(s.target)) { const { prefix: u, iconName: c } = V0(o3(s.target)); s.target.setAttribute(t3, u || i), c && s.target.setAttribute(r3, c); } else kue(s.target) && r(s.target); }); }), ms && x1.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function Aue() { x1 && x1.disconnect(); } function Pue(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function Cue(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = V0(o3(e)); return o.prefix || (o.prefix = lc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = tue(o.prefix, e.innerText) || s3(o.prefix, OH(e.innerText))), !o.iconName && We.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function Nue(e) { const t = tp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return We.autoA11y && (r ? t["aria-labelledby"] = "".concat(We.replacementClass, "-title-").concat(n || $g()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function Tue() { return { iconName: null, title: null, titleId: null, prefix: null, transform: Ma, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function DT(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = Cue(e), a = Nue(e), i = AO("parseNodeAttributes", {}, e); let s = t.styleParser ? Pue(e) : []; return ge({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: Ma, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: Iue } = Da; function zH(e) { const t = We.autoReplaceSvg === "nest" ? DT(e, { styleParser: !1 }) : DT(e); return ~t.extra.classes.indexOf(vH) ? cc("generateLayersText", e, t) : cc("generateSvgReplacementMutation", e, t); } function jue() { return [...mce, ...wO]; } function FT(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!ms) return Promise.resolve(); const r = Dr.documentElement.classList, n = (d) => r.add("".concat(OT, "-").concat(d)), o = (d) => r.remove("".concat(OT, "-").concat(d)), a = We.autoFetchSvg ? jue() : dH.concat(Object.keys(Iue)); a.includes("fa") || a.push("fa"); const i = [".".concat(vH, ":not([").concat(Eu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Eu, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = tp(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const u = c3.begin("onTree"), c = s.reduce((d, l) => { try { const f = zH(l); f && d.push(f); } catch (f) { bH || f.name === "MissingIcon" && console.error(f); } return d; }, []); return new Promise((d, l) => { Promise.all(c).then((f) => { FH(f, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d(); }); }).catch((f) => { u(), l(f); }); }); } function Rue(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; zH(e).then((r) => { r && FH([r], t); }); } function Mue(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : PO(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : PO(o || {})), e(n, ge(ge({}, r), {}, { mask: o })); }; } const Due = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Ma, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: u = [], attributes: c = {}, styles: d = {} } = t; if (!e) return; const { prefix: l, iconName: f, icon: p } = e; return H0(ge({ type: "icon" }, e), () => (Au("beforeDOMElementCreation", { iconDefinition: e, params: t }), We.autoA11y && (i ? c["aria-labelledby"] = "".concat(We.replacementClass, "-title-").concat(s || $g()) : (c["aria-hidden"] = "true", c.focusable = "false")), l3({ icons: { main: CO(p), mask: o ? CO(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: l, iconName: f, transform: ge(ge({}, Ma), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: d, classes: u } }))); }; var Fue = { mixout() { return { icon: Mue(Due) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = FT, e.nodeCallback = Rue, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Dr, callback: n = () => { } } = t; return FT(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: u, mask: c, maskId: d, extra: l } = r; return new Promise((f, p) => { Promise.all([NO(n, i), c.iconName ? NO(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((y) => { let [m, h] = y; f([t, l3({ icons: { main: m, mask: h }, prefix: i, iconName: n, transform: s, symbol: u, maskId: d, title: o, titleId: a, extra: l, watchable: !0 })]); }).catch(p); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = z0(i); s.length > 0 && (n.style = s); let u; return a3(a) && (u = cc("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(u || o.icon), { children: r, attributes: n }; }; } }, Lue = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return H0({ type: "layer" }, () => { Au("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(We.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, zue = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return H0({ type: "counter", content: e }, () => (Au("beforeDOMElementCreation", { content: e, params: t }), yue({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(We.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, Wue = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Ma, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return H0({ type: "text", content: e }, () => (Au("beforeDOMElementCreation", { content: e, params: t }), TT({ content: e, transform: ge(ge({}, Ma), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(We.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (uH) { const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / u, s = c.height / u; } return We.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, TT({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const Vue = new RegExp('"', "ug"), LT = [1105920, 1112319], zT = ge(ge(ge(ge({}, { FontAwesome: { normal: "fas", 400: "fas" } }), fce), Ace), wce), jO = Object.keys(zT).reduce((e, t) => (e[t.toLowerCase()] = zT[t], e), {}), Hue = Object.keys(jO).reduce((e, t) => { const r = jO[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function Gue(e) { const t = e.replace(Vue, ""), r = Xce(t, 0), n = r >= LT[0] && r <= LT[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: OH(o ? t[0] : t), isSecondary: n || o }; } function Uue(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (jO[r] || {})[o] || Hue[r]; } function WT(e, t) { const r = "".concat(Pce).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = tp(e.children).filter((l) => l.getAttribute(kO) === t)[0], i = sc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(jce), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content"); if (a && !u) return e.removeChild(a), n(); if (u && d !== "none" && d !== "") { const l = i.getPropertyValue("content"); let f = Uue(s, c); const { value: p, isSecondary: y } = Gue(l), m = u[0].startsWith("FontAwesome"); let h = s3(f, p), w = h; if (m) { const $ = rue(p); $.iconName && $.prefix && (h = $.iconName, f = $.prefix); } if (h && !y && (!a || a.getAttribute(t3) !== f || a.getAttribute(r3) !== w)) { e.setAttribute(r, w), a && e.removeChild(a); const $ = Tue(), { extra: _ } = $; _.attributes[kO] = t, NO(h, f).then((S) => { const b = l3(ge(ge({}, $), {}, { icons: { main: S, mask: jH() }, prefix: f, iconName: w, extra: _, watchable: !0 })), F = Dr.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => kb(z)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function Bue(e) { return Promise.all([WT(e, "::before"), WT(e, "::after")]); } function Yue(e) { return e.parentNode !== document.head && !~Nce.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(kO) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function VT(e) { if (ms) return new Promise((t, r) => { const n = tp(e.querySelectorAll("*")).filter(Yue).map(Bue), o = c3.begin("searchPseudoElements"); LH(), Promise.all(n).then(() => { o(), IO(), t(); }).catch(() => { o(), IO(), r(); }); }); } var que = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = VT, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Dr } = t; We.searchPseudoElements && VT(r); }; } }; let HT = !1; var Kue = { mixout() { return { dom: { unwatch() { LH(), HT = !0; } } }; }, hooks() { return { bootstrap() { MT(AO("mutationObserverCallbacks", {})); }, noAuto() { Aue(); }, watch(e) { const { observeMutationsRoot: t } = e; HT ? IO() : MT(AO("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const GT = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Xue = { mixout() { return { parse: { transform: (e) => GT(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = GT(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = { transform: "".concat(s, " ").concat(u, " ").concat(c) }, l = { transform: "translate(".concat(a / 2 * -1, " -256)") }, f = { outer: i, inner: d, path: l }; return { tag: "g", attributes: ge({}, f.outer), children: [{ tag: "g", attributes: ge({}, f.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: ge(ge({}, r.icon.attributes), f.path) }] }] }; }; } }; const u2 = { x: 0, y: 0, width: "100%", height: "100%" }; function UT(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Jue(e) { return e.tag === "g" ? e.children : [e]; } var Que = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? V0(r.split(" ").map((o) => o.trim())) : jH(); return n.prefix || (n.prefix = lc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: u, icon: c } = o, { width: d, icon: l } = a, f = Gce({ transform: s, containerWidth: d, iconWidth: u }), p = { tag: "rect", attributes: ge(ge({}, u2), {}, { fill: "white" }) }, y = c.children ? { children: c.children.map(UT) } : {}, m = { tag: "g", attributes: ge({}, f.inner), children: [UT(ge({ tag: c.tag, attributes: ge(ge({}, c.attributes), f.path) }, y))] }, h = { tag: "g", attributes: ge({}, f.outer), children: [m] }, w = "mask-".concat(i || $g()), $ = "clip-".concat(i || $g()), _ = { tag: "mask", attributes: ge(ge({}, u2), {}, { id: w, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [p, h] }, S = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: $ }, children: Jue(l) }, _] }; return r.push(S, { tag: "rect", attributes: ge({ fill: "currentColor", "clip-path": "url(#".concat($, ")"), mask: "url(#".concat(w, ")") }, u2) }), { children: r, attributes: n }; }; } }, Zue = { provides(e) { let t = !1; sc.matchMedia && (t = sc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: ge(ge({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = ge(ge({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: ge(ge({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: ge(ge({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: ge(ge({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: ge(ge({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: ge(ge({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: ge(ge({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: ge(ge({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, efe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, tfe = [Yce, Fue, Lue, zue, Wue, que, Kue, Xue, Que, Zue, efe]; fue(tfe, { mixoutsTo: ao }); ao.noAuto; ao.config; ao.library; ao.dom; const RO = ao.parse; ao.findIconDefinition; ao.toHtml; const rfe = ao.icon; ao.layer; ao.text; ao.counter; function nfe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var vy = { exports: {} }, f2 = { exports: {} }, Yt = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var BT; function ofe() { if (BT) return Yt; BT = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(b) { if (typeof b == "object" && b !== null) { var F = b.$$typeof; switch (F) { case t: switch (b = b.type, b) { case u: case c: case n: case a: case o: case l: return b; default: switch (b = b && b.$$typeof, b) { case s: case d: case y: case p: case i: return b; default: return F; } } case r: return F; } } } function S(b) { return _(b) === c; } return Yt.AsyncMode = u, Yt.ConcurrentMode = c, Yt.ContextConsumer = s, Yt.ContextProvider = i, Yt.Element = t, Yt.ForwardRef = d, Yt.Fragment = n, Yt.Lazy = y, Yt.Memo = p, Yt.Portal = r, Yt.Profiler = a, Yt.StrictMode = o, Yt.Suspense = l, Yt.isAsyncMode = function(b) { return S(b) || _(b) === u; }, Yt.isConcurrentMode = S, Yt.isContextConsumer = function(b) { return _(b) === s; }, Yt.isContextProvider = function(b) { return _(b) === i; }, Yt.isElement = function(b) { return typeof b == "object" && b !== null && b.$$typeof === t; }, Yt.isForwardRef = function(b) { return _(b) === d; }, Yt.isFragment = function(b) { return _(b) === n; }, Yt.isLazy = function(b) { return _(b) === y; }, Yt.isMemo = function(b) { return _(b) === p; }, Yt.isPortal = function(b) { return _(b) === r; }, Yt.isProfiler = function(b) { return _(b) === a; }, Yt.isStrictMode = function(b) { return _(b) === o; }, Yt.isSuspense = function(b) { return _(b) === l; }, Yt.isValidElementType = function(b) { return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m); }, Yt.typeOf = _, Yt; } var sr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var YT; function afe() { return YT || (YT = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m); } function S(k) { if (typeof k == "object" && k !== null) { var oe = k.$$typeof; switch (oe) { case t: var me = k.type; switch (me) { case u: case c: case n: case a: case o: case l: return me; default: var Le = me && me.$$typeof; switch (Le) { case s: case d: case y: case p: case i: return Le; default: return oe; } } case r: return oe; } } } var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1; function ee(k) { return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u; } function v(k) { return S(k) === c; } function g(k) { return S(k) === s; } function O(k) { return S(k) === i; } function P(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function A(k) { return S(k) === d; } function T(k) { return S(k) === n; } function N(k) { return S(k) === y; } function C(k) { return S(k) === p; } function I(k) { return S(k) === r; } function j(k) { return S(k) === a; } function R(k) { return S(k) === o; } function Q(k) { return S(k) === l; } sr.AsyncMode = b, sr.ConcurrentMode = F, sr.ContextConsumer = z, sr.ContextProvider = q, sr.Element = Y, sr.ForwardRef = B, sr.Fragment = Z, sr.Lazy = M, sr.Memo = te, sr.Portal = G, sr.Profiler = H, sr.StrictMode = U, sr.Suspense = W, sr.isAsyncMode = ee, sr.isConcurrentMode = v, sr.isContextConsumer = g, sr.isContextProvider = O, sr.isElement = P, sr.isForwardRef = A, sr.isFragment = T, sr.isLazy = N, sr.isMemo = C, sr.isPortal = I, sr.isProfiler = j, sr.isStrictMode = R, sr.isSuspense = Q, sr.isValidElementType = _, sr.typeOf = S; }()), sr; } var qT; function WH() { return qT || (qT = 1, process.env.NODE_ENV === "production" ? f2.exports = ofe() : f2.exports = afe()), f2.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var d2, KT; function ife() { if (KT) return d2; KT = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var u = Object.getOwnPropertyNames(i).map(function(d) { return i[d]; }); if (u.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(d) { c[d] = d; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return d2 = o() ? Object.assign : function(a, i) { for (var s, u = n(a), c, d = 1; d < arguments.length; d++) { s = Object(arguments[d]); for (var l in s) t.call(s, l) && (u[l] = s[l]); if (e) { c = e(s); for (var f = 0; f < c.length; f++) r.call(s, c[f]) && (u[c[f]] = s[c[f]]); } } return u; }, d2; } var p2, XT; function f3() { if (XT) return p2; XT = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return p2 = e, p2; } var JT, QT; function VH() { return QT || (QT = 1, JT = Function.call.bind(Object.prototype.hasOwnProperty)), JT; } var m2, ZT; function sfe() { if (ZT) return m2; ZT = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ f3(), r = {}, n = /* @__PURE__ */ VH(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, u, c) { if (process.env.NODE_ENV !== "production") { for (var d in a) if (n(a, d)) { var l; try { if (typeof a[d] != "function") { var f = Error( (u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw f.name = "Invariant Violation", f; } l = a[d](i, d, u, s, null, t); } catch (y) { l = y; } if (l && !(l instanceof Error) && e( (u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), l instanceof Error && !(l.message in r)) { r[l.message] = !0; var p = c ? c() : ""; e( "Failed " + s + " type: " + l.message + (p ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, m2 = o, m2; } var h2, eI; function lfe() { if (eI) return h2; eI = 1; var e = WH(), t = ife(), r = /* @__PURE__ */ f3(), n = /* @__PURE__ */ VH(), o = /* @__PURE__ */ sfe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var u = "Warning: " + s; typeof console < "u" && console.error(u); try { throw new Error(u); } catch { } }); function i() { return null; } return h2 = function(s, u) { var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; function l(v) { var g = v && (c && v[c] || v[d]); if (typeof g == "function") return g; } var f = "<>", p = { array: w("array"), bigint: w("bigint"), bool: w("boolean"), func: w("function"), number: w("number"), object: w("object"), string: w("string"), symbol: w("symbol"), any: $(), arrayOf: _, element: S(), elementType: b(), instanceOf: F, node: B(), objectOf: q, oneOf: z, oneOfType: Y, shape: M, exact: te }; function y(v, g) { return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g; } function m(v, g) { this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = ""; } m.prototype = Error.prototype; function h(v) { if (process.env.NODE_ENV !== "production") var g = {}, O = 0; function P(T, N, C, I, j, R, Q) { if (I = I || f, R = R || C, Q !== r) { if (u) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var oe = I + ":" + C; !g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors O < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), g[oe] = !0, O++); } } return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R); } var A = P.bind(null, !1); return A.isRequired = P.bind(null, !0), A; } function w(v) { function g(O, P, A, T, N, C) { var I = O[P], j = U(I); if (j !== v) { var R = W(I); return new m( "Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."), { expectedType: v } ); } return null; } return h(g); } function $() { return h(i); } function _(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf."); var C = O[P]; if (!Array.isArray(C)) { var I = U(C); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array.")); } for (var j = 0; j < C.length; j++) { var R = v(C, j, A, T, N + "[" + j + "]", r); if (R instanceof Error) return R; } return null; } return h(g); } function S() { function v(g, O, P, A, T) { var N = g[O]; if (!s(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement.")); } return null; } return h(v); } function b() { function v(g, O, P, A, T) { var N = g[O]; if (!e.isValidElementType(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type.")); } return null; } return h(v); } function F(v) { function g(O, P, A, T, N) { if (!(O[P] instanceof v)) { var C = v.name || f, I = ee(O[P]); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`.")); } return null; } return h(g); } function z(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function g(O, P, A, T, N) { for (var C = O[P], I = 0; I < v.length; I++) if (y(C, v[I])) return null; var j = JSON.stringify(v, function(R, Q) { var k = W(Q); return k === "symbol" ? String(Q) : Q; }); return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + ".")); } return h(g); } function q(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf."); var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object.")); for (var j in C) if (n(C, j)) { var R = v(C, j, A, T, N + "." + j, r); if (R instanceof Error) return R; } return null; } return h(g); } function Y(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var g = 0; g < v.length; g++) { var O = v[g]; if (typeof O != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "." ), i; } function P(A, T, N, C, I) { for (var j = [], R = 0; R < v.length; R++) { var Q = v[R], k = Q(A, T, N, C, I, r); if (k == null) return null; k.data && n(k.data, "expectedType") && j.push(k.data.expectedType); } var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : ""; return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + ".")); } return h(P); } function B() { function v(g, O, P, A, T) { return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode.")); } return h(v); } function Z(v, g, O, P, A) { return new m( (v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`." ); } function M(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); for (var j in v) { var R = v[j]; if (typeof R != "function") return Z(A, T, N, j, W(R)); var Q = R(C, j, A, T, N + "." + j, r); if (Q) return Q; } return null; } return h(g); } function te(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); var j = t({}, O[P], v); for (var R in j) { var Q = v[R]; if (n(v, R) && typeof Q != "function") return Z(A, T, N, R, W(Q)); if (!Q) return new m( "Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(v), null, " ") ); var k = Q(C, R, A, T, N + "." + R, r); if (k) return k; } return null; } return h(g); } function G(v) { switch (typeof v) { case "number": case "string": case "undefined": return !0; case "boolean": return !v; case "object": if (Array.isArray(v)) return v.every(G); if (v === null || s(v)) return !0; var g = l(v); if (g) { var O = g.call(v), P; if (g !== v.entries) { for (; !(P = O.next()).done; ) if (!G(P.value)) return !1; } else for (; !(P = O.next()).done; ) { var A = P.value; if (A && !G(A[1])) return !1; } } else return !1; return !0; default: return !1; } } function H(v, g) { return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1; } function U(v) { var g = typeof v; return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g; } function W(v) { if (typeof v > "u" || v === null) return "" + v; var g = U(v); if (g === "object") { if (v instanceof Date) return "date"; if (v instanceof RegExp) return "regexp"; } return g; } function X(v) { var g = W(v); switch (g) { case "array": case "object": return "an " + g; case "boolean": case "date": case "regexp": return "a " + g; default: return g; } } function ee(v) { return !v.constructor || !v.constructor.name ? f : v.constructor.name; } return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p; }, h2; } var g2, tI; function cfe() { if (tI) return g2; tI = 1; var e = /* @__PURE__ */ f3(); function t() { } function r() { } return r.resetWarningCache = t, g2 = function() { function n(i, s, u, c, d, l) { if (l !== e) { var f = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw f.name = "Invariant Violation", f; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, g2; } var rI; function ufe() { if (rI) return vy.exports; if (rI = 1, process.env.NODE_ENV !== "production") { var e = WH(), t = !0; vy.exports = /* @__PURE__ */ lfe()(e.isElement, t); } else vy.exports = /* @__PURE__ */ cfe()(); return vy.exports; } var ffe = /* @__PURE__ */ ufe(); const At = /* @__PURE__ */ nfe(ffe); function nI(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function va(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? nI(Object(r), !0).forEach(function(n) { Pf(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nI(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function w1(e) { "@babel/helpers - typeof"; return w1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, w1(e); } function Pf(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function dfe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function pfe(e, t) { if (e == null) return {}; var r = dfe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function MO(e) { return mfe(e) || hfe(e) || gfe(e) || bfe(); } function mfe(e) { if (Array.isArray(e)) return DO(e); } function hfe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function gfe(e, t) { if (e) { if (typeof e == "string") return DO(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return DO(e, t); } } function DO(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function bfe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function yfe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": u, "fa-spin-reverse": d, "fa-spin-pulse": c, "fa-pulse": l, "fa-fw": f, "fa-inverse": p, "fa-border": y, "fa-li": m, "fa-flip": h === !0, "fa-flip-horizontal": h === "horizontal" || h === "both", "fa-flip-vertical": h === "vertical" || h === "both" }, Pf(t, "fa-".concat(w), typeof w < "u" && w !== null), Pf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Pf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Pf(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(S).map(function(b) { return S[b] ? b : null; }).filter(function(b) { return b; }); } function vfe(e) { return e = e - 0, e === e; } function HH(e) { return vfe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var xfe = ["style"]; function wfe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function $fe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = HH(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[wfe(o)] = a : t[o] = a, t; }, {}); } function GH(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(u) { return GH(e, u); }), o = Object.keys(t.attributes || {}).reduce(function(u, c) { var d = t.attributes[c]; switch (c) { case "class": u.attrs.className = d, delete t.attributes.class; break; case "style": u.attrs.style = $fe(d); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[HH(c)] = d; } return u; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = pfe(r, xfe); return o.attrs.style = va(va({}, o.attrs.style), i), e.apply(void 0, [t.tag, va(va({}, o.attrs), s)].concat(MO(n))); } var UH = !1; try { UH = process.env.NODE_ENV === "production"; } catch { } function kfe() { if (!UH && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function oI(e) { if (e && w1(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (RO.icon) return RO.icon(e); if (e === null) return null; if (e && w1(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function b2(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Pf({}, e, t) : {}; } var aI = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, d3 = /* @__PURE__ */ ae.forwardRef(function(e, t) { var r = va(va({}, aI), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = oI(n), l = b2("classes", [].concat(MO(yfe(r)), MO((i || "").split(" ")))), f = b2("transform", typeof r.transform == "string" ? RO.transform(r.transform) : r.transform), p = b2("mask", oI(o)), y = rfe(d, va(va(va(va({}, l), f), p), {}, { symbol: a, title: s, titleId: u, maskId: c })); if (!y) return kfe("Could not find icon", d), null; var m = y.abstract, h = { ref: t }; return Object.keys(r).forEach(function(w) { aI.hasOwnProperty(w) || (h[w] = r[w]); }), _fe(m[0], h); }); d3.displayName = "FontAwesomeIcon"; d3.propTypes = { beat: At.bool, border: At.bool, beatFade: At.bool, bounce: At.bool, className: At.string, fade: At.bool, flash: At.bool, mask: At.oneOfType([At.object, At.array, At.string]), maskId: At.string, fixedWidth: At.bool, inverse: At.bool, flip: At.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: At.oneOfType([At.object, At.array, At.string]), listItem: At.bool, pull: At.oneOf(["right", "left"]), pulse: At.bool, rotation: At.oneOf([0, 90, 180, 270]), shake: At.bool, size: At.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: At.bool, spinPulse: At.bool, spinReverse: At.bool, symbol: At.oneOfType([At.bool, At.string]), title: At.string, titleId: At.string, transform: At.oneOfType([At.string, At.object]), swapOpacity: At.bool }; var _fe = GH.bind(null, ae.createElement); const p3 = "-", Ofe = (e) => { const t = Efe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(p3); return a[0] === "" && a.length !== 1 && a.shift(), BH(a, t) || Sfe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, BH = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? BH(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(p3); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, iI = /^\[(.+)\]$/, Sfe = (e) => { if (iI.test(e)) { const t = iI.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, Efe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return Pfe(Object.entries(e.classGroups), r).forEach(([o, a]) => { FO(a, n, o, t); }), n; }, FO = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : sI(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (Afe(o)) { FO(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { FO(i, sI(t, a), r, n); }); }); }, sI = (e, t) => { let r = e; return t.split(p3).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, Afe = (e) => e.isThemeGetter, Pfe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, Cfe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, YH = "!", Nfe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const u = []; let c = 0, d = 0, l; for (let h = 0; h < s.length; h++) { let w = s[h]; if (c === 0) { if (w === o && (n || s.slice(h, h + a) === t)) { u.push(s.slice(d, h)), d = h + a; continue; } if (w === "/") { l = h; continue; } } w === "[" ? c++ : w === "]" && c--; } const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(YH), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0; return { modifiers: u, hasImportantModifier: p, baseClassName: y, maybePostfixModifierPosition: m }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, Tfe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, Ife = (e) => ({ cache: Cfe(e.cacheSize), parseClassName: Nfe(e), ...Ofe(e) }), jfe = /\s+/, Rfe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(jfe); let s = ""; for (let u = i.length - 1; u >= 0; u -= 1) { const c = i[u], { modifiers: d, hasImportantModifier: l, baseClassName: f, maybePostfixModifierPosition: p } = r(c); let y = !!p, m = n(y ? f.substring(0, p) : f); if (!m) { if (!y) { s = c + (s.length > 0 ? " " + s : s); continue; } if (m = n(f), !m) { s = c + (s.length > 0 ? " " + s : s); continue; } y = !1; } const h = Tfe(d).join(":"), w = l ? h + YH : h, $ = w + m; if (a.includes($)) continue; a.push($); const _ = o(m, y); for (let S = 0; S < _.length; ++S) { const b = _[S]; a.push(w + b); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Mfe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = qH(t)) && (n && (n += " "), n += r); return n; } const qH = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = qH(e[n])) && (r && (r += " "), r += t); return r; }; function Dfe(e, ...t) { let r, n, o, a = i; function i(u) { const c = t.reduce((d, l) => l(d), e()); return r = Ife(c), n = r.cache.get, o = r.cache.set, a = s, s(u); } function s(u) { const c = n(u); if (c) return c; const d = Rfe(u, r); return o(u, d), d; } return function() { return a(Mfe.apply(null, arguments)); }; } const Or = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, KH = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ffe = /^\d+\/\d+$/, Lfe = /* @__PURE__ */ new Set(["px", "full", "screen"]), zfe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Wfe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Vfe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Hfe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Gfe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, vi = (e) => ad(e) || Lfe.has(e) || Ffe.test(e), tl = (e) => rp(e, "length", Qfe), ad = (e) => !!e && !Number.isNaN(Number(e)), y2 = (e) => rp(e, "number", ad), xm = (e) => !!e && Number.isInteger(Number(e)), Ufe = (e) => e.endsWith("%") && ad(e.slice(0, -1)), ut = (e) => KH.test(e), rl = (e) => zfe.test(e), Bfe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Yfe = (e) => rp(e, Bfe, XH), qfe = (e) => rp(e, "position", XH), Kfe = /* @__PURE__ */ new Set(["image", "url"]), Xfe = (e) => rp(e, Kfe, ede), Jfe = (e) => rp(e, "", Zfe), wm = () => !0, rp = (e, t, r) => { const n = KH.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Qfe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Wfe.test(e) && !Vfe.test(e) ), XH = () => !1, Zfe = (e) => Hfe.test(e), ede = (e) => Gfe.test(e), tde = () => { const e = Or("colors"), t = Or("spacing"), r = Or("blur"), n = Or("brightness"), o = Or("borderColor"), a = Or("borderRadius"), i = Or("borderSpacing"), s = Or("borderWidth"), u = Or("contrast"), c = Or("grayscale"), d = Or("hueRotate"), l = Or("invert"), f = Or("gap"), p = Or("gradientColorStops"), y = Or("gradientColorStopPositions"), m = Or("inset"), h = Or("margin"), w = Or("opacity"), $ = Or("padding"), _ = Or("saturate"), S = Or("scale"), b = Or("sepia"), F = Or("skew"), z = Or("space"), q = Or("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ut, t], M = () => [ut, t], te = () => ["", vi, tl], G = () => ["auto", ad, ut], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ut], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [ad, ut]; return { cacheSize: 500, separator: ":", theme: { colors: [wm], spacing: [vi, tl], blur: ["none", "", rl, ut], brightness: g(), borderColor: [e], borderRadius: ["none", "", "full", rl, ut], borderSpacing: M(), borderWidth: te(), contrast: g(), grayscale: ee(), hueRotate: g(), invert: ee(), gap: M(), gradientColorStops: [e], gradientColorStopPositions: [Ufe, tl], inset: Z(), margin: Z(), opacity: g(), padding: M(), saturate: g(), scale: g(), sepia: ee(), skew: g(), space: M(), translate: M() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", ut] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [rl] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": v() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": v() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...H(), ut] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: B() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": B() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": B() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: Y() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": Y() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": Y() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [m] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [m] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [m] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [m] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [m] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [m] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [m] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [m] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [m] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", xm, ut] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: Z() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", ut] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ee() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ee() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", xm, ut] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [wm] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", xm, ut] }, ut] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": G() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": G() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [wm] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [xm, ut] }, ut] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": G() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": G() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", ut] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", ut] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [f] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [f] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [f] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...X()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...X(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...X(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [$] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [$] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [$] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [$] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [$] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [$] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [$] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [$] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [$] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [h] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [h] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [h] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [h] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [h] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [h] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [h] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [h] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [h] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [z] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [z] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ut, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [ut, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [ut, t, "none", "full", "min", "max", "fit", "prose", { screen: [rl] }, rl] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [ut, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [ut, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [ut, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [ut, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", rl, tl] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", y2] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [wm] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ut] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", ad, y2] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", vi, ut] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", ut] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", ut] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [w] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [w] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...U(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", vi, tl] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", vi, ut] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: M() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ut] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", ut] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [w] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...H(), qfe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", Yfe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Xfe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [y] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [y] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [y] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [w] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...U(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [w] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: U() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...U()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [vi, ut] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [vi, tl] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [w] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [vi, tl] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", rl, Jfe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [wm] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [w] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...W(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": W() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [u] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", rl, ut] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [d] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [l] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [_] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [b] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [u] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [d] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [l] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [w] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [_] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [b] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ut] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: g() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", ut] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: g() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", ut] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [S] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [S] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [S] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [xm, ut] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [q] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [q] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [F] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [F] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ut] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ut] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": M() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": M() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": M() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": M() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": M() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": M() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": M() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": M() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": M() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": M() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": M() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": M() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": M() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": M() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": M() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": M() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": M() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": M() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", ut] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [vi, tl, y2] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, rde = /* @__PURE__ */ Dfe(tde), nde = ({ onClick: e, className: t, size: r = "md" }) => /* @__PURE__ */ K( "button", { onClick: e, className: rde( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[r], t ), children: /* @__PURE__ */ K(d3, { icon: tce }) } ); var m3 = Ob(), it = (e) => _b(e, m3), h3 = Ob(); it.write = (e) => _b(e, h3); var G0 = Ob(); it.onStart = (e) => _b(e, G0); var g3 = Ob(); it.onFrame = (e) => _b(e, g3); var b3 = Ob(); it.onFinish = (e) => _b(e, b3); var id = []; it.setTimeout = (e, t) => { const r = it.now() + t, n = () => { const a = id.findIndex((i) => i.cancel == n); ~a && id.splice(a, 1), Ul -= ~a ? 1 : 0; }, o = { time: r, handler: e, cancel: n }; return id.splice(JH(r), 0, o), Ul += 1, QH(), o; }; var JH = (e) => ~(~id.findIndex((t) => t.time > e) || ~id.length); it.cancel = (e) => { G0.delete(e), g3.delete(e), b3.delete(e), m3.delete(e), h3.delete(e); }; it.sync = (e) => { LO = !0, it.batchedUpdates(e), LO = !1; }; it.throttle = (e) => { let t; function r() { try { e(...t); } finally { t = null; } } function n(...o) { t = o, it.onStart(r); } return n.handler = e, n.cancel = () => { G0.delete(r), t = null; }, n; }; var y3 = typeof window < "u" ? window.requestAnimationFrame : ( // eslint-disable-next-line @typescript-eslint/no-empty-function () => { } ); it.use = (e) => y3 = e; it.now = typeof performance < "u" ? () => performance.now() : Date.now; it.batchedUpdates = (e) => e(); it.catch = console.error; it.frameLoop = "always"; it.advance = () => { it.frameLoop !== "demand" ? console.warn( "Cannot call the manual advancement of rafz whilst frameLoop is not set as demand" ) : eG(); }; var Gl = -1, Ul = 0, LO = !1; function _b(e, t) { LO ? (t.delete(e), e(0)) : (t.add(e), QH()); } function QH() { Gl < 0 && (Gl = 0, it.frameLoop !== "demand" && y3(ZH)); } function ode() { Gl = -1; } function ZH() { ~Gl && (y3(ZH), it.batchedUpdates(eG)); } function eG() { const e = Gl; Gl = it.now(); const t = JH(Gl); if (t && (tG(id.splice(0, t), (r) => r.handler()), Ul -= t), !Ul) { ode(); return; } G0.flush(), m3.flush(e ? Math.min(64, Gl - e) : 16.667), g3.flush(), h3.flush(), b3.flush(); } function Ob() { let e = /* @__PURE__ */ new Set(), t = e; return { add(r) { Ul += t == e && !e.has(r) ? 1 : 0, e.add(r); }, delete(r) { return Ul -= t == e && e.has(r) ? 1 : 0, e.delete(r); }, flush(r) { t.size && (e = /* @__PURE__ */ new Set(), Ul -= t.size, tG(t, (n) => n(r) && e.add(n)), Ul += e.size, t = e); } }; } function tG(e, t) { e.forEach((r) => { try { t(r); } catch (n) { it.catch(n); } }); } var ade = Object.defineProperty, ide = (e, t) => { for (var r in t) ade(e, r, { get: t[r], enumerable: !0 }); }, aa = {}; ide(aa, { assign: () => lde, colors: () => Zl, createStringInterpolator: () => x3, skipAnimation: () => nG, to: () => rG, willAdvance: () => w3 }); function zO() { } var sde = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Ae = { arr: Array.isArray, obj: (e) => !!e && e.constructor.name === "Object", fun: (e) => typeof e == "function", str: (e) => typeof e == "string", num: (e) => typeof e == "number", und: (e) => e === void 0 }; function ji(e, t) { if (Ae.arr(e)) { if (!Ae.arr(t) || e.length !== t.length) return !1; for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return !1; return !0; } return e === t; } var wt = (e, t) => e.forEach(t); function ci(e, t, r) { if (Ae.arr(e)) { for (let n = 0; n < e.length; n++) t.call(r, e[n], `${n}`); return; } for (const n in e) e.hasOwnProperty(n) && t.call(r, e[n], n); } var Rn = (e) => Ae.und(e) ? [] : Ae.arr(e) ? e : [e]; function Nh(e, t) { if (e.size) { const r = Array.from(e); e.clear(), wt(r, t); } } var ah = (e, ...t) => Nh(e, (r) => r(...t)), v3 = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), x3, rG, Zl = null, nG = !1, w3 = zO, lde = (e) => { e.to && (rG = e.to), e.now && (it.now = e.now), e.colors !== void 0 && (Zl = e.colors), e.skipAnimation != null && (nG = e.skipAnimation), e.createStringInterpolator && (x3 = e.createStringInterpolator), e.requestAnimationFrame && it.use(e.requestAnimationFrame), e.batchedUpdates && (it.batchedUpdates = e.batchedUpdates), e.willAdvance && (w3 = e.willAdvance), e.frameLoop && (it.frameLoop = e.frameLoop); }, Th = /* @__PURE__ */ new Set(), Co = [], v2 = [], $1 = 0, U0 = { get idle() { return !Th.size && !Co.length; }, /** Advance the given animation on every frame until idle. */ start(e) { $1 > e.priority ? (Th.add(e), it.onStart(cde)) : (oG(e), it(WO)); }, /** Advance all animations by the given time. */ advance: WO, /** Call this when an animation's priority changes. */ sort(e) { if ($1) it.onFrame(() => U0.sort(e)); else { const t = Co.indexOf(e); ~t && (Co.splice(t, 1), aG(e)); } }, /** * Clear all animations. For testing purposes. * * ☠️ Never call this from within the frameloop. */ clear() { Co = [], Th.clear(); } }; function cde() { Th.forEach(oG), Th.clear(), it(WO); } function oG(e) { Co.includes(e) || aG(e); } function aG(e) { Co.splice( ude(Co, (t) => t.priority > e.priority), 0, e ); } function WO(e) { const t = v2; for (let r = 0; r < Co.length; r++) { const n = Co[r]; $1 = n.priority, n.idle || (w3(n), n.advance(e), n.idle || t.push(n)); } return $1 = 0, v2 = Co, v2.length = 0, Co = t, Co.length > 0; } function ude(e, t) { const r = e.findIndex(t); return r < 0 ? e.length : r; } var fde = { transparent: 0, aliceblue: 4042850303, antiquewhite: 4209760255, aqua: 16777215, aquamarine: 2147472639, azure: 4043309055, beige: 4126530815, bisque: 4293182719, black: 255, blanchedalmond: 4293643775, blue: 65535, blueviolet: 2318131967, brown: 2771004159, burlywood: 3736635391, burntsienna: 3934150143, cadetblue: 1604231423, chartreuse: 2147418367, chocolate: 3530104575, coral: 4286533887, cornflowerblue: 1687547391, cornsilk: 4294499583, crimson: 3692313855, cyan: 16777215, darkblue: 35839, darkcyan: 9145343, darkgoldenrod: 3095792639, darkgray: 2846468607, darkgreen: 6553855, darkgrey: 2846468607, darkkhaki: 3182914559, darkmagenta: 2332068863, darkolivegreen: 1433087999, darkorange: 4287365375, darkorchid: 2570243327, darkred: 2332033279, darksalmon: 3918953215, darkseagreen: 2411499519, darkslateblue: 1211993087, darkslategray: 793726975, darkslategrey: 793726975, darkturquoise: 13554175, darkviolet: 2483082239, deeppink: 4279538687, deepskyblue: 12582911, dimgray: 1768516095, dimgrey: 1768516095, dodgerblue: 512819199, firebrick: 2988581631, floralwhite: 4294635775, forestgreen: 579543807, fuchsia: 4278255615, gainsboro: 3705462015, ghostwhite: 4177068031, gold: 4292280575, goldenrod: 3668254975, gray: 2155905279, green: 8388863, greenyellow: 2919182335, grey: 2155905279, honeydew: 4043305215, hotpink: 4285117695, indianred: 3445382399, indigo: 1258324735, ivory: 4294963455, khaki: 4041641215, lavender: 3873897215, lavenderblush: 4293981695, lawngreen: 2096890111, lemonchiffon: 4294626815, lightblue: 2916673279, lightcoral: 4034953471, lightcyan: 3774873599, lightgoldenrodyellow: 4210742015, lightgray: 3553874943, lightgreen: 2431553791, lightgrey: 3553874943, lightpink: 4290167295, lightsalmon: 4288707327, lightseagreen: 548580095, lightskyblue: 2278488831, lightslategray: 2005441023, lightslategrey: 2005441023, lightsteelblue: 2965692159, lightyellow: 4294959359, lime: 16711935, limegreen: 852308735, linen: 4210091775, magenta: 4278255615, maroon: 2147483903, mediumaquamarine: 1724754687, mediumblue: 52735, mediumorchid: 3126187007, mediumpurple: 2473647103, mediumseagreen: 1018393087, mediumslateblue: 2070474495, mediumspringgreen: 16423679, mediumturquoise: 1221709055, mediumvioletred: 3340076543, midnightblue: 421097727, mintcream: 4127193855, mistyrose: 4293190143, moccasin: 4293178879, navajowhite: 4292783615, navy: 33023, oldlace: 4260751103, olive: 2155872511, olivedrab: 1804477439, orange: 4289003775, orangered: 4282712319, orchid: 3664828159, palegoldenrod: 4008225535, palegreen: 2566625535, paleturquoise: 2951671551, palevioletred: 3681588223, papayawhip: 4293907967, peachpuff: 4292524543, peru: 3448061951, pink: 4290825215, plum: 3718307327, powderblue: 2967529215, purple: 2147516671, rebeccapurple: 1714657791, red: 4278190335, rosybrown: 3163525119, royalblue: 1097458175, saddlebrown: 2336560127, salmon: 4202722047, sandybrown: 4104413439, seagreen: 780883967, seashell: 4294307583, sienna: 2689740287, silver: 3233857791, skyblue: 2278484991, slateblue: 1784335871, slategray: 1887473919, slategrey: 1887473919, snow: 4294638335, springgreen: 16744447, steelblue: 1182971135, tan: 3535047935, teal: 8421631, thistle: 3636451583, tomato: 4284696575, turquoise: 1088475391, violet: 4001558271, wheat: 4125012991, white: 4294967295, whitesmoke: 4126537215, yellow: 4294902015, yellowgreen: 2597139199 }, ea = "[-+]?\\d*\\.?\\d+", k1 = ea + "%"; function B0(...e) { return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"; } var dde = new RegExp("rgb" + B0(ea, ea, ea)), pde = new RegExp("rgba" + B0(ea, ea, ea, ea)), mde = new RegExp("hsl" + B0(ea, k1, k1)), hde = new RegExp( "hsla" + B0(ea, k1, k1, ea) ), gde = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, bde = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, yde = /^#([0-9a-fA-F]{6})$/, vde = /^#([0-9a-fA-F]{8})$/; function xde(e) { let t; return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = yde.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : Zl && Zl[e] !== void 0 ? Zl[e] : (t = dde.exec(e)) ? (mf(t[1]) << 24 | // r mf(t[2]) << 16 | // g mf(t[3]) << 8 | // b 255) >>> // a 0 : (t = pde.exec(e)) ? (mf(t[1]) << 24 | // r mf(t[2]) << 16 | // g mf(t[3]) << 8 | // b uI(t[4])) >>> // a 0 : (t = gde.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b "ff", // a 16 ) >>> 0 : (t = vde.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = bde.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b t[4] + t[4], // a 16 ) >>> 0 : (t = mde.exec(e)) ? (lI( cI(t[1]), // h xy(t[2]), // s xy(t[3]) // l ) | 255) >>> // a 0 : (t = hde.exec(e)) ? (lI( cI(t[1]), // h xy(t[2]), // s xy(t[3]) // l ) | uI(t[4])) >>> // a 0 : null; } function x2(e, t, r) { return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e; } function lI(e, t, r) { const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = x2(o, n, e + 1 / 3), i = x2(o, n, e), s = x2(o, n, e - 1 / 3); return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8; } function mf(e) { const t = parseInt(e, 10); return t < 0 ? 0 : t > 255 ? 255 : t; } function cI(e) { return (parseFloat(e) % 360 + 360) % 360 / 360; } function uI(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255); } function xy(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 100 ? 1 : t / 100; } function fI(e) { let t = xde(e); if (t === null) return e; t = t || 0; const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255; return `rgba(${r}, ${n}, ${o}, ${a})`; } var _g = (e, t, r) => { if (Ae.fun(e)) return e; if (Ae.arr(e)) return _g({ range: e, output: t, extrapolate: r }); if (Ae.str(e.output[0])) return x3(e); const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", u = n.easing || ((c) => c); return (c) => { const d = $de(c, a); return wde( c, a[d], a[d + 1], o[d], o[d + 1], u, i, s, n.map ); }; }; function wde(e, t, r, n, o, a, i, s, u) { let c = u ? u(e) : e; if (c < t) { if (i === "identity") return c; i === "clamp" && (c = t); } if (c > r) { if (s === "identity") return c; s === "clamp" && (c = r); } return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c); } function $de(e, t) { for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r) ; return r - 1; } var kde = { linear: (e) => e }, Og = Symbol.for("FluidValue.get"), Dd = Symbol.for("FluidValue.observers"), Oo = (e) => !!(e && e[Og]), Xn = (e) => e && e[Og] ? e[Og]() : e, dI = (e) => e[Dd] || null; function _de(e, t) { e.eventObserved ? e.eventObserved(t) : e(t); } function Sg(e, t) { const r = e[Dd]; r && r.forEach((n) => { _de(n, t); }); } var iG = class { constructor(t) { if (!t && !(t = this.get)) throw Error("Unknown getter"); Ode(this, t); } }, Ode = (e, t) => sG(e, Og, t); function np(e, t) { if (e[Og]) { let r = e[Dd]; r || sG(e, Dd, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t)); } return t; } function Eg(e, t) { const r = e[Dd]; if (r && r.has(t)) { const n = r.size - 1; n ? r.delete(t) : e[Dd] = null, e.observerRemoved && e.observerRemoved(n, t); } } var sG = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Nv = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, Sde = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, pI = new RegExp(`(${Nv.source})(%|[a-z]+)`, "i"), Ede = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, Y0 = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, lG = (e) => { const [t, r] = Ade(e); if (!t || v3()) return e; const n = window.getComputedStyle(document.documentElement).getPropertyValue(t); return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && Y0.test(r) ? lG(r) : r || e; }, Ade = (e) => { const t = Y0.exec(e); if (!t) return [,]; const [, r, n] = t; return [r, n]; }, w2, Pde = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, cG = (e) => { w2 || (w2 = Zl ? ( // match color names, ignore partial matches new RegExp(`(${Object.keys(Zl).join("|")})(?!\\w)`, "g") ) : ( // never match /^\b$/ )); const t = e.output.map((o) => Xn(o).replace(Y0, lG).replace(Sde, fI).replace(w2, fI)), r = t.map((o) => o.match(Nv).map(Number)), n = r[0].map( (o, a) => r.map((i) => { if (!(a in i)) throw Error('The arity of each "output" value must be equal'); return i[a]; }) ).map( (o) => _g({ ...e, output: o }) ); return (o) => { var a; const i = !pI.test(t[0]) && ((a = t.find((u) => pI.test(u))) == null ? void 0 : a.replace(Nv, "")); let s = 0; return t[0].replace( Nv, () => `${n[s++](o)}${i || ""}` ).replace(Ede, Pde); }; }, $3 = "react-spring: ", uG = (e) => { const t = e; let r = !1; if (typeof t != "function") throw new TypeError(`${$3}once requires a function parameter`); return (...n) => { r || (t(...n), r = !0); }; }, Cde = uG(console.warn); function Nde() { Cde( `${$3}The "interpolate" function is deprecated in v9 (use "to" instead)` ); } var Tde = uG(console.warn); function Ide() { Tde( `${$3}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions` ); } function q0(e) { return Ae.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR !v3() && Y0.test(e) || e in (Zl || {})); } var Cf = v3() ? ue : pi, jde = () => { const e = ne(!1); return Cf(() => (e.current = !0, () => { e.current = !1; }), []), e; }; function fG() { const e = de()[1], t = jde(); return () => { t.current && e(Math.random()); }; } var dG = (e) => ue(e, Rde), Rde = []; function Mde(e) { const t = ne(void 0); return ue(() => { t.current = e; }), t.current; } var Ag = Symbol.for("Animated:node"), Dde = (e) => !!e && e[Ag] === e, ga = (e) => e && e[Ag], k3 = (e, t) => sde(e, Ag, t), K0 = (e) => e && e[Ag] && e[Ag].getPayload(), pG = class { constructor() { k3(this, this); } /** Get every `AnimatedValue` used by this node. */ getPayload() { return this.payload || []; } }, X0 = class mG extends pG { constructor(t) { super(), this._value = t, this.done = !0, this.durationProgress = 0, Ae.num(this._value) && (this.lastPosition = this._value); } /** @internal */ static create(t) { return new mG(t); } getPayload() { return [this]; } getValue() { return this._value; } setValue(t, r) { return Ae.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0); } reset() { const { done: t } = this; this.done = !1, Ae.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null); } }, _1 = class hG extends X0 { constructor(t) { super(0), this._string = null, this._toString = _g({ output: [t, t] }); } /** @internal */ static create(t) { return new hG(t); } getValue() { return this._string ?? (this._string = this._toString(this._value)); } setValue(t) { if (Ae.str(t)) { if (t == this._string) return !1; this._string = t, this._value = 1; } else if (super.setValue(t)) this._string = null; else return !1; return !0; } reset(t) { t && (this._toString = _g({ output: [this.getValue(), t] })), this._value = 0, super.reset(); } }, O1 = { dependencies: null }, J0 = class extends pG { constructor(t) { super(), this.source = t, this.setValue(t); } getValue(t) { const r = {}; return ci(this.source, (n, o) => { Dde(n) ? r[o] = n.getValue(t) : Oo(n) ? r[o] = Xn(n) : t || (r[o] = n); }), r; } /** Replace the raw object data */ setValue(t) { this.source = t, this.payload = this._makePayload(t); } reset() { this.payload && wt(this.payload, (t) => t.reset()); } /** Create a payload set. */ _makePayload(t) { if (t) { const r = /* @__PURE__ */ new Set(); return ci(t, this._addToPayload, r), Array.from(r); } } /** Add to a payload set. */ _addToPayload(t) { O1.dependencies && Oo(t) && O1.dependencies.add(t); const r = K0(t); r && wt(r, (n) => this.add(n)); } }, Fde = class gG extends J0 { constructor(t) { super(t); } /** @internal */ static create(t) { return new gG(t); } getValue() { return this.source.map((t) => t.getValue()); } setValue(t) { const r = this.getPayload(); return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(Lde)), !0); } }; function Lde(e) { return (q0(e) ? _1 : X0).create(e); } function VO(e) { const t = ga(e); return t ? t.constructor : Ae.arr(e) ? Fde : q0(e) ? _1 : X0; } var mI = (e, t) => { const r = ( // Function components must use "forwardRef" to avoid being // re-rendered on every animation frame. !Ae.fun(e) || e.prototype && e.prototype.isReactComponent ); return sf((n, o) => { const a = ne(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks Ne( (y) => { a.current = Vde(o, y); }, [o] ), [s, u] = Wde(n, t), c = fG(), d = () => { const y = a.current; r && !y || (y ? t.applyAnimatedValues(y, s.getValue(!0)) : !1) === !1 && c(); }, l = new zde(d, u), f = ne(void 0); Cf(() => (f.current = l, wt(u, (y) => np(y, l)), () => { f.current && (wt( f.current.deps, (y) => Eg(y, f.current) ), it.cancel(f.current.update)); })), ue(d, []), dG(() => () => { const y = f.current; wt(y.deps, (m) => Eg(m, y)); }); const p = t.getComponentProps(s.getValue()); return /* @__PURE__ */ V.createElement(e, { ...p, ref: i }); }); }, zde = class { constructor(t, r) { this.update = t, this.deps = r; } eventObserved(t) { t.type == "change" && it.write(this.update); } }; function Wde(e, t) { const r = /* @__PURE__ */ new Set(); return O1.dependencies = r, e.style && (e = { ...e, style: t.createAnimatedStyle(e.style) }), e = new J0(e), O1.dependencies = null, [e, r]; } function Vde(e, t) { return e && (Ae.fun(e) ? e(t) : e.current = t), t; } var hI = Symbol.for("AnimatedComponent"), Hde = (e, { applyAnimatedValues: t = () => !1, createAnimatedStyle: r = (o) => new J0(o), getComponentProps: n = (o) => o } = {}) => { const o = { applyAnimatedValues: t, createAnimatedStyle: r, getComponentProps: n }, a = (i) => { const s = gI(i) || "Anonymous"; return Ae.str(i) ? i = a[i] || (a[i] = mI(i, o)) : i = i[hI] || (i[hI] = mI(i, o)), i.displayName = `Animated(${s})`, i; }; return ci(e, (i, s) => { Ae.arr(e) && (s = gI(i)), a[s] = a(i); }), { animated: a }; }, gI = (e) => Ae.str(e) ? e : e && Ae.str(e.displayName) ? e.displayName : Ae.fun(e) && e.name || null; function Jn(e, ...t) { return Ae.fun(e) ? e(...t) : e; } var Ih = (e, t) => e === !0 || !!(t && e && (Ae.fun(e) ? e(t) : Rn(e).includes(t))), bG = (e, t) => Ae.obj(e) ? t && e[t] : e, yG = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, Gde = (e) => e, _3 = (e, t = Gde) => { let r = Ude; e.default && e.default !== !0 && (e = e.default, r = Object.keys(e)); const n = {}; for (const o of r) { const a = t(e[o], o); Ae.und(a) || (n[o] = a); } return n; }, Ude = [ "config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest" ], Bde = { config: 1, from: 1, to: 1, ref: 1, loop: 1, reset: 1, pause: 1, cancel: 1, reverse: 1, immediate: 1, default: 1, delay: 1, onProps: 1, onStart: 1, onChange: 1, onPause: 1, onResume: 1, onRest: 1, onResolve: 1, // Transition props items: 1, trail: 1, sort: 1, expires: 1, initial: 1, enter: 1, update: 1, leave: 1, children: 1, onDestroyed: 1, // Internal props keys: 1, callId: 1, parentId: 1 }; function Yde(e) { const t = {}; let r = 0; if (ci(e, (n, o) => { Bde[o] || (t[o] = n, r++); }), r) return t; } function O3(e) { const t = Yde(e); if (t) { const r = { to: t }; return ci(e, (n, o) => o in t || (r[o] = n)), r; } return { ...e }; } function Pg(e) { return e = Xn(e), Ae.arr(e) ? e.map(Pg) : q0(e) ? aa.createStringInterpolator({ range: [0, 1], output: [e, e] })(1) : e; } function qde(e) { for (const t in e) return !0; return !1; } function HO(e) { return Ae.fun(e) || Ae.arr(e) && Ae.obj(e[0]); } function bI(e, t) { var r; (r = e.ref) == null || r.delete(e), t == null || t.delete(e); } function Kde(e, t) { var r; t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t); } var Xde = { default: { tension: 170, friction: 26 } }, GO = { ...Xde.default, mass: 1, damping: 1, easing: kde.linear, clamp: !1 }, Jde = class { constructor() { this.velocity = 0, Object.assign(this, GO); } }; function Qde(e, t, r) { r && (r = { ...r }, yI(r, t), t = { ...r, ...t }), yI(e, t), Object.assign(e, t); for (const i in GO) e[i] == null && (e[i] = GO[i]); let { frequency: n, damping: o } = e; const { mass: a } = e; return Ae.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e; } function yI(e, t) { if (!Ae.und(t.decay)) e.duration = void 0; else { const r = !Ae.und(t.tension) || !Ae.und(t.friction); (r || !Ae.und(t.frequency) || !Ae.und(t.damping) || !Ae.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0); } } var vI = [], Zde = class { constructor() { this.changed = !1, this.values = vI, this.toValues = null, this.fromValues = vI, this.config = new Jde(), this.immediate = !1; } }; function vG(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) { return new Promise((i, s) => { let u, c, d = Ih(r.cancel ?? (n == null ? void 0 : n.cancel), t); if (d) p(); else { Ae.und(r.pause) || (o.paused = Ih(r.pause, t)); let y = n == null ? void 0 : n.pause; y !== !0 && (y = o.paused || Ih(y, t)), u = Jn(r.delay || 0, t), y ? (o.resumeQueue.add(f), a.pause()) : (a.resume(), f()); } function l() { o.resumeQueue.add(f), o.timeouts.delete(c), c.cancel(), u = c.time - it.now(); } function f() { u > 0 && !aa.skipAnimation ? (o.delayed = !0, c = it.setTimeout(p, u), o.pauseQueue.add(l), o.timeouts.add(c)) : p(); } function p() { o.delayed && (o.delayed = !1), o.pauseQueue.delete(l), o.timeouts.delete(c), e <= (o.cancelId || 0) && (d = !0); try { a.start({ ...r, callId: e, cancel: d }, i); } catch (y) { s(y); } } }); } var S3 = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? sd(e.get()) : t.every((r) => r.noop) ? xG(e.get()) : Qo( e.get(), t.every((r) => r.finished) ), xG = (e) => ({ value: e, noop: !0, finished: !0, cancelled: !1 }), Qo = (e, t, r = !1) => ({ value: e, finished: t, cancelled: r }), sd = (e) => ({ value: e, cancelled: !0, finished: !1 }); function wG(e, t, r, n) { const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: u } = r; return !a && e === s && !t.reset ? u : r.promise = (async () => { r.asyncId = o, r.asyncTo = e; const c = _3( t, (h, w) => ( // The `onRest` prop is only called when the `runAsync` promise is resolved. w === "onRest" ? void 0 : h ) ); let d, l; const f = new Promise( (h, w) => (d = h, l = w) ), p = (h) => { const w = ( // The `cancel` prop or `stop` method was used. o <= (r.cancelId || 0) && sd(n) || // The async `to` prop was replaced. o !== r.asyncId && Qo(n, !1) ); if (w) throw h.result = w, l(h), h; }, y = (h, w) => { const $ = new xI(), _ = new wI(); return (async () => { if (aa.skipAnimation) throw Cg(r), _.result = Qo(n, !1), l(_), _; p($); const S = Ae.obj(h) ? { ...h } : { ...w, to: h }; S.parentId = o, ci(c, (F, z) => { Ae.und(S[z]) && (S[z] = F); }); const b = await n.start(S); return p($), r.paused && await new Promise((F) => { r.resumeQueue.add(F); }), b; })(); }; let m; if (aa.skipAnimation) return Cg(r), Qo(n, !1); try { let h; Ae.arr(e) ? h = (async (w) => { for (const $ of w) await y($); })(e) : h = Promise.resolve(e(y, n.stop.bind(n))), await Promise.all([h.then(d), f]), m = Qo(n.get(), !0, !1); } catch (h) { if (h instanceof xI) m = h.result; else if (h instanceof wI) m = h.result; else throw h; } finally { o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? u : void 0); } return Ae.fun(i) && it.batchedUpdates(() => { i(m, n, n.item); }), m; })(); } function Cg(e, t) { Nh(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t); } var xI = class extends Error { constructor() { super( "An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise." ); } }, wI = class extends Error { constructor() { super("SkipAnimationSignal"); } }, UO = (e) => e instanceof E3, epe = 1, E3 = class extends iG { constructor() { super(...arguments), this.id = epe++, this._priority = 0; } get priority() { return this._priority; } set priority(t) { this._priority != t && (this._priority = t, this._onPriorityChange(t)); } /** Get the current value */ get() { const t = ga(this); return t && t.getValue(); } /** Create a spring that maps our value to another value */ to(...t) { return aa.to(this, t); } /** @deprecated Use the `to` method instead. */ interpolate(...t) { return Nde(), aa.to(this, t); } toJSON() { return this.get(); } observerAdded(t) { t == 1 && this._attach(); } observerRemoved(t) { t == 0 && this._detach(); } /** Called when the first child is added. */ _attach() { } /** Called when the last child is removed. */ _detach() { } /** Tell our children about our new value */ _onChange(t, r = !1) { Sg(this, { type: "change", parent: this, value: t, idle: r }); } /** Tell our children about our new priority */ _onPriorityChange(t) { this.idle || U0.sort(this), Sg(this, { type: "priority", parent: this, priority: t }); } }, Pu = Symbol.for("SpringPhase"), $G = 1, kG = 2, _G = 4, $2 = (e) => (e[Pu] & $G) > 0, nl = (e) => (e[Pu] & kG) > 0, $m = (e) => (e[Pu] & _G) > 0, $I = (e, t) => t ? e[Pu] |= kG | $G : e[Pu] &= -3, kI = (e, t) => t ? e[Pu] |= _G : e[Pu] &= -5, tpe = class extends E3 { constructor(t, r) { if (super(), this.animation = new Zde(), this.defaultProps = {}, this._state = { paused: !1, delayed: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Ae.und(t) || !Ae.und(r)) { const n = Ae.obj(t) ? { ...t } : { ...r, from: t }; Ae.und(n.default) && (n.default = !0), this.start(n); } } /** Equals true when not advancing on each frame. */ get idle() { return !(nl(this) || this._state.asyncTo) || $m(this); } get goal() { return Xn(this.animation.to); } get velocity() { const t = ga(this); return t instanceof X0 ? t.lastVelocity || 0 : t.getPayload().map((r) => r.lastVelocity || 0); } /** * When true, this value has been animated at least once. */ get hasAnimated() { return $2(this); } /** * When true, this value has an unfinished animation, * which is either active or paused. */ get isAnimating() { return nl(this); } /** * When true, all current and future animations are paused. */ get isPaused() { return $m(this); } /** * * */ get isDelayed() { return this._state.delayed; } /** Advance the current animation by a number of milliseconds */ advance(t) { let r = !0, n = !1; const o = this.animation; let { toValues: a } = o; const { config: i } = o, s = K0(o.to); !s && Oo(o.to) && (a = Rn(Xn(o.to))), o.values.forEach((d, l) => { if (d.done) return; const f = ( // Animated strings always go from 0 to 1. d.constructor == _1 ? 1 : s ? s[l].lastPosition : a[l] ); let p = o.immediate, y = f; if (!p) { if (y = d.lastPosition, i.tension <= 0) { d.done = !0; return; } let m = d.elapsedTime += t; const h = o.fromValues[l], w = d.v0 != null ? d.v0 : d.v0 = Ae.arr(i.velocity) ? i.velocity[l] : i.velocity; let $; const _ = i.precision || (h == f ? 5e-3 : Math.min(1, Math.abs(f - h) * 1e-3)); if (Ae.und(i.duration)) if (i.decay) { const S = i.decay === !0 ? 0.998 : i.decay, b = Math.exp(-(1 - S) * m); y = h + w / (1 - S) * (1 - b), p = Math.abs(d.lastPosition - y) <= _, $ = w * b; } else { $ = d.lastVelocity == null ? w : d.lastVelocity; const S = i.restVelocity || _ / 10, b = i.clamp ? 0 : i.bounce, F = !Ae.und(b), z = h == f ? d.v0 > 0 : h < f; let q, Y = !1; const B = 1, Z = Math.ceil(t / B); for (let M = 0; M < Z && (q = Math.abs($) > S, !(!q && (p = Math.abs(f - y) <= _, p))); ++M) { F && (Y = y == f || y > f == z, Y && ($ = -$ * b, y = f)); const te = -i.tension * 1e-6 * (y - f), G = -i.friction * 1e-3 * $, H = (te + G) / i.mass; $ = $ + H * B, y = y + $ * B; } } else { let S = 1; i.duration > 0 && (this._memoizedDuration !== i.duration && (this._memoizedDuration = i.duration, d.durationProgress > 0 && (d.elapsedTime = i.duration * d.durationProgress, m = d.elapsedTime += t)), S = (i.progress || 0) + m / this._memoizedDuration, S = S > 1 ? 1 : S < 0 ? 0 : S, d.durationProgress = S), y = h + i.easing(S) * (f - h), $ = (y - d.lastPosition) / t, p = S == 1; } d.lastVelocity = $, Number.isNaN(y) && (console.warn("Got NaN while animating:", this), p = !0); } s && !s[l].done && (p = !1), p ? d.done = !0 : r = !1, d.setValue(y, i.round) && (n = !0); }); const u = ga(this), c = u.getValue(); if (r) { const d = Xn(o.to); (c !== d || n) && !i.decay ? (u.setValue(d), this._onChange(d)) : n && i.decay && this._onChange(c), this._stop(); } else n && this._onChange(c); } /** Set the current value, while stopping the current animation */ set(t) { return it.batchedUpdates(() => { this._stop(), this._focus(t), this._set(t); }), this; } /** * Freeze the active animation in time, as well as any updates merged * before `resume` is called. */ pause() { this._update({ pause: !0 }); } /** Resume the animation if paused. */ resume() { this._update({ pause: !1 }); } /** Skip to the end of the current animation. */ finish() { if (nl(this)) { const { to: t, config: r } = this.animation; it.batchedUpdates(() => { this._onStart(), r.decay || this._set(t, !1), this._stop(); }); } return this; } /** Push props into the pending queue. */ update(t) { return (this.queue || (this.queue = [])).push(t), this; } start(t, r) { let n; return Ae.und(t) ? (n = this.queue || [], this.queue = []) : n = [Ae.obj(t) ? t : { ...r, to: t }], Promise.all( n.map((o) => this._update(o)) ).then((o) => S3(this, o)); } /** * Stop the current animation, and cancel any delayed updates. * * Pass `true` to call `onRest` with `cancelled: true`. */ stop(t) { const { to: r } = this.animation; return this._focus(this.get()), Cg(this._state, t && this._lastCallId), it.batchedUpdates(() => this._stop(r, t)), this; } /** Restart the animation. */ reset() { this._update({ reset: !0 }); } /** @internal */ eventObserved(t) { t.type == "change" ? this._start() : t.type == "priority" && (this.priority = t.priority + 1); } /** * Parse the `to` and `from` range from the given `props` object. * * This also ensures the initial value is available to animated components * during the render phase. */ _prepareNode(t) { const r = this.key || ""; let { to: n, from: o } = t; n = Ae.obj(n) ? n[r] : n, (n == null || HO(n)) && (n = void 0), o = Ae.obj(o) ? o[r] : o, o == null && (o = void 0); const a = { to: n, from: o }; return $2(this) || (t.reverse && ([n, o] = [o, n]), o = Xn(o), Ae.und(o) ? ga(this) || this._set(n) : this._set(o)), a; } /** Every update is processed by this method before merging. */ _update({ ...t }, r) { const { key: n, defaultProps: o } = this; t.default && Object.assign( o, _3( t, (s, u) => /^on/.test(u) ? bG(s, n) : s ) ), OI(this, t, "onProps"), _m(this, "onProps", t, this); const a = this._prepareNode(t); if (Object.isFrozen(this)) throw Error( "Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?" ); const i = this._state; return vG(++this._lastCallId, { key: n, props: t, defaultProps: o, state: i, actions: { pause: () => { $m(this) || (kI(this, !0), ah(i.pauseQueue), _m( this, "onPause", Qo(this, km(this, this.animation.to)), this )); }, resume: () => { $m(this) && (kI(this, !1), nl(this) && this._resume(), ah(i.resumeQueue), _m( this, "onResume", Qo(this, km(this, this.animation.to)), this )); }, start: this._merge.bind(this, a) } }).then((s) => { if (t.loop && s.finished && !(r && s.noop)) { const u = OG(t); if (u) return this._update(u, !0); } return s; }); } /** Merge props into the current animation */ _merge(t, r, n) { if (r.cancel) return this.stop(!0), n(sd(this)); const o = !Ae.und(t.to), a = !Ae.und(t.from); if (o || a) if (r.callId > this._lastToId) this._lastToId = r.callId; else return n(sd(this)); const { key: i, defaultProps: s, animation: u } = this, { to: c, from: d } = u; let { to: l = c, from: f = d } = t; a && !o && (!r.default || Ae.und(l)) && (l = f), r.reverse && ([l, f] = [f, l]); const p = !ji(f, d); p && (u.from = f), f = Xn(f); const y = !ji(l, c); y && this._focus(l); const m = HO(r.to), { config: h } = u, { decay: w, velocity: $ } = h; (o || a) && (h.velocity = 0), r.config && !m && Qde( h, Jn(r.config, i), // Avoid calling the same "config" prop twice. r.config !== s.config ? Jn(s.config, i) : void 0 ); let _ = ga(this); if (!_ || Ae.und(l)) return n(Qo(this, !0)); const S = ( // When `reset` is undefined, the `from` prop implies `reset: true`, // except for declarative updates. When `reset` is defined, there // must exist a value to animate from. Ae.und(r.reset) ? a && !r.default : !Ae.und(f) && Ih(r.reset, i) ), b = S ? f : this.get(), F = Pg(l), z = Ae.num(F) || Ae.arr(F) || q0(F), q = !m && (!z || Ih(s.immediate || r.immediate, i)); if (y) { const M = VO(l); if (M !== _.constructor) if (q) _ = this._set(F); else throw Error( `Cannot animate between ${_.constructor.name} and ${M.name}, as the "to" prop suggests` ); } const Y = _.constructor; let B = Oo(l), Z = !1; if (!B) { const M = S || !$2(this) && p; (y || M) && (Z = ji(Pg(b), F), B = !Z), (!ji(u.immediate, q) && !q || !ji(h.decay, w) || !ji(h.velocity, $)) && (B = !0); } if (Z && nl(this) && (u.changed && !S ? B = !0 : B || this._stop(c)), !m && ((B || Oo(c)) && (u.values = _.getPayload(), u.toValues = Oo(l) ? null : Y == _1 ? [1] : Rn(F)), u.immediate != q && (u.immediate = q, !q && !S && this._set(c)), B)) { const { onRest: M } = u; wt(rpe, (G) => OI(this, r, G)); const te = Qo(this, km(this, c)); ah(this._pendingCalls, te), this._pendingCalls.add(n), u.changed && it.batchedUpdates(() => { var G; u.changed = !S, M == null || M(te, this), S ? Jn(s.onRest, te) : (G = u.onStart) == null || G.call(u, te, this); }); } S && this._set(b), m ? n(wG(r.to, r, this._state, this)) : B ? this._start() : nl(this) && !y ? this._pendingCalls.add(n) : n(xG(b)); } /** Update the `animation.to` value, which might be a `FluidValue` */ _focus(t) { const r = this.animation; t !== r.to && (dI(this) && this._detach(), r.to = t, dI(this) && this._attach()); } _attach() { let t = 0; const { to: r } = this.animation; Oo(r) && (np(r, this), UO(r) && (t = r.priority + 1)), this.priority = t; } _detach() { const { to: t } = this.animation; Oo(t) && Eg(t, this); } /** * Update the current value from outside the frameloop, * and return the `Animated` node. */ _set(t, r = !0) { const n = Xn(t); if (!Ae.und(n)) { const o = ga(this); if (!o || !ji(n, o.getValue())) { const a = VO(n); !o || o.constructor != a ? k3(this, a.create(n)) : o.setValue(n), o && it.batchedUpdates(() => { this._onChange(n, r); }); } } return ga(this); } _onStart() { const t = this.animation; t.changed || (t.changed = !0, _m( this, "onStart", Qo(this, km(this, t.to)), this )); } _onChange(t, r) { r || (this._onStart(), Jn(this.animation.onChange, t, this)), Jn(this.defaultProps.onChange, t, this), super._onChange(t, r); } // This method resets the animation state (even if already animating) to // ensure the latest from/to range is used, and it also ensures this spring // is added to the frameloop. _start() { const t = this.animation; ga(this).reset(Xn(t.to)), t.immediate || (t.fromValues = t.values.map((r) => r.lastPosition)), nl(this) || ($I(this, !0), $m(this) || this._resume()); } _resume() { aa.skipAnimation ? this.finish() : U0.start(this); } /** * Exit the frameloop and notify `onRest` listeners. * * Always wrap `_stop` calls with `batchedUpdates`. */ _stop(t, r) { if (nl(this)) { $I(this, !1); const n = this.animation; wt(n.values, (a) => { a.done = !0; }), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), Sg(this, { type: "idle", parent: this }); const o = r ? sd(this.get()) : Qo(this.get(), km(this, t ?? n.to)); ah(this._pendingCalls, o), n.changed && (n.changed = !1, _m(this, "onRest", o, this)); } } }; function km(e, t) { const r = Pg(t), n = Pg(e.get()); return ji(n, r); } function OG(e, t = e.loop, r = e.to) { const n = Jn(t); if (n) { const o = n !== !0 && O3(n), a = (o || e).reverse, i = !o || o.reset; return S1({ ...e, loop: t, // Avoid updating default props when looping. default: !1, // Never loop the `pause` prop. pause: void 0, // For the "reverse" prop to loop as expected, the "to" prop // must be undefined. The "reverse" prop is ignored when the // "to" prop is an array or function. to: !a || HO(r) ? r : void 0, // Ignore the "from" prop except on reset. from: i ? e.from : void 0, reset: i, // The "loop" prop can return a "useSpring" props object to // override any of the original props. ...o }); } } function S1(e) { const { to: t, from: r } = e = O3(e), n = /* @__PURE__ */ new Set(); return Ae.obj(t) && _I(t, n), Ae.obj(r) && _I(r, n), e.keys = n.size ? Array.from(n) : null, e; } function _I(e, t) { ci(e, (r, n) => r != null && t.add(n)); } var rpe = [ "onStart", "onRest", "onChange", "onPause", "onResume" ]; function OI(e, t, r) { e.animation[r] = t[r] !== yG(t, r) ? bG(t[r], e.key) : void 0; } function _m(e, t, ...r) { var n, o, a, i; (o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r); } var npe = ["onStart", "onChange", "onRest"], ope = 1, ape = class { constructor(t, r) { this.id = ope++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = { paused: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._events = { onStart: /* @__PURE__ */ new Map(), onChange: /* @__PURE__ */ new Map(), onRest: /* @__PURE__ */ new Map() }, this._onFrame = this._onFrame.bind(this), r && (this._flush = r), t && this.start({ default: !0, ...t }); } /** * Equals `true` when no spring values are in the frameloop, and * no async animation is currently active. */ get idle() { return !this._state.asyncTo && Object.values(this.springs).every((t) => t.idle && !t.isDelayed && !t.isPaused); } get item() { return this._item; } set item(t) { this._item = t; } /** Get the current values of our springs */ get() { const t = {}; return this.each((r, n) => t[n] = r.get()), t; } /** Set the current values without animating. */ set(t) { for (const r in t) { const n = t[r]; Ae.und(n) || this.springs[r].set(n); } } /** Push an update onto the queue of each value. */ update(t) { return t && this.queue.push(S1(t)), this; } /** * Start the queued animations for every spring, and resolve the returned * promise once all queued animations have finished or been cancelled. * * When you pass a queue (instead of nothing), that queue is used instead of * the queued animations added with the `update` method, which are left alone. */ start(t) { let { queue: r } = this; return t ? r = Rn(t).map(S1) : this.queue = [], this._flush ? this._flush(this, r) : (PG(this, r), ipe(this, r)); } /** @internal */ stop(t, r) { if (t !== !!t && (r = t), r) { const n = this.springs; wt(Rn(r), (o) => n[o].stop(!!t)); } else Cg(this._state, this._lastAsyncId), this.each((n) => n.stop(!!t)); return this; } /** Freeze the active animation in time */ pause(t) { if (Ae.und(t)) this.start({ pause: !0 }); else { const r = this.springs; wt(Rn(t), (n) => r[n].pause()); } return this; } /** Resume the animation if paused. */ resume(t) { if (Ae.und(t)) this.start({ pause: !1 }); else { const r = this.springs; wt(Rn(t), (n) => r[n].resume()); } return this; } /** Call a function once per spring value */ each(t) { ci(this.springs, t); } /** @internal Called at the end of every animation frame */ _onFrame() { const { onStart: t, onChange: r, onRest: n } = this._events, o = this._active.size > 0, a = this._changed.size > 0; (o && !this._started || a && !this._started) && (this._started = !0, Nh(t, ([u, c]) => { c.value = this.get(), u(c, this, this._item); })); const i = !o && this._started, s = a || i && n.size ? this.get() : null; a && r.size && Nh(r, ([u, c]) => { c.value = s, u(c, this, this._item); }), i && (this._started = !1, Nh(n, ([u, c]) => { c.value = s, u(c, this, this._item); })); } /** @internal */ eventObserved(t) { if (t.type == "change") this._changed.add(t.parent), t.idle || this._active.add(t.parent); else if (t.type == "idle") this._active.delete(t.parent); else return; it.onFrame(this._onFrame); } }; function ipe(e, t) { return Promise.all(t.map((r) => SG(e, r))).then( (r) => S3(e, r) ); } async function SG(e, t, r) { const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: u } = t, c = Ae.obj(t.default) && t.default; i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null); const d = Ae.arr(o) || Ae.fun(o) ? o : void 0; d ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : wt(npe, (m) => { const h = t[m]; if (Ae.fun(h)) { const w = e._events[m]; t[m] = ({ finished: $, cancelled: _ }) => { const S = w.get(h); S ? ($ || (S.finished = !1), _ && (S.cancelled = !0)) : w.set(h, { value: null, finished: $ || !1, cancelled: _ || !1 }); }, c && (c[m] = t[m]); } }); const l = e._state; t.pause === !l.paused ? (l.paused = t.pause, ah(t.pause ? l.pauseQueue : l.resumeQueue)) : l.paused && (t.pause = !0); const f = (n || Object.keys(e.springs)).map( (m) => e.springs[m].start(t) ), p = t.cancel === !0 || yG(t, "cancel") === !0; (d || p && l.asyncId) && f.push( vG(++e._lastAsyncId, { props: t, state: l, actions: { pause: zO, resume: zO, start(m, h) { p ? (Cg(l, e._lastAsyncId), h(sd(e))) : (m.onRest = s, h( wG( d, m, l, e ) )); } } }) ), l.paused && await new Promise((m) => { l.resumeQueue.add(m); }); const y = S3(e, await Promise.all(f)); if (i && y.finished && !(r && y.noop)) { const m = OG(t, i, o); if (m) return PG(e, [m]), SG(e, m, !0); } return u && it.batchedUpdates(() => u(y, e, e.item)), y; } function spe(e, t) { const r = { ...e.springs }; return t && wt(Rn(t), (n) => { Ae.und(n.keys) && (n = S1(n)), Ae.obj(n.to) || (n = { ...n, to: void 0 }), AG(r, n, (o) => EG(o)); }), lpe(e, r), r; } function lpe(e, t) { ci(t, (r, n) => { e.springs[n] || (e.springs[n] = r, np(r, e)); }); } function EG(e, t) { const r = new tpe(); return r.key = e, t && np(r, t), r; } function AG(e, t, r) { t.keys && wt(t.keys, (n) => { (e[n] || (e[n] = r(n)))._prepareNode(t); }); } function PG(e, t) { wt(t, (r) => { AG(e.springs, r, (n) => EG(n, e)); }); } var cpe = V.createContext({ pause: !1, immediate: !1 }), upe = () => { const e = [], t = function(n) { Ide(); const o = []; return wt(e, (a, i) => { if (Ae.und(n)) o.push(a.start()); else { const s = r(n, a, i); s && o.push(a.start(s)); } }), o; }; t.current = e, t.add = function(n) { e.includes(n) || e.push(n); }, t.delete = function(n) { const o = e.indexOf(n); ~o && e.splice(o, 1); }, t.pause = function() { return wt(e, (n) => n.pause(...arguments)), this; }, t.resume = function() { return wt(e, (n) => n.resume(...arguments)), this; }, t.set = function(n) { wt(e, (o, a) => { const i = Ae.fun(n) ? n(a, o) : n; i && o.set(i); }); }, t.start = function(n) { const o = []; return wt(e, (a, i) => { if (Ae.und(n)) o.push(a.start()); else { const s = this._getProps(n, a, i); s && o.push(a.start(s)); } }), o; }, t.stop = function() { return wt(e, (n) => n.stop(...arguments)), this; }, t.update = function(n) { return wt(e, (o, a) => o.update(this._getProps(n, o, a))), this; }; const r = function(n, o, a) { return Ae.fun(n) ? n(a, o) : n; }; return t._getProps = r, t; }; function SI(e, t, r) { const n = Ae.fun(t) && t, { reset: o, sort: a, trail: i = 0, expires: s = !0, exitBeforeEnter: u = !1, onDestroyed: c, ref: d, config: l } = n ? n() : t, f = Ie( () => n || arguments.length == 3 ? upe() : void 0, [] ), p = Rn(e), y = [], m = ne(null), h = o ? null : m.current; Cf(() => { m.current = y; }), dG(() => (wt(y, (G) => { f == null || f.add(G.ctrl), G.ctrl.ref = f; }), () => { wt(m.current, (G) => { G.expired && clearTimeout(G.expirationId), bI(G.ctrl, f), G.ctrl.stop(!0); }); })); const w = dpe(p, n ? n() : t, h), $ = o && m.current || []; Cf( () => wt($, ({ ctrl: G, item: H, key: U }) => { bI(G, f), Jn(c, H, U); }) ); const _ = []; if (h && wt(h, (G, H) => { G.expired ? (clearTimeout(G.expirationId), $.push(G)) : (H = _[H] = w.indexOf(G.key), ~H && (y[H] = G)); }), wt(p, (G, H) => { y[H] || (y[H] = { key: w[H], item: G, phase: "mount", ctrl: new ape() }, y[H].ctrl.item = G); }), _.length) { let G = -1; const { leave: H } = n ? n() : t; wt(_, (U, W) => { const X = h[W]; ~U ? (G = y.indexOf(X), y[G] = { ...X, item: p[U] }) : H && y.splice(++G, 0, X); }); } Ae.fun(a) && y.sort((G, H) => a(G.item, H.item)); let S = -i; const b = fG(), F = _3(t), z = /* @__PURE__ */ new Map(), q = ne(/* @__PURE__ */ new Map()), Y = ne(!1); wt(y, (G, H) => { const U = G.key, W = G.phase, X = n ? n() : t; let ee, v; const g = Jn(X.delay || 0, U); if (W == "mount") ee = X.enter, v = "enter"; else { const T = w.indexOf(U) < 0; if (W != "leave") if (T) ee = X.leave, v = "leave"; else if (ee = X.update) v = "update"; else return; else if (!T) ee = X.enter, v = "enter"; else return; } if (ee = Jn(ee, G.item, H), ee = Ae.obj(ee) ? O3(ee) : { to: ee }, !ee.config) { const T = l || F.config; ee.config = Jn(T, G.item, H, v); } S += i; const O = { ...F, // we need to add our props.delay value you here. delay: g + S, ref: d, immediate: X.immediate, // This prevents implied resets. reset: !1, // Merge any phase-specific props. ...ee }; if (v == "enter" && Ae.und(O.from)) { const T = n ? n() : t, N = Ae.und(T.initial) || h ? T.from : T.initial; O.from = Jn(N, G.item, H); } const { onResolve: P } = O; O.onResolve = (T) => { Jn(P, T); const N = m.current, C = N.find((I) => I.key === U); if (C && !(T.cancelled && C.phase != "update") && C.ctrl.idle) { const I = N.every((j) => j.ctrl.idle); if (C.phase == "leave") { const j = Jn(s, C.item); if (j !== !1) { const R = j === !0 ? 0 : j; if (C.expired = !0, !I && R > 0) { R <= 2147483647 && (C.expirationId = setTimeout(b, R)); return; } } } I && N.some((j) => j.expired) && (q.current.delete(C), u && (Y.current = !0), b()); } }; const A = spe(G.ctrl, O); v === "leave" && u ? q.current.set(G, { phase: v, springs: A, payload: O }) : z.set(G, { phase: v, springs: A, payload: O }); }); const B = nt(cpe), Z = Mde(B), M = B !== Z && qde(B); Cf(() => { M && wt(y, (G) => { G.ctrl.start({ default: B }); }); }, [B]), wt(z, (G, H) => { if (q.current.size) { const U = y.findIndex((W) => W.key === H.key); y.splice(U, 1); } }), Cf( () => { wt( q.current.size ? q.current : z, ({ phase: G, payload: H }, U) => { const { ctrl: W } = U; U.phase = G, f == null || f.add(W), M && G == "enter" && W.start({ default: B }), H && (Kde(W, H.ref), (W.ref || f) && !Y.current ? W.update(H) : (W.start(H), Y.current && (Y.current = !1))); } ); }, o ? void 0 : r ); const te = (G) => /* @__PURE__ */ V.createElement(V.Fragment, null, y.map((H, U) => { const { springs: W } = z.get(H) || H.ctrl, X = G({ ...W }, H.item, H, U); return X && X.type ? /* @__PURE__ */ V.createElement( X.type, { ...X.props, key: Ae.str(H.key) || Ae.num(H.key) ? H.key : H.ctrl.id, ref: X.ref } ) : X; })); return f ? [te, f] : te; } var fpe = 1; function dpe(e, { key: t, keys: r = t }, n) { if (r === null) { const o = /* @__PURE__ */ new Set(); return e.map((a) => { const i = n && n.find( (s) => s.item === a && s.phase !== "leave" && !o.has(s) ); return i ? (o.add(i), i.key) : fpe++; }); } return Ae.und(r) ? e : Ae.fun(r) ? e.map(r) : Rn(r); } var ppe = class extends E3 { constructor(t, r) { super(), this.source = t, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = _g(...r); const n = this._get(), o = VO(n); k3(this, o.create(n)); } advance(t) { const r = this._get(), n = this.get(); ji(r, n) || (ga(this).setValue(r), this._onChange(r, this.idle)), !this.idle && EI(this._active) && k2(this); } _get() { const t = Ae.arr(this.source) ? this.source.map(Xn) : Rn(Xn(this.source)); return this.calc(...t); } _start() { this.idle && !EI(this._active) && (this.idle = !1, wt(K0(this), (t) => { t.done = !1; }), aa.skipAnimation ? (it.batchedUpdates(() => this.advance()), k2(this)) : U0.start(this)); } // Observe our sources only when we're observed. _attach() { let t = 1; wt(Rn(this.source), (r) => { Oo(r) && np(r, this), UO(r) && (r.idle || this._active.add(r), t = Math.max(t, r.priority + 1)); }), this.priority = t, this._start(); } // Stop observing our sources once we have no observers. _detach() { wt(Rn(this.source), (t) => { Oo(t) && Eg(t, this); }), this._active.clear(), k2(this); } /** @internal */ eventObserved(t) { t.type == "change" ? t.idle ? this.advance() : (this._active.add(t.parent), this._start()) : t.type == "idle" ? this._active.delete(t.parent) : t.type == "priority" && (this.priority = Rn(this.source).reduce( (r, n) => Math.max(r, (UO(n) ? n.priority : 0) + 1), 0 )); } }; function mpe(e) { return e.idle !== !1; } function EI(e) { return !e.size || Array.from(e).every(mpe); } function k2(e) { e.idle || (e.idle = !0, wt(K0(e), (t) => { t.done = !0; }), Sg(e, { type: "idle", parent: e })); } aa.assign({ createStringInterpolator: cG, to: (e, t) => new ppe(e, t) }); var CG = /^--/; function hpe(e, t) { return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !CG.test(e) && !(jh.hasOwnProperty(e) && jh[e]) ? t + "px" : ("" + t).trim(); } var AI = {}; function gpe(e, t) { if (!e.nodeType || !e.setAttribute) return !1; const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", { className: n, style: o, children: a, scrollTop: i, scrollLeft: s, viewBox: u, ...c } = t, d = Object.values(c), l = Object.keys(c).map( (f) => r || e.hasAttribute(f) ? f : AI[f] || (AI[f] = f.replace( /([A-Z])/g, // Attributes are written in dash case (p) => "-" + p.toLowerCase() )) ); a !== void 0 && (e.textContent = a); for (const f in o) if (o.hasOwnProperty(f)) { const p = hpe(f, o[f]); CG.test(f) ? e.style.setProperty(f, p) : e.style[f] = p; } l.forEach((f, p) => { e.setAttribute(f, d[p]); }), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), u !== void 0 && e.setAttribute("viewBox", u); } var jh = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, // SVG-related properties fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, bpe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), ype = ["Webkit", "Ms", "Moz", "O"]; jh = Object.keys(jh).reduce((e, t) => (ype.forEach((r) => e[bpe(r, t)] = e[t]), e), jh); var vpe = /^(matrix|translate|scale|rotate|skew)/, xpe = /^(translate)/, wpe = /^(rotate|skew)/, _2 = (e, t) => Ae.num(e) && e !== 0 ? e + t : e, Tv = (e, t) => Ae.arr(e) ? e.every((r) => Tv(r, t)) : Ae.num(e) ? e === t : parseFloat(e) === t, $pe = class extends J0 { constructor({ x: t, y: r, z: n, ...o }) { const a = [], i = []; (t || r || n) && (a.push([t || 0, r || 0, n || 0]), i.push((s) => [ `translate3d(${s.map((u) => _2(u, "px")).join(",")})`, // prettier-ignore Tv(s, 0) ])), ci(o, (s, u) => { if (u === "transform") a.push([s || ""]), i.push((c) => [c, c === ""]); else if (vpe.test(u)) { if (delete o[u], Ae.und(s)) return; const c = xpe.test(u) ? "px" : wpe.test(u) ? "deg" : ""; a.push(Rn(s)), i.push( u === "rotate3d" ? ([d, l, f, p]) => [ `rotate3d(${d},${l},${f},${_2(p, c)})`, Tv(p, 0) ] : (d) => [ `${u}(${d.map((l) => _2(l, c)).join(",")})`, Tv(d, u.startsWith("scale") ? 1 : 0) ] ); } }), a.length && (o.transform = new kpe(a, i)), super(o); } }, kpe = class extends iG { constructor(t, r) { super(), this.inputs = t, this.transforms = r, this._value = null; } get() { return this._value || (this._value = this._get()); } _get() { let t = "", r = !0; return wt(this.inputs, (n, o) => { const a = Xn(n[0]), [i, s] = this.transforms[o]( Ae.arr(a) ? a : n.map(Xn) ); t += " " + i, r = r && s; }), r ? "none" : t; } // Start observing our inputs once we have an observer. observerAdded(t) { t == 1 && wt( this.inputs, (r) => wt( r, (n) => Oo(n) && np(n, this) ) ); } // Stop observing our inputs once we have no observers. observerRemoved(t) { t == 0 && wt( this.inputs, (r) => wt( r, (n) => Oo(n) && Eg(n, this) ) ); } eventObserved(t) { t.type == "change" && (this._value = null), Sg(this, t); } }, _pe = [ "a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", // SVG "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan" ]; aa.assign({ batchedUpdates: Of, createStringInterpolator: cG, colors: fde }); var Ope = Hde(_pe, { applyAnimatedValues: gpe, createAnimatedStyle: (e) => new $pe(e), // eslint-disable-next-line @typescript-eslint/no-unused-vars getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r }), NG = Ope.animated; /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const Spe = { prefix: "fas", iconName: "down-left-and-up-right-to-center", icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"] }, Epe = { prefix: "fas", iconName: "up-right-and-down-left-from-center", icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"] }; var BO = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(BO || {}), Ape = Object.freeze({ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss position: "absolute", border: 0, width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", wordWrap: "normal" }), Ppe = "VisuallyHidden", TG = V.forwardRef( (e, t) => /* @__PURE__ */ K( mi.span, { ...e, ref: t, style: { ...Ape, ...e.style } } ) ); TG.displayName = Ppe; var PI = TG; const Ng = [], Cpe = (e) => { Ng.push(e); }, Npe = (e) => { const t = Ng.findIndex((r) => r.id === e); t !== -1 && Ng.splice(t, 1); }, Tpe = (e, t) => { const r = Ng.find((n) => n.id === e); r && Object.assign(r, t); }, Ipe = () => Ng.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0]; typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => { if (e.key !== "Escape" && e.key !== "Esc") return; const t = Ipe(); t && (e.preventDefault(), t.onClose()); })); let Om = 70; const jpe = ({ styles: e, backdropClassName: t, disableHotkeyInput: r, enableHotkeyInput: n }) => (ue(() => (r(BO.DIALOGUE), () => { n(BO.DIALOGUE); }), [r, n]), /* @__PURE__ */ K(Qae, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ K( NG.div, { className: Sh("fixed inset-0 z-[69]", t), style: { opacity: e.opacity, pointerEvents: "none", background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)" } } ) })), YO = ({ children: e }) => /* @__PURE__ */ K(rn, { children: e }), IG = zt( void 0 ), A3 = ({ className: e, size: t = "md" }) => { const r = nt(IG); if (!r) return null; const { expanded: n, toggleExpanded: o } = r; return /* @__PURE__ */ K( "button", { type: "button", "aria-label": n ? "Restore modal size" : "Expand modal", onClick: o, className: Sh( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[t], "relative z-[70]", e ), children: /* @__PURE__ */ K( wg, { icon: n ? Spe : Epe } ) } ); }; A3.displayName = "ModalExpandButton"; const Sb = ({ isOpen: e, title: t, titleIcon: r, onTitleIconClick: n, onClose: o, enableHotkeyInput: a = () => { }, disableHotkeyInput: i = () => { }, className: s, backdropClassName: u, width: c, children: d, childPadding: l = !0, titleIconClassName: f, showClose: p = !0, draggable: y = !1, resizable: m = !1, initialPosition: h, closeOnOutsideClick: w = !0, closeOnEsc: $ = !0, allowBackgroundInteraction: _ = !1, expandable: S = !1, accessibleTitle: b, accessibleDescription: F }) => { const [z, q] = de( null ), [Y, B] = de(!1), [Z, M] = de(!1), te = ne({ x: 0, y: 0 }), G = ne({ x: 0, y: 0 }), H = ne(null), U = ne(null), W = ne(null), [X, ee] = de(() => ++Om), [v, g] = de(!1), O = ne(null), P = SI(e, { from: { opacity: 0, transform: "scale(0.95) translateY(-10px)" }, enter: { opacity: 1, transform: "scale(1) translateY(0px)" }, leave: { opacity: 0, transform: "scale(0.95) translateY(10px)" }, config: { tension: 300, friction: 30, mass: 0.8 } }), A = SI(e, { from: { opacity: 0 }, enter: { opacity: 1 }, leave: { opacity: 0 }, config: { tension: 280, friction: 25 } }); ue(() => { v ? (U.current && (O.current = { ...U.current }), q({ x: 0, y: 0 }), U.current = { x: 0, y: 0 }, H.current && (H.current.style.left = "0px", H.current.style.top = "0px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : O.current && (q({ ...O.current }), U.current = { ...O.current }, H.current && (H.current.style.left = O.current.x + "px", H.current.style.top = O.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))); }, [v, X]); const T = () => g((ce) => !ce); ue(() => { e ? W.current ? (q({ ...W.current }), U.current = { ...W.current }, H.current && (H.current.style.left = W.current.x + "px", H.current.style.top = W.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : h && (q({ ...h }), U.current = { ...h }, H.current && (H.current.style.left = h.x + "px", H.current.style.top = h.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : U.current && (W.current = { ...U.current }); }, [e, X]), ue(() => { if (!Y) return; let ce = null; const le = (ot) => { if (!H.current) return; const kt = ot.clientX - G.current.x, De = ot.clientY - G.current.y, Ze = te.current.x + kt, rt = te.current.y + De, Wt = H.current, { width: lt, height: $r } = Wt.getBoundingClientRect(), pn = window.innerWidth, ro = window.innerHeight, kr = 450, vo = -450, Mo = 0, Do = pn - lt + kr, yr = ro - $r + kr, Tn = Math.max(vo, Math.min(Ze, Do)), Fo = Math.max(Mo, Math.min(rt, yr)); U.current = { x: Tn, y: Fo }, H.current && (ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => { H.current && U.current && (H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)); })); }, fe = () => { B(!1), U.current && q({ ...U.current }); }; return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => { window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce); }; }, [Y, X]); const N = (ce) => { var le, fe; if (!H.current) return; v && g(!1), ce.preventDefault(), ce.stopPropagation(); const ot = H.current, { width: kt, height: De } = ot.getBoundingClientRect(), Ze = window.innerWidth, rt = window.innerHeight; let Wt = ((le = U.current) == null ? void 0 : le.x) ?? (z == null ? void 0 : z.x), lt = ((fe = U.current) == null ? void 0 : fe.y) ?? (z == null ? void 0 : z.y); (Wt === void 0 || lt === void 0) && (h ? (Wt = h.x, lt = h.y) : (Wt = (Ze - kt) / 2, lt = (rt - De) / 2)), te.current = { x: Wt, y: lt }, G.current = { x: ce.clientX, y: ce.clientY }, B(!0), !z && !U.current && (q({ x: Wt, y: lt }), U.current = { x: Wt, y: lt }, H.current && (H.current.style.left = Wt + "px", H.current.style.top = lt + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))); }; let C = d; if (y) { let ce = !1; C = Array.isArray(d) ? d.map((le) => { if (!ce && Fi(le) && (le.type === YO || le.type.displayName === "ModalDragHandle")) { ce = !0; const fe = le; return Li(fe, { children: /* @__PURE__ */ K( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: N, children: fe.props.children } ) }); } return le; }) : Fi(d) && (d.type === YO || d.type.displayName === "ModalDragHandle") ? (() => { const le = d; return Li(le, { children: /* @__PURE__ */ K( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: N, children: le.props.children } ) }); })() : d; } const I = ne(null), j = ne(null), R = (ce, le) => { if (!H.current || (ce.preventDefault(), ce.stopPropagation(), v)) return; const fe = H.current.getBoundingClientRect(); I.current = le, j.current = { mouseX: ce.clientX, mouseY: ce.clientY, width: fe.width, height: fe.height, x: fe.left, y: fe.top }, M(!0); }; ue(() => { if (!Z) return; let ce = null; const le = (ot) => { if (!H.current || !j.current || !I.current) return; const kt = ot.clientX - j.current.mouseX, De = ot.clientY - j.current.mouseY; let Ze = j.current.width, rt = j.current.height, Wt = j.current.x, lt = j.current.y; const $r = I.current; $r.includes("right") && (Ze = j.current.width + kt), $r.includes("left") && (Ze = j.current.width - kt, Wt = j.current.x + kt), $r.includes("bottom") && (rt = j.current.height + De), $r.includes("top") && (rt = j.current.height - De, lt = j.current.y + De), Ze = Math.max(320, Ze), rt = Math.max(240, rt), U.current = { x: Wt, y: lt }, me.current = { width: Ze, height: rt }, ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => { H.current && U.current && (H.current.style.width = Ze + "px", H.current.style.height = rt + "px", H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)); }); }, fe = () => { M(!1), U.current && q({ ...U.current }), me.current && oe({ ...me.current }); }; return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => { window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce); }; }, [Z, X]); const Q = () => { if (!m || v) return null; const ce = "absolute z-[75] bg-transparent select-none", le = 5, fe = 2, ot = [ { dir: "top", className: `top-0 left-0 w-full h-${fe}` }, { dir: "bottom", className: `bottom-0 left-0 w-full h-${fe}` }, { dir: "left", className: `left-0 top-0 h-full w-${fe}` }, { dir: "right", className: `right-0 top-0 h-full w-${fe}` }, { dir: "top-left", className: `top-0 left-0 w-${le} h-${le}` }, { dir: "top-right", className: `top-0 right-0 w-${le} h-${le}` }, { dir: "bottom-left", className: `bottom-0 left-0 w-${le} h-${le}` }, { dir: "bottom-right", className: `bottom-0 right-0 w-${le} h-${le}` } ], kt = { top: "n-resize", bottom: "s-resize", left: "w-resize", right: "e-resize", "top-left": "nw-resize", "top-right": "ne-resize", "bottom-left": "sw-resize", "bottom-right": "se-resize" }; return ot.map((De) => /* @__PURE__ */ K( "div", { className: `${ce} ${De.className}`, style: { cursor: kt[De.dir] }, onMouseDown: (Ze) => R(Ze, De.dir) }, De.dir )); }, [k, oe] = de( null ), me = ne(null), Le = ne(null); ue(() => { if (e && !k && H.current && m) { const { width: ce, height: le } = H.current.getBoundingClientRect(); oe({ width: ce, height: le }), me.current = { width: ce, height: le }; } }, [e, k, m]), ue(() => { if (m) { if (!e) me.current && (Le.current = { ...me.current }); else if (Le.current && H.current) { const { width: ce, height: le } = Le.current; H.current.style.width = ce + "px", H.current.style.height = le + "px", oe({ width: ce, height: le }), me.current = { width: ce, height: le }; } } }, [e, m]), ue(() => { const ce = () => { H.current && X < Om && (Om += 1, ee(Om), H.current.style.zIndex = String(Om)); }, le = H.current; return le && le.addEventListener("mousedown", ce), () => { le && le.removeEventListener("mousedown", ce); }; }, [X]), ue(() => { if (!e || _) return; const ce = (le) => { if (le.key === "Escape" || le.key === "Esc") return; const fe = le.target; fe && (fe.closest( '[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]' ) || fe.matches("input, textarea, select, button, [contenteditable]")) || le.stopPropagation(); }; return window.addEventListener("keydown", ce, !0), () => { window.removeEventListener("keydown", ce, !0); }; }, [e, _]), ue(() => { if (!_) return; const ce = H.current; if (!ce) return; const le = (De) => { De && (De.hasAttribute("inert") && De.removeAttribute("inert"), De.inert && (De.inert = !1), De.getAttribute("aria-hidden") === "true" && De.removeAttribute("aria-hidden")); }; let fe = ce; for (; fe; ) le(fe), fe = fe.parentElement; const ot = new MutationObserver((De) => { De.forEach((Ze) => { if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target instanceof HTMLElement) { const rt = Ze.target; (rt === ce || ce.contains(rt)) && le(rt); } }); }); ot.observe(ce, { attributes: !0, subtree: !1, attributeFilter: ["inert"] }), document.querySelectorAll( "[data-radix-portal][inert], [data-headlessui-portal][inert]" ).forEach((De) => De.removeAttribute("inert")); const kt = new MutationObserver((De) => { De.forEach((Ze) => { if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target.hasAttribute("inert")) { const rt = Ze.target; (rt.hasAttribute("data-radix-portal") || rt.hasAttribute("data-headlessui-portal")) && le(rt); } }); }); return kt.observe(document.body, { attributes: !0, subtree: !0, attributeFilter: ["inert"] }), () => { ot.disconnect(), kt.disconnect(); }; }, [_]); const Xr = ne(Math.floor(Math.random() * 1e9)); ue(() => { if (e) return Cpe({ id: Xr.current, zIndex: X, onClose: o, closeOnEsc: $ }), () => { Npe(Xr.current); }; }, [e]), ue(() => { e && Tpe(Xr.current, { zIndex: X, onClose: o, closeOnEsc: $ }); }, [e, X, o, $]); const Jr = () => v ? { position: "fixed", left: 0, top: 0, margin: 0, zIndex: X, width: "100vw", height: "100vh", ..._ ? { pointerEvents: "auto" } : {} } : !y || !z ? { ...m && k ? { width: k.width, height: k.height } : {}, ..._ ? { pointerEvents: "auto" } : {} } : { position: "fixed", left: z.x, top: z.y, margin: 0, zIndex: X, ...m && k ? { width: k.width, height: k.height } : {}, ..._ ? { pointerEvents: "auto" } : {} }; return /* @__PURE__ */ K( Xae, { open: e, onOpenChange: (ce) => !ce && w && o(), modal: !_, children: /* @__PURE__ */ K(Jae, { children: /* @__PURE__ */ Te( "div", { className: "fixed inset-0 z-[70]", style: _ ? { pointerEvents: "none" } : void 0, children: [ !_ && A( (ce, le) => le ? /* @__PURE__ */ K( jpe, { styles: ce, backdropClassName: u, disableHotkeyInput: i, enableHotkeyInput: a }, "backdrop" ) : null ), _ && /* @__PURE__ */ K( "div", { className: Sh("fixed inset-0 z-[69]", u), style: { pointerEvents: "none" } } ), /* @__PURE__ */ K(IG.Provider, { value: { expanded: v, toggleExpanded: T }, children: /* @__PURE__ */ K( "div", { className: "flex min-h-full items-center justify-center p-4 text-center", style: _ ? { pointerEvents: "none" } : void 0, children: P((ce, le) => le ? /* @__PURE__ */ K( Zae, { forceMount: !0, asChild: !0, ...F ? {} : { "aria-describedby": void 0 }, onPointerDownOutside: (fe) => { (!w || _) && fe.preventDefault(); }, onEscapeKeyDown: (fe) => { $ || fe.preventDefault(); }, onInteractOutside: (fe) => { _ && fe.preventDefault(); }, children: /* @__PURE__ */ Te( NG.div, { className: Sh( "w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]", l && !v ? "p-4" : "", s, "!transition-none", // Always disable CSS transitions for spring animations v && "w-screen h-screen max-w-screen max-h-screen rounded-none" ), ref: H, style: { ...Jr(), opacity: ce.opacity, transform: ce.transform, transformOrigin: "center center", willChange: "transform, opacity" // Optimize for animations }, children: [ /* @__PURE__ */ Te("div", { className: "w-full h-full", children: [ F && /* @__PURE__ */ K(PI, { asChild: !0, children: /* @__PURE__ */ K(eie, { children: F }) }), t ? /* @__PURE__ */ K( PN, { className: Sh( "mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg" ), children: /* @__PURE__ */ K(rn, { children: n ? /* @__PURE__ */ Te( "button", { className: "flex items-center gap-3", onClick: n, children: [ r && /* @__PURE__ */ K( wg, { icon: r, className: f } ), t ] } ) : /* @__PURE__ */ Te("div", { className: "flex items-center gap-3", children: [ r && /* @__PURE__ */ K( wg, { icon: r, className: f } ), t ] }) }) } ) : /* @__PURE__ */ K(PI, { asChild: !0, children: /* @__PURE__ */ K(PN, { children: b ?? "Dialog" }) }), /* @__PURE__ */ K("div", { className: "h-full".trim(), children: C }), Q() ] }), (p || S) && /* @__PURE__ */ Te("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [ S && /* @__PURE__ */ K(Sb.ExpandButton, {}), p && /* @__PURE__ */ K(nde, { onClick: o }) ] }) ] } ) } ) : null) } ) }) ] } ) }) } ); }; Sb.DragHandle = YO; Sb.DragHandle.displayName = "ModalDragHandle"; Sb.ExpandButton = A3; A3.displayName = "ModalExpandButton"; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function Rpe(e, t, r) { return (t = Dpe(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function CI(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function be(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? CI(Object(r), !0).forEach(function(n) { Rpe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : CI(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function Mpe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function Dpe(e) { var t = Mpe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const NI = () => { }; let P3 = {}, jG = {}, RG = null, MG = { mark: NI, measure: NI }; try { typeof window < "u" && (P3 = window), typeof document < "u" && (jG = document), typeof MutationObserver < "u" && (RG = MutationObserver), typeof performance < "u" && (MG = performance); } catch { } const { userAgent: TI = "" } = P3.navigator || {}, uc = P3, Fr = jG, II = RG, wy = MG; uc.document; const hs = !!Fr.documentElement && !!Fr.head && typeof Fr.addEventListener == "function" && typeof Fr.createElement == "function", DG = ~TI.indexOf("MSIE") || ~TI.indexOf("Trident/"); var Fpe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Lpe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, FG = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, zpe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, LG = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wn = "classic", Q0 = "duotone", Wpe = "sharp", Vpe = "sharp-duotone", zG = [wn, Q0, Wpe, Vpe], Hpe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, Gpe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, Upe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), Bpe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, Ype = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], jI = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, qpe = ["kit"], Kpe = { kit: { "fa-kit": "fak" } }, Xpe = ["fak", "fakd"], Jpe = { kit: { fak: "fa-kit" } }, RI = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, $y = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, Qpe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Zpe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], eme = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, tme = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, rme = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, qO = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, nme = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], KO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Qpe, ...nme], ome = ["solid", "regular", "light", "thin", "duotone", "brands"], WG = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ame = WG.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ime = [...Object.keys(rme), ...ome, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", $y.GROUP, $y.SWAP_OPACITY, $y.PRIMARY, $y.SECONDARY].concat(WG.map((e) => "".concat(e, "x"))).concat(ame.map((e) => "w-".concat(e))), sme = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Gi = "___FONT_AWESOME___", XO = 16, VG = "fa", HG = "svg-inline--fa", Cu = "data-fa-i2svg", JO = "data-fa-pseudo-element", lme = "data-fa-pseudo-element-pending", C3 = "data-prefix", N3 = "data-icon", MI = "fontawesome-i2svg", cme = "async", ume = ["HTML", "HEAD", "STYLE", "SCRIPT"], GG = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Eb(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[wn]; } }); } const UG = be({}, FG); UG[wn] = be(be(be(be({}, { "fa-duotone": "duotone" }), FG[wn]), jI.kit), jI["kit-duotone"]); const fme = Eb(UG), QO = be({}, Bpe); QO[wn] = be(be(be(be({}, { duotone: "fad" }), QO[wn]), RI.kit), RI["kit-duotone"]); const DI = Eb(QO), ZO = be({}, qO); ZO[wn] = be(be({}, ZO[wn]), Jpe.kit); const T3 = Eb(ZO), eS = be({}, tme); eS[wn] = be(be({}, eS[wn]), Kpe.kit); Eb(eS); const dme = Fpe, BG = "fa-layers-text", pme = Lpe, mme = be({}, Hpe); Eb(mme); const hme = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], O2 = zpe, gme = [...qpe, ...ime], Rh = uc.FontAwesomeConfig || {}; function bme(e) { var t = Fr.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function yme(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Fr && typeof Fr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((t) => { let [r, n] = t; const o = yme(bme(r)); o != null && (Rh[n] = o); }); const YG = { styleDefault: "solid", familyDefault: wn, cssPrefix: VG, replacementClass: HG, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Rh.familyPrefix && (Rh.cssPrefix = Rh.familyPrefix); const Fd = be(be({}, YG), Rh); Fd.autoReplaceSvg || (Fd.observeMutations = !1); const Ve = {}; Object.keys(YG).forEach((e) => { Object.defineProperty(Ve, e, { enumerable: !0, set: function(t) { Fd[e] = t, Mh.forEach((r) => r(Ve)); }, get: function() { return Fd[e]; } }); }); Object.defineProperty(Ve, "familyPrefix", { enumerable: !0, set: function(e) { Fd.cssPrefix = e, Mh.forEach((t) => t(Ve)); }, get: function() { return Fd.cssPrefix; } }); uc.FontAwesomeConfig = Ve; const Mh = []; function vme(e) { return Mh.push(e), () => { Mh.splice(Mh.indexOf(e), 1); }; } const ol = XO, Fa = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function xme(e) { if (!e || !hs) return; const t = Fr.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Fr.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Fr.head.insertBefore(t, n), e; } const wme = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function Tg() { let e = 12, t = ""; for (; e-- > 0; ) t += wme[Math.random() * 62 | 0]; return t; } function op(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function I3(e) { return e.classList ? op(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function qG(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function $me(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(qG(e[r]), '" '), "").trim(); } function Z0(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function j3(e) { return e.size !== Fa.size || e.x !== Fa.x || e.y !== Fa.y || e.rotate !== Fa.rotate || e.flipX || e.flipY; } function kme(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: u, path: c }; } function _me(e) { let { transform: t, width: r = XO, height: n = XO, startCentered: o = !1 } = e, a = ""; return o && DG ? a += "translate(".concat(t.x / ol - r / 2, "em, ").concat(t.y / ol - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / ol, "em), calc(-50% + ").concat(t.y / ol, "em)) ") : a += "translate(".concat(t.x / ol, "em, ").concat(t.y / ol, "em) "), a += "scale(".concat(t.size / ol * (t.flipX ? -1 : 1), ", ").concat(t.size / ol * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var Ome = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function KG() { const e = VG, t = HG, r = Ve.cssPrefix, n = Ve.replacementClass; let o = Ome; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let FI = !1; function S2() { Ve.autoAddCss && !FI && (xme(KG()), FI = !0); } var Sme = { mixout() { return { dom: { css: KG, insertCss: S2 } }; }, hooks() { return { beforeDOMElementCreation() { S2(); }, beforeI2svg() { S2(); } }; } }; const Ui = uc || {}; Ui[Gi] || (Ui[Gi] = {}); Ui[Gi].styles || (Ui[Gi].styles = {}); Ui[Gi].hooks || (Ui[Gi].hooks = {}); Ui[Gi].shims || (Ui[Gi].shims = []); var La = Ui[Gi]; const XG = [], JG = function() { Fr.removeEventListener("DOMContentLoaded", JG), E1 = 1, XG.map((e) => e()); }; let E1 = !1; hs && (E1 = (Fr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Fr.readyState), E1 || Fr.addEventListener("DOMContentLoaded", JG)); function Eme(e) { hs && (E1 ? setTimeout(e, 0) : XG.push(e)); } function Ab(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? qG(e) : "<".concat(t, " ").concat($me(r), ">").concat(n.map(Ab).join(""), ""); } function LI(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var E2 = function(t, r, n, o) { var a = Object.keys(t), i = a.length, s = r, u, c, d; for (n === void 0 ? (u = 1, d = t[a[0]]) : (u = 0, d = n); u < i; u++) c = a[u], d = s(d, t[c], c, t); return d; }; function Ame(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function tS(e) { const t = Ame(e); return t.length === 1 ? t[0].toString(16) : null; } function Pme(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function zI(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return !!n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function rS(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = zI(t); typeof La.hooks.addPack == "function" && !n ? La.hooks.addPack(e, zI(t)) : La.styles[e] = be(be({}, La.styles[e] || {}), o), e === "fas" && rS("fa", t); } const { styles: Ig, shims: Cme } = La, QG = Object.keys(T3), Nme = QG.reduce((e, t) => (e[t] = Object.keys(T3[t]), e), {}); let R3 = null, ZG = {}, eU = {}, tU = {}, rU = {}, nU = {}; function Tme(e) { return ~gme.indexOf(e); } function Ime(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Tme(o) ? o : null; } const oU = () => { const e = (n) => E2(Ig, (o, a, i) => (o[i] = E2(a, n, {}), o), {}); ZG = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((s) => typeof s == "number").forEach((s) => { n[s.toString(16)] = a; }), n)), eU = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((s) => typeof s == "string").forEach((s) => { n[s] = a; }), n)), nU = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in Ig || Ve.autoFetchSvg, r = E2(Cme, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); tU = r.names, rU = r.unicodes, R3 = ex(Ve.styleDefault, { family: Ve.familyDefault }); }; vme((e) => { R3 = ex(e.styleDefault, { family: Ve.familyDefault }); }); oU(); function M3(e, t) { return (ZG[e] || {})[t]; } function jme(e, t) { return (eU[e] || {})[t]; } function ou(e, t) { return (nU[e] || {})[t]; } function aU(e) { return tU[e] || { prefix: null, iconName: null }; } function Rme(e) { const t = rU[e], r = M3("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function fc() { return R3; } const iU = () => ({ prefix: null, iconName: null, rest: [] }); function Mme(e) { let t = wn; const r = QG.reduce((n, o) => (n[o] = "".concat(Ve.cssPrefix, "-").concat(o), n), {}); return zG.forEach((n) => { (e.includes(r[n]) || e.some((o) => Nme[n].includes(o))) && (t = n); }), t; } function ex(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = wn } = t, n = fme[r][e]; if (r === Q0 && !e) return "fad"; const o = DI[r][e] || DI[r][n], a = e in La.styles ? e : null; return o || a || null; } function Dme(e) { let t = [], r = null; return e.forEach((n) => { const o = Ime(Ve.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function WI(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function tx(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = KO.concat(Zpe), a = WI(e.filter((l) => o.includes(l))), i = WI(e.filter((l) => !KO.includes(l))), s = a.filter((l) => (n = l, !LG.includes(l))), [u = null] = s, c = Mme(a), d = be(be({}, Dme(i)), {}, { prefix: ex(u, { family: c }) }); return be(be(be({}, d), Wme({ values: e, family: c, styles: Ig, config: Ve, canonical: d, givenPrefix: n })), Fme(r, n, d)); } function Fme(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? aU(o) : {}, i = ou(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ig.far && Ig.fas && !Ve.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const Lme = zG.filter((e) => e !== wn || e !== Q0), zme = Object.keys(qO).filter((e) => e !== wn).map((e) => Object.keys(qO[e])).flat(); function Wme(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === Q0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Lme.includes(r) && (Object.keys(a).find((f) => zme.includes(f)) || i.autoFetchSvg)) { const f = Upe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = ou(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = fc() || "fas"), n; } class Vme { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = be(be({}, this.definitions[a] || {}), o[a]), rS(a, o[a]); const i = T3[wn][a]; i && rS(i, o[a]), oU(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], u = s[2]; t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let VI = [], Nf = {}; const ld = {}, Hme = Object.keys(ld); function Gme(e, t) { let { mixoutsTo: r } = t; return VI = e, Nf = {}, Object.keys(ld).forEach((n) => { Hme.indexOf(n) === -1 && delete ld[n]; }), VI.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Nf[i] || (Nf[i] = []), Nf[i].push(a[i]); }); } n.provides && n.provides(ld); }), r; } function nS(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Nf[e] || []).forEach((i) => { t = i.apply(null, [t, ...n]); }), t; } function Nu(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Nf[e] || []).forEach((a) => { a.apply(null, r); }); } function dc() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return ld[e] ? ld[e].apply(null, t) : void 0; } function oS(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || fc(); if (t) return t = ou(r, t) || t, LI(sU.definitions, r, t) || LI(La.styles, r, t); } const sU = new Vme(), Ume = () => { Ve.autoReplaceSvg = !1, Ve.observeMutations = !1, Nu("noAuto"); }, Bme = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return hs ? (Nu("beforeI2svg", e), dc("pseudoElements2svg", e), dc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Ve.autoReplaceSvg === !1 && (Ve.autoReplaceSvg = !0), Ve.observeMutations = !0, Eme(() => { qme({ autoReplaceSvgRoot: t }), Nu("watch", e); }); } }, Yme = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: ou(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = ex(e[0]); return { prefix: r, iconName: ou(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Ve.cssPrefix, "-")) > -1 || e.match(dme))) { const t = tx(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || fc(), iconName: ou(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = fc(); return { prefix: t, iconName: ou(t, e) || e }; } } }, io = { noAuto: Ume, config: Ve, dom: Bme, parse: Yme, library: sU, findIconDefinition: oS, toHtml: Ab }, qme = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Fr } = e; (Object.keys(La.styles).length > 0 || Ve.autoFetchSvg) && hs && Ve.autoReplaceSvg && io.dom.i2svg({ node: t }); }; function rx(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Ab(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!hs) return; const r = Fr.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function Kme(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (j3(i) && r.found && !n.found) { const { width: s, height: u } = r, c = { x: s / u / 2, y: 0.5 }; o.style = Z0(be(be({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function Xme(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Ve.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: be(be({}, o), {}, { id: i }), children: n }] }]; } function D3(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: u, titleId: c, extra: d, watchable: l = !1 } = e, { width: f, height: p } = r.found ? r : t, y = Xpe.includes(n), m = [Ve.replacementClass, o ? "".concat(Ve.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" "); let h = { children: [], attributes: be(be({}, d.attributes), {}, { "data-prefix": n, "data-icon": o, class: m, role: d.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(f, " ").concat(p) }) }; const w = y && !~d.classes.indexOf("fa-fw") ? { width: "".concat(f / p * 16 * 0.0625, "em") } : {}; l && (h.attributes[Cu] = ""), s && (h.children.push({ tag: "title", attributes: { id: h.attributes["aria-labelledby"] || "title-".concat(c || Tg()) }, children: [s] }), delete h.attributes.title); const $ = be(be({}, h), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: u, transform: a, symbol: i, styles: be(be({}, w), d.styles) }), { children: _, attributes: S } = r.found && t.found ? dc("generateAbstractMask", $) || { children: [], attributes: {} } : dc("generateAbstractIcon", $) || { children: [], attributes: {} }; return $.children = _, $.attributes = S, i ? Xme($) : Kme($); } function HI(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, u = be(be(be({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (u[Cu] = ""); const c = be({}, i.styles); j3(o) && (c.transform = _me({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const d = Z0(c); d.length > 0 && (u.style = d); const l = []; return l.push({ tag: "span", attributes: u, children: [t] }), a && l.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), l; } function Jme(e) { const { content: t, title: r, extra: n } = e, o = be(be(be({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = Z0(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: A2 } = La; function aS(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Ve.cssPrefix, "-").concat(O2.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Ve.cssPrefix, "-").concat(O2.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Ve.cssPrefix, "-").concat(O2.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const Qme = { found: !1, width: 512, height: 512 }; function Zme(e, t) { !GG && !Ve.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function iS(e, t) { let r = t; return t === "fa" && Ve.styleDefault !== null && (t = fc()), new Promise((n, o) => { if (r === "fa") { const a = aU(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && A2[t] && A2[t][e]) { const a = A2[t][e]; return n(aS(a)); } Zme(e, t), n(be(be({}, Qme), {}, { icon: Ve.showMissingIcons && e ? dc("missingIconAbstract") || {} : {} })); }); } const GI = () => { }, sS = Ve.measurePerformance && wy && wy.mark && wy.measure ? wy : { mark: GI, measure: GI }, ih = 'FA "6.7.2"', ehe = (e) => (sS.mark("".concat(ih, " ").concat(e, " begins")), () => lU(e)), lU = (e) => { sS.mark("".concat(ih, " ").concat(e, " ends")), sS.measure("".concat(ih, " ").concat(e), "".concat(ih, " ").concat(e, " begins"), "".concat(ih, " ").concat(e, " ends")); }; var F3 = { begin: ehe, end: lU }; const Iv = () => { }; function UI(e) { return typeof (e.getAttribute ? e.getAttribute(Cu) : null) == "string"; } function the(e) { const t = e.getAttribute ? e.getAttribute(C3) : null, r = e.getAttribute ? e.getAttribute(N3) : null; return t && r; } function rhe(e) { return e && e.classList && e.classList.contains && e.classList.contains(Ve.replacementClass); } function nhe() { return Ve.autoReplaceSvg === !0 ? jv.replace : jv[Ve.autoReplaceSvg] || jv.replace; } function ohe(e) { return Fr.createElementNS("http://www.w3.org/2000/svg", e); } function ahe(e) { return Fr.createElement(e); } function cU(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? ohe : ahe } = t; if (typeof e == "string") return Fr.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(a) { n.setAttribute(a, e.attributes[a]); }), (e.children || []).forEach(function(a) { n.appendChild(cU(a, { ceFn: r })); }), n; } function ihe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const jv = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(cU(r), t); }), t.getAttribute(Cu) === null && Ve.keepOriginalSource) { let r = Fr.createComment(ihe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~I3(t).indexOf(Ve.replacementClass)) return jv.replace(e); const n = new RegExp("".concat(Ve.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ve.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Ab(a)).join(` `); t.setAttribute(Cu, ""), t.innerHTML = o; } }; function BI(e) { e(); } function uU(e, t) { const r = typeof t == "function" ? t : Iv; if (e.length === 0) r(); else { let n = BI; Ve.mutateApproach === cme && (n = uc.requestAnimationFrame || BI), n(() => { const o = nhe(), a = F3.begin("mutate"); e.map(o), a(), r(); }); } } let L3 = !1; function fU() { L3 = !0; } function lS() { L3 = !1; } let A1 = null; function YI(e) { if (!II || !Ve.observeMutations) return; const { treeCallback: t = Iv, nodeCallback: r = Iv, pseudoElementsCallback: n = Iv, observeMutationsRoot: o = Fr } = e; A1 = new II((a) => { if (L3) return; const i = fc(); op(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !UI(s.addedNodes[0]) && (Ve.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ve.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && UI(s.target) && ~hme.indexOf(s.attributeName)) if (s.attributeName === "class" && the(s.target)) { const { prefix: u, iconName: c } = tx(I3(s.target)); s.target.setAttribute(C3, u || i), c && s.target.setAttribute(N3, c); } else rhe(s.target) && r(s.target); }); }), hs && A1.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function she() { A1 && A1.disconnect(); } function lhe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function che(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = tx(I3(e)); return o.prefix || (o.prefix = fc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = jme(o.prefix, e.innerText) || M3(o.prefix, tS(e.innerText))), !o.iconName && Ve.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function uhe(e) { const t = op(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Ve.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ve.replacementClass, "-title-").concat(n || Tg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function fhe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: Fa, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function qI(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = che(e), a = uhe(e), i = nS("parseNodeAttributes", {}, e); let s = t.styleParser ? lhe(e) : []; return be({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: Fa, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: dhe } = La; function dU(e) { const t = Ve.autoReplaceSvg === "nest" ? qI(e, { styleParser: !1 }) : qI(e); return ~t.extra.classes.indexOf(BG) ? dc("generateLayersText", e, t) : dc("generateSvgReplacementMutation", e, t); } function phe() { return [...Ype, ...KO]; } function KI(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!hs) return Promise.resolve(); const r = Fr.documentElement.classList, n = (d) => r.add("".concat(MI, "-").concat(d)), o = (d) => r.remove("".concat(MI, "-").concat(d)), a = Ve.autoFetchSvg ? phe() : LG.concat(Object.keys(dhe)); a.includes("fa") || a.push("fa"); const i = [".".concat(BG, ":not([").concat(Cu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Cu, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = op(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const u = F3.begin("onTree"), c = s.reduce((d, l) => { try { const f = dU(l); f && d.push(f); } catch (f) { GG || f.name === "MissingIcon" && console.error(f); } return d; }, []); return new Promise((d, l) => { Promise.all(c).then((f) => { uU(f, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d(); }); }).catch((f) => { u(), l(f); }); }); } function mhe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; dU(e).then((r) => { r && uU([r], t); }); } function hhe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : oS(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : oS(o || {})), e(n, be(be({}, r), {}, { mask: o })); }; } const ghe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Fa, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: u = [], attributes: c = {}, styles: d = {} } = t; if (!e) return; const { prefix: l, iconName: f, icon: p } = e; return rx(be({ type: "icon" }, e), () => (Nu("beforeDOMElementCreation", { iconDefinition: e, params: t }), Ve.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ve.replacementClass, "-title-").concat(s || Tg()) : (c["aria-hidden"] = "true", c.focusable = "false")), D3({ icons: { main: aS(p), mask: o ? aS(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: l, iconName: f, transform: be(be({}, Fa), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: d, classes: u } }))); }; var bhe = { mixout() { return { icon: hhe(ghe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = KI, e.nodeCallback = mhe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Fr, callback: n = () => { } } = t; return KI(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: u, mask: c, maskId: d, extra: l } = r; return new Promise((f, p) => { Promise.all([iS(n, i), c.iconName ? iS(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((y) => { let [m, h] = y; f([t, D3({ icons: { main: m, mask: h }, prefix: i, iconName: n, transform: s, symbol: u, maskId: d, title: o, titleId: a, extra: l, watchable: !0 })]); }).catch(p); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = Z0(i); s.length > 0 && (n.style = s); let u; return j3(a) && (u = dc("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(u || o.icon), { children: r, attributes: n }; }; } }, yhe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return rx({ type: "layer" }, () => { Nu("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Ve.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, vhe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return rx({ type: "counter", content: e }, () => (Nu("beforeDOMElementCreation", { content: e, params: t }), Jme({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Ve.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, xhe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Fa, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return rx({ type: "text", content: e }, () => (Nu("beforeDOMElementCreation", { content: e, params: t }), HI({ content: e, transform: be(be({}, Fa), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Ve.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (DG) { const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / u, s = c.height / u; } return Ve.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, HI({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const whe = new RegExp('"', "ug"), XI = [1105920, 1112319], JI = be(be(be(be({}, { FontAwesome: { normal: "fas", 400: "fas" } }), Gpe), sme), eme), cS = Object.keys(JI).reduce((e, t) => (e[t.toLowerCase()] = JI[t], e), {}), $he = Object.keys(cS).reduce((e, t) => { const r = cS[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function khe(e) { const t = e.replace(whe, ""), r = Pme(t, 0), n = r >= XI[0] && r <= XI[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: tS(o ? t[0] : t), isSecondary: n || o }; } function _he(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (cS[r] || {})[o] || $he[r]; } function QI(e, t) { const r = "".concat(lme).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const i = op(e.children).filter((f) => f.getAttribute(JO) === t)[0], s = uc.getComputedStyle(e, t), u = s.getPropertyValue("font-family"), c = u.match(pme), d = s.getPropertyValue("font-weight"), l = s.getPropertyValue("content"); if (i && !c) return e.removeChild(i), n(); if (c && l !== "none" && l !== "") { const f = s.getPropertyValue("content"); let p = _he(u, d); const { value: y, isSecondary: m } = khe(f), h = c[0].startsWith("FontAwesome"); let w = M3(p, y), $ = w; if (h) { const _ = Rme(y); _.iconName && _.prefix && (w = _.iconName, p = _.prefix); } if (w && !m && (!i || i.getAttribute(C3) !== p || i.getAttribute(N3) !== $)) { e.setAttribute(r, $), i && e.removeChild(i); const _ = fhe(), { extra: S } = _; S.attributes[JO] = t, iS(w, p).then((b) => { const F = D3(be(be({}, _), {}, { icons: { main: b, mask: iU() }, prefix: p, iconName: $, extra: S, watchable: !0 })), z = Fr.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(z, e.firstChild) : e.appendChild(z), z.outerHTML = F.map((q) => Ab(q)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function Ohe(e) { return Promise.all([QI(e, "::before"), QI(e, "::after")]); } function She(e) { return e.parentNode !== document.head && !~ume.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(JO) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function ZI(e) { if (hs) return new Promise((t, r) => { const n = op(e.querySelectorAll("*")).filter(She).map(Ohe), o = F3.begin("searchPseudoElements"); fU(), Promise.all(n).then(() => { o(), lS(), t(); }).catch(() => { o(), lS(), r(); }); }); } var Ehe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = ZI, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Fr } = t; Ve.searchPseudoElements && ZI(r); }; } }; let ej = !1; var Ahe = { mixout() { return { dom: { unwatch() { fU(), ej = !0; } } }; }, hooks() { return { bootstrap() { YI(nS("mutationObserverCallbacks", {})); }, noAuto() { she(); }, watch(e) { const { observeMutationsRoot: t } = e; ej ? lS() : YI(nS("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const tj = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Phe = { mixout() { return { parse: { transform: (e) => tj(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = tj(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = { transform: "".concat(s, " ").concat(u, " ").concat(c) }, l = { transform: "translate(".concat(a / 2 * -1, " -256)") }, f = { outer: i, inner: d, path: l }; return { tag: "g", attributes: be({}, f.outer), children: [{ tag: "g", attributes: be({}, f.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: be(be({}, r.icon.attributes), f.path) }] }] }; }; } }; const P2 = { x: 0, y: 0, width: "100%", height: "100%" }; function rj(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Che(e) { return e.tag === "g" ? e.children : [e]; } var Nhe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? tx(r.split(" ").map((o) => o.trim())) : iU(); return n.prefix || (n.prefix = fc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: u, icon: c } = o, { width: d, icon: l } = a, f = kme({ transform: s, containerWidth: d, iconWidth: u }), p = { tag: "rect", attributes: be(be({}, P2), {}, { fill: "white" }) }, y = c.children ? { children: c.children.map(rj) } : {}, m = { tag: "g", attributes: be({}, f.inner), children: [rj(be({ tag: c.tag, attributes: be(be({}, c.attributes), f.path) }, y))] }, h = { tag: "g", attributes: be({}, f.outer), children: [m] }, w = "mask-".concat(i || Tg()), $ = "clip-".concat(i || Tg()), _ = { tag: "mask", attributes: be(be({}, P2), {}, { id: w, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [p, h] }, S = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: $ }, children: Che(l) }, _] }; return r.push(S, { tag: "rect", attributes: be({ fill: "currentColor", "clip-path": "url(#".concat($, ")"), mask: "url(#".concat(w, ")") }, P2) }), { children: r, attributes: n }; }; } }, The = { provides(e) { let t = !1; uc.matchMedia && (t = uc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: be(be({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = be(be({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: be(be({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: be(be({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: be(be({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: be(be({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: be(be({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: be(be({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: be(be({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Ihe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, jhe = [Sme, bhe, yhe, vhe, xhe, Ehe, Ahe, Phe, Nhe, The, Ihe]; Gme(jhe, { mixoutsTo: io }); io.noAuto; io.config; io.library; io.dom; const uS = io.parse; io.findIconDefinition; io.toHtml; const Rhe = io.icon; io.layer; io.text; io.counter; function Mhe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var ky = { exports: {} }, _y = { exports: {} }, qt = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var nj; function Dhe() { if (nj) return qt; nj = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(b) { if (typeof b == "object" && b !== null) { var F = b.$$typeof; switch (F) { case t: switch (b = b.type, b) { case u: case c: case n: case a: case o: case l: return b; default: switch (b = b && b.$$typeof, b) { case s: case d: case y: case p: case i: return b; default: return F; } } case r: return F; } } } function S(b) { return _(b) === c; } return qt.AsyncMode = u, qt.ConcurrentMode = c, qt.ContextConsumer = s, qt.ContextProvider = i, qt.Element = t, qt.ForwardRef = d, qt.Fragment = n, qt.Lazy = y, qt.Memo = p, qt.Portal = r, qt.Profiler = a, qt.StrictMode = o, qt.Suspense = l, qt.isAsyncMode = function(b) { return S(b) || _(b) === u; }, qt.isConcurrentMode = S, qt.isContextConsumer = function(b) { return _(b) === s; }, qt.isContextProvider = function(b) { return _(b) === i; }, qt.isElement = function(b) { return typeof b == "object" && b !== null && b.$$typeof === t; }, qt.isForwardRef = function(b) { return _(b) === d; }, qt.isFragment = function(b) { return _(b) === n; }, qt.isLazy = function(b) { return _(b) === y; }, qt.isMemo = function(b) { return _(b) === p; }, qt.isPortal = function(b) { return _(b) === r; }, qt.isProfiler = function(b) { return _(b) === a; }, qt.isStrictMode = function(b) { return _(b) === o; }, qt.isSuspense = function(b) { return _(b) === l; }, qt.isValidElementType = function(b) { return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m); }, qt.typeOf = _, qt; } var Kt = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var oj; function Fhe() { return oj || (oj = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m); } function S(k) { if (typeof k == "object" && k !== null) { var oe = k.$$typeof; switch (oe) { case t: var me = k.type; switch (me) { case u: case c: case n: case a: case o: case l: return me; default: var Le = me && me.$$typeof; switch (Le) { case s: case d: case y: case p: case i: return Le; default: return oe; } } case r: return oe; } } } var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1; function ee(k) { return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u; } function v(k) { return S(k) === c; } function g(k) { return S(k) === s; } function O(k) { return S(k) === i; } function P(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function A(k) { return S(k) === d; } function T(k) { return S(k) === n; } function N(k) { return S(k) === y; } function C(k) { return S(k) === p; } function I(k) { return S(k) === r; } function j(k) { return S(k) === a; } function R(k) { return S(k) === o; } function Q(k) { return S(k) === l; } Kt.AsyncMode = b, Kt.ConcurrentMode = F, Kt.ContextConsumer = z, Kt.ContextProvider = q, Kt.Element = Y, Kt.ForwardRef = B, Kt.Fragment = Z, Kt.Lazy = M, Kt.Memo = te, Kt.Portal = G, Kt.Profiler = H, Kt.StrictMode = U, Kt.Suspense = W, Kt.isAsyncMode = ee, Kt.isConcurrentMode = v, Kt.isContextConsumer = g, Kt.isContextProvider = O, Kt.isElement = P, Kt.isForwardRef = A, Kt.isFragment = T, Kt.isLazy = N, Kt.isMemo = C, Kt.isPortal = I, Kt.isProfiler = j, Kt.isStrictMode = R, Kt.isSuspense = Q, Kt.isValidElementType = _, Kt.typeOf = S; }()), Kt; } var aj; function pU() { return aj || (aj = 1, process.env.NODE_ENV === "production" ? _y.exports = Dhe() : _y.exports = Fhe()), _y.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var C2, ij; function Lhe() { if (ij) return C2; ij = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var u = Object.getOwnPropertyNames(i).map(function(d) { return i[d]; }); if (u.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(d) { c[d] = d; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return C2 = o() ? Object.assign : function(a, i) { for (var s, u = n(a), c, d = 1; d < arguments.length; d++) { s = Object(arguments[d]); for (var l in s) t.call(s, l) && (u[l] = s[l]); if (e) { c = e(s); for (var f = 0; f < c.length; f++) r.call(s, c[f]) && (u[c[f]] = s[c[f]]); } } return u; }, C2; } var N2, sj; function z3() { if (sj) return N2; sj = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return N2 = e, N2; } var T2, lj; function mU() { return lj || (lj = 1, T2 = Function.call.bind(Object.prototype.hasOwnProperty)), T2; } var I2, cj; function zhe() { if (cj) return I2; cj = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ z3(), r = {}, n = /* @__PURE__ */ mU(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, u, c) { if (process.env.NODE_ENV !== "production") { for (var d in a) if (n(a, d)) { var l; try { if (typeof a[d] != "function") { var f = Error( (u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw f.name = "Invariant Violation", f; } l = a[d](i, d, u, s, null, t); } catch (y) { l = y; } if (l && !(l instanceof Error) && e( (u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), l instanceof Error && !(l.message in r)) { r[l.message] = !0; var p = c ? c() : ""; e( "Failed " + s + " type: " + l.message + (p ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, I2 = o, I2; } var j2, uj; function Whe() { if (uj) return j2; uj = 1; var e = pU(), t = Lhe(), r = /* @__PURE__ */ z3(), n = /* @__PURE__ */ mU(), o = /* @__PURE__ */ zhe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var u = "Warning: " + s; typeof console < "u" && console.error(u); try { throw new Error(u); } catch { } }); function i() { return null; } return j2 = function(s, u) { var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; function l(v) { var g = v && (c && v[c] || v[d]); if (typeof g == "function") return g; } var f = "<>", p = { array: w("array"), bigint: w("bigint"), bool: w("boolean"), func: w("function"), number: w("number"), object: w("object"), string: w("string"), symbol: w("symbol"), any: $(), arrayOf: _, element: S(), elementType: b(), instanceOf: F, node: B(), objectOf: q, oneOf: z, oneOfType: Y, shape: M, exact: te }; function y(v, g) { return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g; } function m(v, g) { this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = ""; } m.prototype = Error.prototype; function h(v) { if (process.env.NODE_ENV !== "production") var g = {}, O = 0; function P(T, N, C, I, j, R, Q) { if (I = I || f, R = R || C, Q !== r) { if (u) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var oe = I + ":" + C; !g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors O < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), g[oe] = !0, O++); } } return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R); } var A = P.bind(null, !1); return A.isRequired = P.bind(null, !0), A; } function w(v) { function g(O, P, A, T, N, C) { var I = O[P], j = U(I); if (j !== v) { var R = W(I); return new m( "Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."), { expectedType: v } ); } return null; } return h(g); } function $() { return h(i); } function _(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf."); var C = O[P]; if (!Array.isArray(C)) { var I = U(C); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array.")); } for (var j = 0; j < C.length; j++) { var R = v(C, j, A, T, N + "[" + j + "]", r); if (R instanceof Error) return R; } return null; } return h(g); } function S() { function v(g, O, P, A, T) { var N = g[O]; if (!s(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement.")); } return null; } return h(v); } function b() { function v(g, O, P, A, T) { var N = g[O]; if (!e.isValidElementType(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type.")); } return null; } return h(v); } function F(v) { function g(O, P, A, T, N) { if (!(O[P] instanceof v)) { var C = v.name || f, I = ee(O[P]); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`.")); } return null; } return h(g); } function z(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function g(O, P, A, T, N) { for (var C = O[P], I = 0; I < v.length; I++) if (y(C, v[I])) return null; var j = JSON.stringify(v, function(Q, k) { var oe = W(k); return oe === "symbol" ? String(k) : k; }); return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + ".")); } return h(g); } function q(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf."); var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object.")); for (var j in C) if (n(C, j)) { var R = v(C, j, A, T, N + "." + j, r); if (R instanceof Error) return R; } return null; } return h(g); } function Y(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var g = 0; g < v.length; g++) { var O = v[g]; if (typeof O != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "." ), i; } function P(A, T, N, C, I) { for (var j = [], R = 0; R < v.length; R++) { var Q = v[R], k = Q(A, T, N, C, I, r); if (k == null) return null; k.data && n(k.data, "expectedType") && j.push(k.data.expectedType); } var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : ""; return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + ".")); } return h(P); } function B() { function v(g, O, P, A, T) { return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode.")); } return h(v); } function Z(v, g, O, P, A) { return new m( (v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`." ); } function M(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); for (var j in v) { var R = v[j]; if (typeof R != "function") return Z(A, T, N, j, W(R)); var Q = R(C, j, A, T, N + "." + j, r); if (Q) return Q; } return null; } return h(g); } function te(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); var j = t({}, O[P], v); for (var R in j) { var Q = v[R]; if (n(v, R) && typeof Q != "function") return Z(A, T, N, R, W(Q)); if (!Q) return new m( "Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(v), null, " ") ); var k = Q(C, R, A, T, N + "." + R, r); if (k) return k; } return null; } return h(g); } function G(v) { switch (typeof v) { case "number": case "string": case "undefined": return !0; case "boolean": return !v; case "object": if (Array.isArray(v)) return v.every(G); if (v === null || s(v)) return !0; var g = l(v); if (g) { var O = g.call(v), P; if (g !== v.entries) { for (; !(P = O.next()).done; ) if (!G(P.value)) return !1; } else for (; !(P = O.next()).done; ) { var A = P.value; if (A && !G(A[1])) return !1; } } else return !1; return !0; default: return !1; } } function H(v, g) { return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1; } function U(v) { var g = typeof v; return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g; } function W(v) { if (typeof v > "u" || v === null) return "" + v; var g = U(v); if (g === "object") { if (v instanceof Date) return "date"; if (v instanceof RegExp) return "regexp"; } return g; } function X(v) { var g = W(v); switch (g) { case "array": case "object": return "an " + g; case "boolean": case "date": case "regexp": return "a " + g; default: return g; } } function ee(v) { return !v.constructor || !v.constructor.name ? f : v.constructor.name; } return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p; }, j2; } var R2, fj; function Vhe() { if (fj) return R2; fj = 1; var e = /* @__PURE__ */ z3(); function t() { } function r() { } return r.resetWarningCache = t, R2 = function() { function n(i, s, u, c, d, l) { if (l !== e) { var f = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw f.name = "Invariant Violation", f; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, R2; } var dj; function Hhe() { if (dj) return ky.exports; if (dj = 1, process.env.NODE_ENV !== "production") { var e = pU(), t = !0; ky.exports = /* @__PURE__ */ Whe()(e.isElement, t); } else ky.exports = /* @__PURE__ */ Vhe()(); return ky.exports; } var Ghe = /* @__PURE__ */ Hhe(); const Pt = /* @__PURE__ */ Mhe(Ghe); function pj(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function xa(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? pj(Object(r), !0).forEach(function(n) { Tf(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : pj(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function P1(e) { "@babel/helpers - typeof"; return P1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, P1(e); } function Tf(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Uhe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function Bhe(e, t) { if (e == null) return {}; var r = Uhe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function fS(e) { return Yhe(e) || qhe(e) || Khe(e) || Xhe(); } function Yhe(e) { if (Array.isArray(e)) return dS(e); } function qhe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function Khe(e, t) { if (e) { if (typeof e == "string") return dS(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return dS(e, t); } } function dS(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function Xhe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function Jhe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": u, "fa-spin-reverse": d, "fa-spin-pulse": c, "fa-pulse": l, "fa-fw": f, "fa-inverse": p, "fa-border": y, "fa-li": m, "fa-flip": h === !0, "fa-flip-horizontal": h === "horizontal" || h === "both", "fa-flip-vertical": h === "vertical" || h === "both" }, Tf(t, "fa-".concat(w), typeof w < "u" && w !== null), Tf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Tf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Tf(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(S).map(function(b) { return S[b] ? b : null; }).filter(function(b) { return b; }); } function Qhe(e) { return e = e - 0, e === e; } function hU(e) { return Qhe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var Zhe = ["style"]; function ege(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function tge(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = hU(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[ege(o)] = a : t[o] = a, t; }, {}); } function gU(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(u) { return gU(e, u); }), o = Object.keys(t.attributes || {}).reduce(function(u, c) { var d = t.attributes[c]; switch (c) { case "class": u.attrs.className = d, delete t.attributes.class; break; case "style": u.attrs.style = tge(d); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[hU(c)] = d; } return u; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = Bhe(r, Zhe); return o.attrs.style = xa(xa({}, o.attrs.style), i), e.apply(void 0, [t.tag, xa(xa({}, o.attrs), s)].concat(fS(n))); } var bU = !1; try { bU = process.env.NODE_ENV === "production"; } catch { } function rge() { if (!bU && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function mj(e) { if (e && P1(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (uS.icon) return uS.icon(e); if (e === null) return null; if (e && P1(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function M2(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Tf({}, e, t) : {}; } var hj = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, To = /* @__PURE__ */ ae.forwardRef(function(e, t) { var r = xa(xa({}, hj), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = mj(n), l = M2("classes", [].concat(fS(Jhe(r)), fS((i || "").split(" ")))), f = M2("transform", typeof r.transform == "string" ? uS.transform(r.transform) : r.transform), p = M2("mask", mj(o)), y = Rhe(d, xa(xa(xa(xa({}, l), f), p), {}, { symbol: a, title: s, titleId: u, maskId: c })); if (!y) return rge("Could not find icon", d), null; var m = y.abstract, h = { ref: t }; return Object.keys(r).forEach(function(w) { hj.hasOwnProperty(w) || (h[w] = r[w]); }), nge(m[0], h); }); To.displayName = "FontAwesomeIcon"; To.propTypes = { beat: Pt.bool, border: Pt.bool, beatFade: Pt.bool, bounce: Pt.bool, className: Pt.string, fade: Pt.bool, flash: Pt.bool, mask: Pt.oneOfType([Pt.object, Pt.array, Pt.string]), maskId: Pt.string, fixedWidth: Pt.bool, inverse: Pt.bool, flip: Pt.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Pt.oneOfType([Pt.object, Pt.array, Pt.string]), listItem: Pt.bool, pull: Pt.oneOf(["right", "left"]), pulse: Pt.bool, rotation: Pt.oneOf([0, 90, 180, 270]), shake: Pt.bool, size: Pt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Pt.bool, spinPulse: Pt.bool, spinReverse: Pt.bool, symbol: Pt.oneOfType([Pt.bool, Pt.string]), title: Pt.string, titleId: Pt.string, transform: Pt.oneOfType([Pt.string, Pt.object]), swapOpacity: Pt.bool }; var nge = gU.bind(null, ae.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const oge = { prefix: "fas", iconName: "user", icon: [448, 512, [128100, 62144], "f007", "M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"] }, age = { prefix: "fas", iconName: "star", icon: [576, 512, [11088, 61446], "f005", "M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"] }, ige = { prefix: "fas", iconName: "coin-front", icon: [512, 512, [], "e3fc", "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm24-264c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 144c0 13.3 10.7 24 24 24s24-10.7 24-24l0-144z"] }, sge = { prefix: "fas", iconName: "palette", icon: [512, 512, [127912], "f53f", "M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"] }, lge = { prefix: "fas", iconName: "volume-high", icon: [640, 512, [128266, "volume-up"], "f028", "M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"] }, cge = { prefix: "fas", iconName: "route", icon: [512, 512, [], "f4d7", "M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5L320 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96 43 96 96s-43 96-96 96l-276.4 0c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2L416 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-53 0-96-43-96-96s43-96 96-96l39.8 0c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"] }, nx = { prefix: "fas", iconName: "spinner-third", icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"] }, yU = { prefix: "fas", iconName: "circle-info", icon: [512, 512, ["info-circle"], "f05a", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"] }, gj = yU, uge = { prefix: "fas", iconName: "gear", icon: [512, 512, [9881, "cog"], "f013", "M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"] }, fge = uge, dge = { prefix: "fas", iconName: "grip-vertical", icon: [320, 512, [], "f58e", "M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"] }, pge = { prefix: "fas", iconName: "credit-card", icon: [576, 512, [128179, 62083, "credit-card-alt"], "f09d", "M64 32C28.7 32 0 60.7 0 96l0 32 576 0 0-32c0-35.3-28.7-64-64-64L64 32zM576 224L0 224 0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-192zM112 352l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16z"] }, Oy = { prefix: "fas", iconName: "play", icon: [384, 512, [9654], "f04b", "M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"] }, W3 = "-", mge = (e) => { const t = gge(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (i) => { const s = i.split(W3); return s[0] === "" && s.length !== 1 && s.shift(), vU(s, t) || hge(i); }, getConflictingClassGroupIds: (i, s) => { const u = r[i] || []; return s && n[i] ? [...u, ...n[i]] : u; } }; }, vU = (e, t) => { var i; if (e.length === 0) return t.classGroupId; const r = e[0], n = t.nextPart.get(r), o = n ? vU(e.slice(1), n) : void 0; if (o) return o; if (t.validators.length === 0) return; const a = e.join(W3); return (i = t.validators.find(({ validator: s }) => s(a))) == null ? void 0 : i.classGroupId; }, bj = /^\[(.+)\]$/, hge = (e) => { if (bj.test(e)) { const t = bj.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, gge = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return yge(Object.entries(e.classGroups), r).forEach(([a, i]) => { pS(i, n, a, t); }), n; }, pS = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : yj(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (bge(o)) { pS(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { pS(i, yj(t, a), r, n); }); }); }, yj = (e, t) => { let r = e; return t.split(W3).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, bge = (e) => e.isThemeGetter, yge = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, vge = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, xU = "!", xge = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const u = []; let c = 0, d = 0, l; for (let h = 0; h < s.length; h++) { let w = s[h]; if (c === 0) { if (w === o && (n || s.slice(h, h + a) === t)) { u.push(s.slice(d, h)), d = h + a; continue; } if (w === "/") { l = h; continue; } } w === "[" ? c++ : w === "]" && c--; } const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(xU), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0; return { modifiers: u, hasImportantModifier: p, baseClassName: y, maybePostfixModifierPosition: m }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, wge = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, $ge = (e) => ({ cache: vge(e.cacheSize), parseClassName: xge(e), ...mge(e) }), kge = /\s+/, _ge = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(kge); let s = ""; for (let u = i.length - 1; u >= 0; u -= 1) { const c = i[u], { modifiers: d, hasImportantModifier: l, baseClassName: f, maybePostfixModifierPosition: p } = r(c); let y = !!p, m = n(y ? f.substring(0, p) : f); if (!m) { if (!y) { s = c + (s.length > 0 ? " " + s : s); continue; } if (m = n(f), !m) { s = c + (s.length > 0 ? " " + s : s); continue; } y = !1; } const h = wge(d).join(":"), w = l ? h + xU : h, $ = w + m; if (a.includes($)) continue; a.push($); const _ = o(m, y); for (let S = 0; S < _.length; ++S) { const b = _[S]; a.push(w + b); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Oge() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = wU(t)) && (n && (n += " "), n += r); return n; } const wU = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = wU(e[n])) && (r && (r += " "), r += t); return r; }; function Sge(e, ...t) { let r, n, o, a = i; function i(u) { const c = t.reduce((d, l) => l(d), e()); return r = $ge(c), n = r.cache.get, o = r.cache.set, a = s, s(u); } function s(u) { const c = n(u); if (c) return c; const d = _ge(u, r); return o(u, d), d; } return function() { return a(Oge.apply(null, arguments)); }; } const Sr = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, $U = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ege = /^\d+\/\d+$/, Age = /* @__PURE__ */ new Set(["px", "full", "screen"]), Pge = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Cge = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Nge = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Tge = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Ige = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, xi = (e) => cd(e) || Age.has(e) || Ege.test(e), al = (e) => ap(e, "length", Wge), cd = (e) => !!e && !Number.isNaN(Number(e)), D2 = (e) => ap(e, "number", cd), Sm = (e) => !!e && Number.isInteger(Number(e)), jge = (e) => e.endsWith("%") && cd(e.slice(0, -1)), ft = (e) => $U.test(e), il = (e) => Pge.test(e), Rge = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Mge = (e) => ap(e, Rge, kU), Dge = (e) => ap(e, "position", kU), Fge = /* @__PURE__ */ new Set(["image", "url"]), Lge = (e) => ap(e, Fge, Hge), zge = (e) => ap(e, "", Vge), Em = () => !0, ap = (e, t, r) => { const n = $U.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Wge = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Cge.test(e) && !Nge.test(e) ), kU = () => !1, Vge = (e) => Tge.test(e), Hge = (e) => Ige.test(e), Gge = () => { const e = Sr("colors"), t = Sr("spacing"), r = Sr("blur"), n = Sr("brightness"), o = Sr("borderColor"), a = Sr("borderRadius"), i = Sr("borderSpacing"), s = Sr("borderWidth"), u = Sr("contrast"), c = Sr("grayscale"), d = Sr("hueRotate"), l = Sr("invert"), f = Sr("gap"), p = Sr("gradientColorStops"), y = Sr("gradientColorStopPositions"), m = Sr("inset"), h = Sr("margin"), w = Sr("opacity"), $ = Sr("padding"), _ = Sr("saturate"), S = Sr("scale"), b = Sr("sepia"), F = Sr("skew"), z = Sr("space"), q = Sr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ft, t], M = () => [ft, t], te = () => ["", xi, al], G = () => ["auto", cd, ft], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ft], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [cd, ft]; return { cacheSize: 500, separator: ":", theme: { colors: [Em], spacing: [xi, al], blur: ["none", "", il, ft], brightness: g(), borderColor: [e], borderRadius: ["none", "", "full", il, ft], borderSpacing: M(), borderWidth: te(), contrast: g(), grayscale: ee(), hueRotate: g(), invert: ee(), gap: M(), gradientColorStops: [e], gradientColorStopPositions: [jge, al], inset: Z(), margin: Z(), opacity: g(), padding: M(), saturate: g(), scale: g(), sepia: ee(), skew: g(), space: M(), translate: M() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", ft] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [il] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": v() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": v() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...H(), ft] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: B() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": B() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": B() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: Y() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": Y() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": Y() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [m] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [m] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [m] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [m] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [m] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [m] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [m] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [m] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [m] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Sm, ft] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: Z() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", ft] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ee() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ee() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Sm, ft] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Em] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Sm, ft] }, ft] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": G() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": G() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Em] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Sm, ft] }, ft] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": G() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": G() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", ft] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", ft] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [f] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [f] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [f] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...X()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...X(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...X(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [$] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [$] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [$] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [$] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [$] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [$] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [$] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [$] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [$] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [h] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [h] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [h] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [h] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [h] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [h] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [h] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [h] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [h] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [z] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [z] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ft, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [ft, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [ft, t, "none", "full", "min", "max", "fit", "prose", { screen: [il] }, il] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [ft, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [ft, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [ft, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [ft, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", il, al] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", D2] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Em] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ft] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", cd, D2] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", xi, ft] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", ft] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", ft] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [w] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [w] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...U(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", xi, al] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", xi, ft] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: M() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ft] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", ft] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [w] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...H(), Dge] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", Mge] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Lge] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [y] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [y] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [y] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [w] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...U(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [w] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: U() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...U()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [xi, ft] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [xi, al] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [w] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [xi, al] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", il, zge] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Em] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [w] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...W(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": W() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [u] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", il, ft] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [d] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [l] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [_] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [b] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [u] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [d] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [l] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [w] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [_] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [b] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ft] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: g() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", ft] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: g() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", ft] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [S] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [S] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [S] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Sm, ft] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [q] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [q] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [F] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [F] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ft] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ft] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": M() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": M() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": M() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": M() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": M() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": M() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": M() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": M() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": M() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": M() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": M() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": M() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": M() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": M() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": M() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": M() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": M() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": M() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", ft] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [xi, al, D2] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, Uge = /* @__PURE__ */ Sge(Gge); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function Bge(e, t, r) { return (t = qge(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function vj(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function ye(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? vj(Object(r), !0).forEach(function(n) { Bge(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vj(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function Yge(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function qge(e) { var t = Yge(e, "string"); return typeof t == "symbol" ? t : t + ""; } const xj = () => { }; let V3 = {}, _U = {}, OU = null, SU = { mark: xj, measure: xj }; try { typeof window < "u" && (V3 = window), typeof document < "u" && (_U = document), typeof MutationObserver < "u" && (OU = MutationObserver), typeof performance < "u" && (SU = performance); } catch { } const { userAgent: wj = "" } = V3.navigator || {}, pc = V3, Lr = _U, $j = OU, Sy = SU; pc.document; const gs = !!Lr.documentElement && !!Lr.head && typeof Lr.addEventListener == "function" && typeof Lr.createElement == "function", EU = ~wj.indexOf("MSIE") || ~wj.indexOf("Trident/"); var Kge = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Xge = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, AU = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, Jge = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, PU = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], $n = "classic", ox = "duotone", Qge = "sharp", Zge = "sharp-duotone", CU = [$n, ox, Qge, Zge], ebe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, tbe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, rbe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), nbe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, obe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kj = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, abe = ["kit"], ibe = { kit: { "fa-kit": "fak" } }, sbe = ["fak", "fakd"], lbe = { kit: { fak: "fa-kit" } }, _j = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Ey = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, cbe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ube = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], fbe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, dbe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, pbe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, mS = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, mbe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], hS = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...cbe, ...mbe], hbe = ["solid", "regular", "light", "thin", "duotone", "brands"], NU = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], gbe = NU.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), bbe = [...Object.keys(pbe), ...hbe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Ey.GROUP, Ey.SWAP_OPACITY, Ey.PRIMARY, Ey.SECONDARY].concat(NU.map((e) => "".concat(e, "x"))).concat(gbe.map((e) => "w-".concat(e))), ybe = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Bi = "___FONT_AWESOME___", gS = 16, TU = "fa", IU = "svg-inline--fa", Tu = "data-fa-i2svg", bS = "data-fa-pseudo-element", vbe = "data-fa-pseudo-element-pending", H3 = "data-prefix", G3 = "data-icon", Oj = "fontawesome-i2svg", xbe = "async", wbe = ["HTML", "HEAD", "STYLE", "SCRIPT"], jU = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Pb(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[$n]; } }); } const RU = ye({}, AU); RU[$n] = ye(ye(ye(ye({}, { "fa-duotone": "duotone" }), AU[$n]), kj.kit), kj["kit-duotone"]); const $be = Pb(RU), yS = ye({}, nbe); yS[$n] = ye(ye(ye(ye({}, { duotone: "fad" }), yS[$n]), _j.kit), _j["kit-duotone"]); const Sj = Pb(yS), vS = ye({}, mS); vS[$n] = ye(ye({}, vS[$n]), lbe.kit); const U3 = Pb(vS), xS = ye({}, dbe); xS[$n] = ye(ye({}, xS[$n]), ibe.kit); Pb(xS); const kbe = Kge, MU = "fa-layers-text", _be = Xge, Obe = ye({}, ebe); Pb(Obe); const Sbe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], F2 = Jge, Ebe = [...abe, ...bbe], Dh = pc.FontAwesomeConfig || {}; function Abe(e) { var t = Lr.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function Pbe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Lr && typeof Lr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = Pbe(Abe(t)); n != null && (Dh[r] = n); }); const DU = { styleDefault: "solid", familyDefault: $n, cssPrefix: TU, replacementClass: IU, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Dh.familyPrefix && (Dh.cssPrefix = Dh.familyPrefix); const Ld = ye(ye({}, DU), Dh); Ld.autoReplaceSvg || (Ld.observeMutations = !1); const He = {}; Object.keys(DU).forEach((e) => { Object.defineProperty(He, e, { enumerable: !0, set: function(t) { Ld[e] = t, Fh.forEach((r) => r(He)); }, get: function() { return Ld[e]; } }); }); Object.defineProperty(He, "familyPrefix", { enumerable: !0, set: function(e) { Ld.cssPrefix = e, Fh.forEach((t) => t(He)); }, get: function() { return Ld.cssPrefix; } }); pc.FontAwesomeConfig = He; const Fh = []; function Cbe(e) { return Fh.push(e), () => { Fh.splice(Fh.indexOf(e), 1); }; } const sl = gS, za = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function Nbe(e) { if (!e || !gs) return; const t = Lr.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Lr.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Lr.head.insertBefore(t, n), e; } const Tbe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function jg() { let e = 12, t = ""; for (; e-- > 0; ) t += Tbe[Math.random() * 62 | 0]; return t; } function ip(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function B3(e) { return e.classList ? ip(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function FU(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function Ibe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(FU(e[r]), '" '), "").trim(); } function ax(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function Y3(e) { return e.size !== za.size || e.x !== za.x || e.y !== za.y || e.rotate !== za.rotate || e.flipX || e.flipY; } function jbe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: u, path: c }; } function Rbe(e) { let { transform: t, width: r = gS, height: n = gS, startCentered: o = !1 } = e, a = ""; return o && EU ? a += "translate(".concat(t.x / sl - r / 2, "em, ").concat(t.y / sl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / sl, "em), calc(-50% + ").concat(t.y / sl, "em)) ") : a += "translate(".concat(t.x / sl, "em, ").concat(t.y / sl, "em) "), a += "scale(".concat(t.size / sl * (t.flipX ? -1 : 1), ", ").concat(t.size / sl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var Mbe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function LU() { const e = TU, t = IU, r = He.cssPrefix, n = He.replacementClass; let o = Mbe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let Ej = !1; function L2() { He.autoAddCss && !Ej && (Nbe(LU()), Ej = !0); } var Dbe = { mixout() { return { dom: { css: LU, insertCss: L2 } }; }, hooks() { return { beforeDOMElementCreation() { L2(); }, beforeI2svg() { L2(); } }; } }; const Yi = pc || {}; Yi[Bi] || (Yi[Bi] = {}); Yi[Bi].styles || (Yi[Bi].styles = {}); Yi[Bi].hooks || (Yi[Bi].hooks = {}); Yi[Bi].shims || (Yi[Bi].shims = []); var Wa = Yi[Bi]; const zU = [], WU = function() { Lr.removeEventListener("DOMContentLoaded", WU), C1 = 1, zU.map((e) => e()); }; let C1 = !1; gs && (C1 = (Lr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Lr.readyState), C1 || Lr.addEventListener("DOMContentLoaded", WU)); function Fbe(e) { gs && (C1 ? setTimeout(e, 0) : zU.push(e)); } function Cb(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? FU(e) : "<".concat(t, " ").concat(Ibe(r), ">").concat(n.map(Cb).join(""), ""); } function Aj(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var z2 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, u, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) u = o[s], c = i(c, e[u], u, e); return c; }; function Lbe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function VU(e) { const t = Lbe(e); return t.length === 1 ? t[0].toString(16) : null; } function zbe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function Pj(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function wS(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = Pj(t); typeof Wa.hooks.addPack == "function" && !n ? Wa.hooks.addPack(e, Pj(t)) : Wa.styles[e] = ye(ye({}, Wa.styles[e] || {}), o), e === "fas" && wS("fa", t); } const { styles: Rg, shims: Wbe } = Wa, HU = Object.keys(U3), Vbe = HU.reduce((e, t) => (e[t] = Object.keys(U3[t]), e), {}); let q3 = null, GU = {}, UU = {}, BU = {}, YU = {}, qU = {}; function Hbe(e) { return ~Ebe.indexOf(e); } function Gbe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Hbe(o) ? o : null; } const KU = () => { const e = (n) => z2(Rg, (o, a, i) => (o[i] = z2(a, n, {}), o), {}); GU = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), UU = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), qU = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in Rg || He.autoFetchSvg, r = z2(Wbe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); BU = r.names, YU = r.unicodes, q3 = ix(He.styleDefault, { family: He.familyDefault }); }; Cbe((e) => { q3 = ix(e.styleDefault, { family: He.familyDefault }); }); KU(); function K3(e, t) { return (GU[e] || {})[t]; } function Ube(e, t) { return (UU[e] || {})[t]; } function au(e, t) { return (qU[e] || {})[t]; } function XU(e) { return BU[e] || { prefix: null, iconName: null }; } function Bbe(e) { const t = YU[e], r = K3("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function mc() { return q3; } const JU = () => ({ prefix: null, iconName: null, rest: [] }); function Ybe(e) { let t = $n; const r = HU.reduce((n, o) => (n[o] = "".concat(He.cssPrefix, "-").concat(o), n), {}); return CU.forEach((n) => { (e.includes(r[n]) || e.some((o) => Vbe[n].includes(o))) && (t = n); }), t; } function ix(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = $n } = t, n = $be[r][e]; if (r === ox && !e) return "fad"; const o = Sj[r][e] || Sj[r][n], a = e in Wa.styles ? e : null; return o || a || null; } function qbe(e) { let t = [], r = null; return e.forEach((n) => { const o = Gbe(He.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function Cj(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function sx(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = hS.concat(ube), a = Cj(e.filter((l) => o.includes(l))), i = Cj(e.filter((l) => !hS.includes(l))), s = a.filter((l) => (n = l, !PU.includes(l))), [u = null] = s, c = Ybe(a), d = ye(ye({}, qbe(i)), {}, { prefix: ix(u, { family: c }) }); return ye(ye(ye({}, d), Qbe({ values: e, family: c, styles: Rg, config: He, canonical: d, givenPrefix: n })), Kbe(r, n, d)); } function Kbe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? XU(o) : {}, i = au(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Rg.far && Rg.fas && !He.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const Xbe = CU.filter((e) => e !== $n || e !== ox), Jbe = Object.keys(mS).filter((e) => e !== $n).map((e) => Object.keys(mS[e])).flat(); function Qbe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === ox, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Xbe.includes(r) && (Object.keys(a).find((l) => Jbe.includes(l)) || i.autoFetchSvg)) { const l = rbe.get(r).defaultShortPrefixId; n.prefix = l, n.iconName = au(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = mc() || "fas"), n; } let Zbe = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = ye(ye({}, this.definitions[a] || {}), o[a]), wS(a, o[a]); const i = U3[$n][a]; i && wS(i, o[a]), KU(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], u = s[2]; t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, Nj = [], If = {}; const ud = {}, eye = Object.keys(ud); function tye(e, t) { let { mixoutsTo: r } = t; return Nj = e, If = {}, Object.keys(ud).forEach((n) => { eye.indexOf(n) === -1 && delete ud[n]; }), Nj.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { If[i] || (If[i] = []), If[i].push(a[i]); }); } n.provides && n.provides(ud); }), r; } function $S(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (If[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Iu(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (If[e] || []).forEach((o) => { o.apply(null, r); }); } function hc() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return ud[e] ? ud[e].apply(null, t) : void 0; } function kS(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || mc(); if (t) return t = au(r, t) || t, Aj(QU.definitions, r, t) || Aj(Wa.styles, r, t); } const QU = new Zbe(), rye = () => { He.autoReplaceSvg = !1, He.observeMutations = !1, Iu("noAuto"); }, nye = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return gs ? (Iu("beforeI2svg", e), hc("pseudoElements2svg", e), hc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; He.autoReplaceSvg === !1 && (He.autoReplaceSvg = !0), He.observeMutations = !0, Fbe(() => { aye({ autoReplaceSvgRoot: t }), Iu("watch", e); }); } }, oye = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: au(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = ix(e[0]); return { prefix: r, iconName: au(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(He.cssPrefix, "-")) > -1 || e.match(kbe))) { const t = sx(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || mc(), iconName: au(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = mc(); return { prefix: t, iconName: au(t, e) || e }; } } }, so = { noAuto: rye, config: He, dom: nye, parse: oye, library: QU, findIconDefinition: kS, toHtml: Cb }, aye = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Lr } = e; (Object.keys(Wa.styles).length > 0 || He.autoFetchSvg) && gs && He.autoReplaceSvg && so.dom.i2svg({ node: t }); }; function lx(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Cb(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!gs) return; const r = Lr.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function iye(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (Y3(i) && r.found && !n.found) { const { width: s, height: u } = r, c = { x: s / u / 2, y: 0.5 }; o.style = ax(ye(ye({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function sye(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(He.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: ye(ye({}, o), {}, { id: i }), children: n }] }]; } function X3(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: u, titleId: c, extra: d, watchable: l = !1 } = e, { width: f, height: p } = r.found ? r : t, y = sbe.includes(n), m = [He.replacementClass, o ? "".concat(He.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" "); let h = { children: [], attributes: ye(ye({}, d.attributes), {}, { "data-prefix": n, "data-icon": o, class: m, role: d.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(f, " ").concat(p) }) }; const w = y && !~d.classes.indexOf("fa-fw") ? { width: "".concat(f / p * 16 * 0.0625, "em") } : {}; l && (h.attributes[Tu] = ""), s && (h.children.push({ tag: "title", attributes: { id: h.attributes["aria-labelledby"] || "title-".concat(c || jg()) }, children: [s] }), delete h.attributes.title); const $ = ye(ye({}, h), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: u, transform: a, symbol: i, styles: ye(ye({}, w), d.styles) }), { children: _, attributes: S } = r.found && t.found ? hc("generateAbstractMask", $) || { children: [], attributes: {} } : hc("generateAbstractIcon", $) || { children: [], attributes: {} }; return $.children = _, $.attributes = S, i ? sye($) : iye($); } function Tj(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, u = ye(ye(ye({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (u[Tu] = ""); const c = ye({}, i.styles); Y3(o) && (c.transform = Rbe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const d = ax(c); d.length > 0 && (u.style = d); const l = []; return l.push({ tag: "span", attributes: u, children: [t] }), a && l.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), l; } function lye(e) { const { content: t, title: r, extra: n } = e, o = ye(ye(ye({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = ax(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: W2 } = Wa; function _S(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(He.cssPrefix, "-").concat(F2.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(He.cssPrefix, "-").concat(F2.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(He.cssPrefix, "-").concat(F2.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const cye = { found: !1, width: 512, height: 512 }; function uye(e, t) { !jU && !He.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function OS(e, t) { let r = t; return t === "fa" && He.styleDefault !== null && (t = mc()), new Promise((n, o) => { if (r === "fa") { const a = XU(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && W2[t] && W2[t][e]) { const a = W2[t][e]; return n(_S(a)); } uye(e, t), n(ye(ye({}, cye), {}, { icon: He.showMissingIcons && e ? hc("missingIconAbstract") || {} : {} })); }); } const Ij = () => { }, SS = He.measurePerformance && Sy && Sy.mark && Sy.measure ? Sy : { mark: Ij, measure: Ij }, sh = 'FA "6.7.2"', fye = (e) => (SS.mark("".concat(sh, " ").concat(e, " begins")), () => ZU(e)), ZU = (e) => { SS.mark("".concat(sh, " ").concat(e, " ends")), SS.measure("".concat(sh, " ").concat(e), "".concat(sh, " ").concat(e, " begins"), "".concat(sh, " ").concat(e, " ends")); }; var J3 = { begin: fye, end: ZU }; const Rv = () => { }; function jj(e) { return typeof (e.getAttribute ? e.getAttribute(Tu) : null) == "string"; } function dye(e) { const t = e.getAttribute ? e.getAttribute(H3) : null, r = e.getAttribute ? e.getAttribute(G3) : null; return t && r; } function pye(e) { return e && e.classList && e.classList.contains && e.classList.contains(He.replacementClass); } function mye() { return He.autoReplaceSvg === !0 ? Mv.replace : Mv[He.autoReplaceSvg] || Mv.replace; } function hye(e) { return Lr.createElementNS("http://www.w3.org/2000/svg", e); } function gye(e) { return Lr.createElement(e); } function eB(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? hye : gye } = t; if (typeof e == "string") return Lr.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(eB(o, { ceFn: r })); }), n; } function bye(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const Mv = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(eB(r), t); }), t.getAttribute(Tu) === null && He.keepOriginalSource) { let r = Lr.createComment(bye(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~B3(t).indexOf(He.replacementClass)) return Mv.replace(e); const n = new RegExp("".concat(He.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === He.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Cb(a)).join(` `); t.setAttribute(Tu, ""), t.innerHTML = o; } }; function Rj(e) { e(); } function tB(e, t) { const r = typeof t == "function" ? t : Rv; if (e.length === 0) r(); else { let n = Rj; He.mutateApproach === xbe && (n = pc.requestAnimationFrame || Rj), n(() => { const o = mye(), a = J3.begin("mutate"); e.map(o), a(), r(); }); } } let Q3 = !1; function rB() { Q3 = !0; } function ES() { Q3 = !1; } let N1 = null; function Mj(e) { if (!$j || !He.observeMutations) return; const { treeCallback: t = Rv, nodeCallback: r = Rv, pseudoElementsCallback: n = Rv, observeMutationsRoot: o = Lr } = e; N1 = new $j((a) => { if (Q3) return; const i = mc(); ip(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !jj(s.addedNodes[0]) && (He.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && He.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jj(s.target) && ~Sbe.indexOf(s.attributeName)) if (s.attributeName === "class" && dye(s.target)) { const { prefix: u, iconName: c } = sx(B3(s.target)); s.target.setAttribute(H3, u || i), c && s.target.setAttribute(G3, c); } else pye(s.target) && r(s.target); }); }), gs && N1.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function yye() { N1 && N1.disconnect(); } function vye(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function xye(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = sx(B3(e)); return o.prefix || (o.prefix = mc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Ube(o.prefix, e.innerText) || K3(o.prefix, VU(e.innerText))), !o.iconName && He.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function wye(e) { const t = ip(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return He.autoA11y && (r ? t["aria-labelledby"] = "".concat(He.replacementClass, "-title-").concat(n || jg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function $ye() { return { iconName: null, title: null, titleId: null, prefix: null, transform: za, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function Dj(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = xye(e), a = wye(e), i = $S("parseNodeAttributes", {}, e); let s = t.styleParser ? vye(e) : []; return ye({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: za, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: kye } = Wa; function nB(e) { const t = He.autoReplaceSvg === "nest" ? Dj(e, { styleParser: !1 }) : Dj(e); return ~t.extra.classes.indexOf(MU) ? hc("generateLayersText", e, t) : hc("generateSvgReplacementMutation", e, t); } function _ye() { return [...obe, ...hS]; } function Fj(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!gs) return Promise.resolve(); const r = Lr.documentElement.classList, n = (d) => r.add("".concat(Oj, "-").concat(d)), o = (d) => r.remove("".concat(Oj, "-").concat(d)), a = He.autoFetchSvg ? _ye() : PU.concat(Object.keys(kye)); a.includes("fa") || a.push("fa"); const i = [".".concat(MU, ":not([").concat(Tu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Tu, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = ip(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const u = J3.begin("onTree"), c = s.reduce((d, l) => { try { const f = nB(l); f && d.push(f); } catch (f) { jU || f.name === "MissingIcon" && console.error(f); } return d; }, []); return new Promise((d, l) => { Promise.all(c).then((f) => { tB(f, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d(); }); }).catch((f) => { u(), l(f); }); }); } function Oye(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; nB(e).then((r) => { r && tB([r], t); }); } function Sye(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : kS(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : kS(o || {})), e(n, ye(ye({}, r), {}, { mask: o })); }; } const Eye = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = za, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: u = [], attributes: c = {}, styles: d = {} } = t; if (!e) return; const { prefix: l, iconName: f, icon: p } = e; return lx(ye({ type: "icon" }, e), () => (Iu("beforeDOMElementCreation", { iconDefinition: e, params: t }), He.autoA11y && (i ? c["aria-labelledby"] = "".concat(He.replacementClass, "-title-").concat(s || jg()) : (c["aria-hidden"] = "true", c.focusable = "false")), X3({ icons: { main: _S(p), mask: o ? _S(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: l, iconName: f, transform: ye(ye({}, za), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: d, classes: u } }))); }; var Aye = { mixout() { return { icon: Sye(Eye) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = Fj, e.nodeCallback = Oye, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Lr, callback: n = () => { } } = t; return Fj(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: u, mask: c, maskId: d, extra: l } = r; return new Promise((f, p) => { Promise.all([OS(n, i), c.iconName ? OS(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((y) => { let [m, h] = y; f([t, X3({ icons: { main: m, mask: h }, prefix: i, iconName: n, transform: s, symbol: u, maskId: d, title: o, titleId: a, extra: l, watchable: !0 })]); }).catch(p); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = ax(i); s.length > 0 && (n.style = s); let u; return Y3(a) && (u = hc("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(u || o.icon), { children: r, attributes: n }; }; } }, Pye = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return lx({ type: "layer" }, () => { Iu("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(He.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, Cye = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return lx({ type: "counter", content: e }, () => (Iu("beforeDOMElementCreation", { content: e, params: t }), lye({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(He.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, Nye = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = za, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return lx({ type: "text", content: e }, () => (Iu("beforeDOMElementCreation", { content: e, params: t }), Tj({ content: e, transform: ye(ye({}, za), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(He.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (EU) { const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / u, s = c.height / u; } return He.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Tj({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const Tye = new RegExp('"', "ug"), Lj = [1105920, 1112319], zj = ye(ye(ye(ye({}, { FontAwesome: { normal: "fas", 400: "fas" } }), tbe), ybe), fbe), AS = Object.keys(zj).reduce((e, t) => (e[t.toLowerCase()] = zj[t], e), {}), Iye = Object.keys(AS).reduce((e, t) => { const r = AS[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function jye(e) { const t = e.replace(Tye, ""), r = zbe(t, 0), n = r >= Lj[0] && r <= Lj[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: VU(o ? t[0] : t), isSecondary: n || o }; } function Rye(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (AS[r] || {})[o] || Iye[r]; } function Wj(e, t) { const r = "".concat(vbe).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = ip(e.children).filter((l) => l.getAttribute(bS) === t)[0], i = pc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(_be), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content"); if (a && !u) return e.removeChild(a), n(); if (u && d !== "none" && d !== "") { const l = i.getPropertyValue("content"); let f = Rye(s, c); const { value: p, isSecondary: y } = jye(l), m = u[0].startsWith("FontAwesome"); let h = K3(f, p), w = h; if (m) { const $ = Bbe(p); $.iconName && $.prefix && (h = $.iconName, f = $.prefix); } if (h && !y && (!a || a.getAttribute(H3) !== f || a.getAttribute(G3) !== w)) { e.setAttribute(r, w), a && e.removeChild(a); const $ = $ye(), { extra: _ } = $; _.attributes[bS] = t, OS(h, f).then((S) => { const b = X3(ye(ye({}, $), {}, { icons: { main: S, mask: JU() }, prefix: f, iconName: w, extra: _, watchable: !0 })), F = Lr.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Cb(z)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function Mye(e) { return Promise.all([Wj(e, "::before"), Wj(e, "::after")]); } function Dye(e) { return e.parentNode !== document.head && !~wbe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(bS) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function Vj(e) { if (gs) return new Promise((t, r) => { const n = ip(e.querySelectorAll("*")).filter(Dye).map(Mye), o = J3.begin("searchPseudoElements"); rB(), Promise.all(n).then(() => { o(), ES(), t(); }).catch(() => { o(), ES(), r(); }); }); } var Fye = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = Vj, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Lr } = t; He.searchPseudoElements && Vj(r); }; } }; let Hj = !1; var Lye = { mixout() { return { dom: { unwatch() { rB(), Hj = !0; } } }; }, hooks() { return { bootstrap() { Mj($S("mutationObserverCallbacks", {})); }, noAuto() { yye(); }, watch(e) { const { observeMutationsRoot: t } = e; Hj ? ES() : Mj($S("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const Gj = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var zye = { mixout() { return { parse: { transform: (e) => Gj(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = Gj(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = { transform: "".concat(s, " ").concat(u, " ").concat(c) }, l = { transform: "translate(".concat(a / 2 * -1, " -256)") }, f = { outer: i, inner: d, path: l }; return { tag: "g", attributes: ye({}, f.outer), children: [{ tag: "g", attributes: ye({}, f.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: ye(ye({}, r.icon.attributes), f.path) }] }] }; }; } }; const V2 = { x: 0, y: 0, width: "100%", height: "100%" }; function Uj(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Wye(e) { return e.tag === "g" ? e.children : [e]; } var Vye = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? sx(r.split(" ").map((o) => o.trim())) : JU(); return n.prefix || (n.prefix = mc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: u, icon: c } = o, { width: d, icon: l } = a, f = jbe({ transform: s, containerWidth: d, iconWidth: u }), p = { tag: "rect", attributes: ye(ye({}, V2), {}, { fill: "white" }) }, y = c.children ? { children: c.children.map(Uj) } : {}, m = { tag: "g", attributes: ye({}, f.inner), children: [Uj(ye({ tag: c.tag, attributes: ye(ye({}, c.attributes), f.path) }, y))] }, h = { tag: "g", attributes: ye({}, f.outer), children: [m] }, w = "mask-".concat(i || jg()), $ = "clip-".concat(i || jg()), _ = { tag: "mask", attributes: ye(ye({}, V2), {}, { id: w, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [p, h] }, S = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: $ }, children: Wye(l) }, _] }; return r.push(S, { tag: "rect", attributes: ye({ fill: "currentColor", "clip-path": "url(#".concat($, ")"), mask: "url(#".concat(w, ")") }, V2) }), { children: r, attributes: n }; }; } }, Hye = { provides(e) { let t = !1; pc.matchMedia && (t = pc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: ye(ye({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = ye(ye({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: ye(ye({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: ye(ye({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: ye(ye({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: ye(ye({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: ye(ye({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: ye(ye({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: ye(ye({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Gye = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, Uye = [Dbe, Aye, Pye, Cye, Nye, Fye, Lye, zye, Vye, Hye, Gye]; tye(Uye, { mixoutsTo: so }); so.noAuto; so.config; so.library; so.dom; const PS = so.parse; so.findIconDefinition; so.toHtml; const Bye = so.icon; so.layer; so.text; so.counter; function Yye(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Ay = { exports: {} }, H2 = { exports: {} }, Xt = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var Bj; function qye() { if (Bj) return Xt; Bj = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(b) { if (typeof b == "object" && b !== null) { var F = b.$$typeof; switch (F) { case t: switch (b = b.type, b) { case u: case c: case n: case a: case o: case l: return b; default: switch (b = b && b.$$typeof, b) { case s: case d: case y: case p: case i: return b; default: return F; } } case r: return F; } } } function S(b) { return _(b) === c; } return Xt.AsyncMode = u, Xt.ConcurrentMode = c, Xt.ContextConsumer = s, Xt.ContextProvider = i, Xt.Element = t, Xt.ForwardRef = d, Xt.Fragment = n, Xt.Lazy = y, Xt.Memo = p, Xt.Portal = r, Xt.Profiler = a, Xt.StrictMode = o, Xt.Suspense = l, Xt.isAsyncMode = function(b) { return S(b) || _(b) === u; }, Xt.isConcurrentMode = S, Xt.isContextConsumer = function(b) { return _(b) === s; }, Xt.isContextProvider = function(b) { return _(b) === i; }, Xt.isElement = function(b) { return typeof b == "object" && b !== null && b.$$typeof === t; }, Xt.isForwardRef = function(b) { return _(b) === d; }, Xt.isFragment = function(b) { return _(b) === n; }, Xt.isLazy = function(b) { return _(b) === y; }, Xt.isMemo = function(b) { return _(b) === p; }, Xt.isPortal = function(b) { return _(b) === r; }, Xt.isProfiler = function(b) { return _(b) === a; }, Xt.isStrictMode = function(b) { return _(b) === o; }, Xt.isSuspense = function(b) { return _(b) === l; }, Xt.isValidElementType = function(b) { return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m); }, Xt.typeOf = _, Xt; } var lr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var Yj; function Kye() { return Yj || (Yj = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119; function _(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m); } function S(k) { if (typeof k == "object" && k !== null) { var oe = k.$$typeof; switch (oe) { case t: var me = k.type; switch (me) { case u: case c: case n: case a: case o: case l: return me; default: var Le = me && me.$$typeof; switch (Le) { case s: case d: case y: case p: case i: return Le; default: return oe; } } case r: return oe; } } } var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1; function ee(k) { return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u; } function v(k) { return S(k) === c; } function g(k) { return S(k) === s; } function O(k) { return S(k) === i; } function P(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function A(k) { return S(k) === d; } function T(k) { return S(k) === n; } function N(k) { return S(k) === y; } function C(k) { return S(k) === p; } function I(k) { return S(k) === r; } function j(k) { return S(k) === a; } function R(k) { return S(k) === o; } function Q(k) { return S(k) === l; } lr.AsyncMode = b, lr.ConcurrentMode = F, lr.ContextConsumer = z, lr.ContextProvider = q, lr.Element = Y, lr.ForwardRef = B, lr.Fragment = Z, lr.Lazy = M, lr.Memo = te, lr.Portal = G, lr.Profiler = H, lr.StrictMode = U, lr.Suspense = W, lr.isAsyncMode = ee, lr.isConcurrentMode = v, lr.isContextConsumer = g, lr.isContextProvider = O, lr.isElement = P, lr.isForwardRef = A, lr.isFragment = T, lr.isLazy = N, lr.isMemo = C, lr.isPortal = I, lr.isProfiler = j, lr.isStrictMode = R, lr.isSuspense = Q, lr.isValidElementType = _, lr.typeOf = S; }()), lr; } var qj; function oB() { return qj || (qj = 1, process.env.NODE_ENV === "production" ? H2.exports = qye() : H2.exports = Kye()), H2.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var G2, Kj; function Xye() { if (Kj) return G2; Kj = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var u = Object.getOwnPropertyNames(i).map(function(d) { return i[d]; }); if (u.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(d) { c[d] = d; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return G2 = o() ? Object.assign : function(a, i) { for (var s, u = n(a), c, d = 1; d < arguments.length; d++) { s = Object(arguments[d]); for (var l in s) t.call(s, l) && (u[l] = s[l]); if (e) { c = e(s); for (var f = 0; f < c.length; f++) r.call(s, c[f]) && (u[c[f]] = s[c[f]]); } } return u; }, G2; } var U2, Xj; function Z3() { if (Xj) return U2; Xj = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return U2 = e, U2; } var Jj, Qj; function aB() { return Qj || (Qj = 1, Jj = Function.call.bind(Object.prototype.hasOwnProperty)), Jj; } var B2, Zj; function Jye() { if (Zj) return B2; Zj = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ Z3(), r = {}, n = /* @__PURE__ */ aB(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, u, c) { if (process.env.NODE_ENV !== "production") { for (var d in a) if (n(a, d)) { var l; try { if (typeof a[d] != "function") { var f = Error( (u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw f.name = "Invariant Violation", f; } l = a[d](i, d, u, s, null, t); } catch (y) { l = y; } if (l && !(l instanceof Error) && e( (u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), l instanceof Error && !(l.message in r)) { r[l.message] = !0; var p = c ? c() : ""; e( "Failed " + s + " type: " + l.message + (p ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, B2 = o, B2; } var Y2, e9; function Qye() { if (e9) return Y2; e9 = 1; var e = oB(), t = Xye(), r = /* @__PURE__ */ Z3(), n = /* @__PURE__ */ aB(), o = /* @__PURE__ */ Jye(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var u = "Warning: " + s; typeof console < "u" && console.error(u); try { throw new Error(u); } catch { } }); function i() { return null; } return Y2 = function(s, u) { var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; function l(v) { var g = v && (c && v[c] || v[d]); if (typeof g == "function") return g; } var f = "<>", p = { array: w("array"), bigint: w("bigint"), bool: w("boolean"), func: w("function"), number: w("number"), object: w("object"), string: w("string"), symbol: w("symbol"), any: $(), arrayOf: _, element: S(), elementType: b(), instanceOf: F, node: B(), objectOf: q, oneOf: z, oneOfType: Y, shape: M, exact: te }; function y(v, g) { return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g; } function m(v, g) { this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = ""; } m.prototype = Error.prototype; function h(v) { if (process.env.NODE_ENV !== "production") var g = {}, O = 0; function P(T, N, C, I, j, R, Q) { if (I = I || f, R = R || C, Q !== r) { if (u) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var oe = I + ":" + C; !g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors O < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), g[oe] = !0, O++); } } return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R); } var A = P.bind(null, !1); return A.isRequired = P.bind(null, !0), A; } function w(v) { function g(O, P, A, T, N, C) { var I = O[P], j = U(I); if (j !== v) { var R = W(I); return new m( "Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."), { expectedType: v } ); } return null; } return h(g); } function $() { return h(i); } function _(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf."); var C = O[P]; if (!Array.isArray(C)) { var I = U(C); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array.")); } for (var j = 0; j < C.length; j++) { var R = v(C, j, A, T, N + "[" + j + "]", r); if (R instanceof Error) return R; } return null; } return h(g); } function S() { function v(g, O, P, A, T) { var N = g[O]; if (!s(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement.")); } return null; } return h(v); } function b() { function v(g, O, P, A, T) { var N = g[O]; if (!e.isValidElementType(N)) { var C = U(N); return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type.")); } return null; } return h(v); } function F(v) { function g(O, P, A, T, N) { if (!(O[P] instanceof v)) { var C = v.name || f, I = ee(O[P]); return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`.")); } return null; } return h(g); } function z(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function g(O, P, A, T, N) { for (var C = O[P], I = 0; I < v.length; I++) if (y(C, v[I])) return null; var j = JSON.stringify(v, function(R, Q) { var k = W(Q); return k === "symbol" ? String(Q) : Q; }); return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + ".")); } return h(g); } function q(v) { function g(O, P, A, T, N) { if (typeof v != "function") return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf."); var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object.")); for (var j in C) if (n(C, j)) { var R = v(C, j, A, T, N + "." + j, r); if (R instanceof Error) return R; } return null; } return h(g); } function Y(v) { if (!Array.isArray(v)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var g = 0; g < v.length; g++) { var O = v[g]; if (typeof O != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "." ), i; } function P(A, T, N, C, I) { for (var j = [], R = 0; R < v.length; R++) { var Q = v[R], k = Q(A, T, N, C, I, r); if (k == null) return null; k.data && n(k.data, "expectedType") && j.push(k.data.expectedType); } var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : ""; return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + ".")); } return h(P); } function B() { function v(g, O, P, A, T) { return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode.")); } return h(v); } function Z(v, g, O, P, A) { return new m( (v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`." ); } function M(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); for (var j in v) { var R = v[j]; if (typeof R != "function") return Z(A, T, N, j, W(R)); var Q = R(C, j, A, T, N + "." + j, r); if (Q) return Q; } return null; } return h(g); } function te(v) { function g(O, P, A, T, N) { var C = O[P], I = U(C); if (I !== "object") return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`.")); var j = t({}, O[P], v); for (var R in j) { var Q = v[R]; if (n(v, R) && typeof Q != "function") return Z(A, T, N, R, W(Q)); if (!Q) return new m( "Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(v), null, " ") ); var k = Q(C, R, A, T, N + "." + R, r); if (k) return k; } return null; } return h(g); } function G(v) { switch (typeof v) { case "number": case "string": case "undefined": return !0; case "boolean": return !v; case "object": if (Array.isArray(v)) return v.every(G); if (v === null || s(v)) return !0; var g = l(v); if (g) { var O = g.call(v), P; if (g !== v.entries) { for (; !(P = O.next()).done; ) if (!G(P.value)) return !1; } else for (; !(P = O.next()).done; ) { var A = P.value; if (A && !G(A[1])) return !1; } } else return !1; return !0; default: return !1; } } function H(v, g) { return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1; } function U(v) { var g = typeof v; return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g; } function W(v) { if (typeof v > "u" || v === null) return "" + v; var g = U(v); if (g === "object") { if (v instanceof Date) return "date"; if (v instanceof RegExp) return "regexp"; } return g; } function X(v) { var g = W(v); switch (g) { case "array": case "object": return "an " + g; case "boolean": case "date": case "regexp": return "a " + g; default: return g; } } function ee(v) { return !v.constructor || !v.constructor.name ? f : v.constructor.name; } return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p; }, Y2; } var q2, t9; function Zye() { if (t9) return q2; t9 = 1; var e = /* @__PURE__ */ Z3(); function t() { } function r() { } return r.resetWarningCache = t, q2 = function() { function n(i, s, u, c, d, l) { if (l !== e) { var f = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw f.name = "Invariant Violation", f; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, q2; } var r9; function eve() { if (r9) return Ay.exports; if (r9 = 1, process.env.NODE_ENV !== "production") { var e = oB(), t = !0; Ay.exports = /* @__PURE__ */ Qye()(e.isElement, t); } else Ay.exports = /* @__PURE__ */ Zye()(); return Ay.exports; } var tve = /* @__PURE__ */ eve(); const Ct = /* @__PURE__ */ Yye(tve); function n9(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function wa(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? n9(Object(r), !0).forEach(function(n) { jf(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n9(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function T1(e) { "@babel/helpers - typeof"; return T1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, T1(e); } function jf(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function rve(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function nve(e, t) { if (e == null) return {}; var r = rve(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function CS(e) { return ove(e) || ave(e) || ive(e) || sve(); } function ove(e) { if (Array.isArray(e)) return NS(e); } function ave(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function ive(e, t) { if (e) { if (typeof e == "string") return NS(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return NS(e, t); } } function NS(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function sve() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function lve(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": u, "fa-spin-reverse": d, "fa-spin-pulse": c, "fa-pulse": l, "fa-fw": f, "fa-inverse": p, "fa-border": y, "fa-li": m, "fa-flip": h === !0, "fa-flip-horizontal": h === "horizontal" || h === "both", "fa-flip-vertical": h === "vertical" || h === "both" }, jf(t, "fa-".concat(w), typeof w < "u" && w !== null), jf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), jf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), jf(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(S).map(function(b) { return S[b] ? b : null; }).filter(function(b) { return b; }); } function cve(e) { return e = e - 0, e === e; } function iB(e) { return cve(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var uve = ["style"]; function fve(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function dve(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = iB(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[fve(o)] = a : t[o] = a, t; }, {}); } function sB(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(u) { return sB(e, u); }), o = Object.keys(t.attributes || {}).reduce(function(u, c) { var d = t.attributes[c]; switch (c) { case "class": u.attrs.className = d, delete t.attributes.class; break; case "style": u.attrs.style = dve(d); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[iB(c)] = d; } return u; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = nve(r, uve); return o.attrs.style = wa(wa({}, o.attrs.style), i), e.apply(void 0, [t.tag, wa(wa({}, o.attrs), s)].concat(CS(n))); } var lB = !1; try { lB = process.env.NODE_ENV === "production"; } catch { } function pve() { if (!lB && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function o9(e) { if (e && T1(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (PS.icon) return PS.icon(e); if (e === null) return null; if (e && T1(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function K2(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? jf({}, e, t) : {}; } var a9 = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, Kn = /* @__PURE__ */ ae.forwardRef(function(e, t) { var r = wa(wa({}, a9), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = o9(n), l = K2("classes", [].concat(CS(lve(r)), CS((i || "").split(" ")))), f = K2("transform", typeof r.transform == "string" ? PS.transform(r.transform) : r.transform), p = K2("mask", o9(o)), y = Bye(d, wa(wa(wa(wa({}, l), f), p), {}, { symbol: a, title: s, titleId: u, maskId: c })); if (!y) return pve("Could not find icon", d), null; var m = y.abstract, h = { ref: t }; return Object.keys(r).forEach(function(w) { a9.hasOwnProperty(w) || (h[w] = r[w]); }), mve(m[0], h); }); Kn.displayName = "FontAwesomeIcon"; Kn.propTypes = { beat: Ct.bool, border: Ct.bool, beatFade: Ct.bool, bounce: Ct.bool, className: Ct.string, fade: Ct.bool, flash: Ct.bool, mask: Ct.oneOfType([Ct.object, Ct.array, Ct.string]), maskId: Ct.string, fixedWidth: Ct.bool, inverse: Ct.bool, flip: Ct.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Ct.oneOfType([Ct.object, Ct.array, Ct.string]), listItem: Ct.bool, pull: Ct.oneOf(["right", "left"]), pulse: Ct.bool, rotation: Ct.oneOf([0, 90, 180, 270]), shake: Ct.bool, size: Ct.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Ct.bool, spinPulse: Ct.bool, spinReverse: Ct.bool, symbol: Ct.oneOfType([Ct.bool, Ct.string]), title: Ct.string, titleId: Ct.string, transform: Ct.oneOfType([Ct.string, Ct.object]), swapOpacity: Ct.bool }; var mve = sB.bind(null, ae.createElement); const eP = "-", hve = (e) => { const t = bve(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(eP); return a[0] === "" && a.length !== 1 && a.shift(), cB(a, t) || gve(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, cB = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? cB(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(eP); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, i9 = /^\[(.+)\]$/, gve = (e) => { if (i9.test(e)) { const t = i9.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, bve = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return vve(Object.entries(e.classGroups), r).forEach(([o, a]) => { TS(a, n, o, t); }), n; }, TS = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : s9(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (yve(o)) { TS(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { TS(i, s9(t, a), r, n); }); }); }, s9 = (e, t) => { let r = e; return t.split(eP).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, yve = (e) => e.isThemeGetter, vve = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, xve = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, uB = "!", wve = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const u = []; let c = 0, d = 0, l; for (let h = 0; h < s.length; h++) { let w = s[h]; if (c === 0) { if (w === o && (n || s.slice(h, h + a) === t)) { u.push(s.slice(d, h)), d = h + a; continue; } if (w === "/") { l = h; continue; } } w === "[" ? c++ : w === "]" && c--; } const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(uB), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0; return { modifiers: u, hasImportantModifier: p, baseClassName: y, maybePostfixModifierPosition: m }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, $ve = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, kve = (e) => ({ cache: xve(e.cacheSize), parseClassName: wve(e), ...hve(e) }), _ve = /\s+/, Ove = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(_ve); let s = ""; for (let u = i.length - 1; u >= 0; u -= 1) { const c = i[u], { modifiers: d, hasImportantModifier: l, baseClassName: f, maybePostfixModifierPosition: p } = r(c); let y = !!p, m = n(y ? f.substring(0, p) : f); if (!m) { if (!y) { s = c + (s.length > 0 ? " " + s : s); continue; } if (m = n(f), !m) { s = c + (s.length > 0 ? " " + s : s); continue; } y = !1; } const h = $ve(d).join(":"), w = l ? h + uB : h, $ = w + m; if (a.includes($)) continue; a.push($); const _ = o(m, y); for (let S = 0; S < _.length; ++S) { const b = _[S]; a.push(w + b); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Sve() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = fB(t)) && (n && (n += " "), n += r); return n; } const fB = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = fB(e[n])) && (r && (r += " "), r += t); return r; }; function Eve(e, ...t) { let r, n, o, a = i; function i(u) { const c = t.reduce((d, l) => l(d), e()); return r = kve(c), n = r.cache.get, o = r.cache.set, a = s, s(u); } function s(u) { const c = n(u); if (c) return c; const d = Ove(u, r); return o(u, d), d; } return function() { return a(Sve.apply(null, arguments)); }; } const Er = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, dB = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ave = /^\d+\/\d+$/, Pve = /* @__PURE__ */ new Set(["px", "full", "screen"]), Cve = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Nve = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Tve = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Ive = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, jve = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, wi = (e) => fd(e) || Pve.has(e) || Ave.test(e), ll = (e) => sp(e, "length", Vve), fd = (e) => !!e && !Number.isNaN(Number(e)), X2 = (e) => sp(e, "number", fd), Am = (e) => !!e && Number.isInteger(Number(e)), Rve = (e) => e.endsWith("%") && fd(e.slice(0, -1)), dt = (e) => dB.test(e), cl = (e) => Cve.test(e), Mve = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Dve = (e) => sp(e, Mve, pB), Fve = (e) => sp(e, "position", pB), Lve = /* @__PURE__ */ new Set(["image", "url"]), zve = (e) => sp(e, Lve, Gve), Wve = (e) => sp(e, "", Hve), Pm = () => !0, sp = (e, t, r) => { const n = dB.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Vve = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Nve.test(e) && !Tve.test(e) ), pB = () => !1, Hve = (e) => Ive.test(e), Gve = (e) => jve.test(e), Uve = () => { const e = Er("colors"), t = Er("spacing"), r = Er("blur"), n = Er("brightness"), o = Er("borderColor"), a = Er("borderRadius"), i = Er("borderSpacing"), s = Er("borderWidth"), u = Er("contrast"), c = Er("grayscale"), d = Er("hueRotate"), l = Er("invert"), f = Er("gap"), p = Er("gradientColorStops"), y = Er("gradientColorStopPositions"), m = Er("inset"), h = Er("margin"), w = Er("opacity"), $ = Er("padding"), _ = Er("saturate"), S = Er("scale"), b = Er("sepia"), F = Er("skew"), z = Er("space"), q = Er("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", dt, t], M = () => [dt, t], te = () => ["", wi, ll], G = () => ["auto", fd, dt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", dt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [fd, dt]; return { cacheSize: 500, separator: ":", theme: { colors: [Pm], spacing: [wi, ll], blur: ["none", "", cl, dt], brightness: g(), borderColor: [e], borderRadius: ["none", "", "full", cl, dt], borderSpacing: M(), borderWidth: te(), contrast: g(), grayscale: ee(), hueRotate: g(), invert: ee(), gap: M(), gradientColorStops: [e], gradientColorStopPositions: [Rve, ll], inset: Z(), margin: Z(), opacity: g(), padding: M(), saturate: g(), scale: g(), sepia: ee(), skew: g(), space: M(), translate: M() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", dt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [cl] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": v() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": v() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...H(), dt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: B() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": B() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": B() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: Y() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": Y() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": Y() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [m] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [m] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [m] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [m] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [m] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [m] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [m] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [m] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [m] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Am, dt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: Z() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", dt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ee() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ee() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Am, dt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Pm] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Am, dt] }, dt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": G() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": G() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Pm] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Am, dt] }, dt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": G() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": G() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", dt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", dt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [f] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [f] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [f] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...X()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...X(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...X(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [$] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [$] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [$] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [$] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [$] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [$] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [$] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [$] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [$] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [h] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [h] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [h] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [h] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [h] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [h] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [h] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [h] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [h] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [z] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [z] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", dt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [dt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [dt, t, "none", "full", "min", "max", "fit", "prose", { screen: [cl] }, cl] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [dt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [dt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [dt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [dt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", cl, ll] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", X2] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Pm] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", dt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", fd, X2] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", wi, dt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", dt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", dt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [w] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [w] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...U(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", wi, ll] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", wi, dt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: M() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", dt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", dt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [w] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...H(), Fve] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", Dve] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, zve] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [y] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [y] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [y] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [w] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...U(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [w] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: U() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...U()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [wi, dt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [wi, ll] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [w] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [wi, ll] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", cl, Wve] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Pm] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [w] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...W(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": W() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [u] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", cl, dt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [d] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [l] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [_] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [b] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [u] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [d] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [l] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [w] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [_] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [b] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", dt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: g() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", dt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: g() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", dt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [S] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [S] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [S] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Am, dt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [q] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [q] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [F] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [F] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", dt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", dt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": M() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": M() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": M() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": M() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": M() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": M() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": M() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": M() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": M() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": M() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": M() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": M() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": M() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": M() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": M() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": M() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": M() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": M() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", dt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [wi, ll, X2] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, l9 = /* @__PURE__ */ Eve(Uve); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const hf = { prefix: "fas", iconName: "spinner-third", icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"] }, Io = ({ icon: e, iconClassName: t, children: r, className: n, htmlFor: o, variant: a = "primary", disabled: i, iconFlip: s = !1, loading: u, as: c = "button", href: d, target: l, ...f }) => { function p(h) { switch (h) { case "secondary": return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary"; case "action": return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action"; case "destructive": return "bg-red hover:bg-red/90 text-white focus-visible:outline-red"; case "ghost": return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600"; case "primary": default: return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600"; } } const y = l9( i || u ? "opacity-50 pointer-events-none" : "" ), m = l9( "w-fit text-sm font-medium rounded-lg px-3 py-2 border border-transparent shadow-sm focus-visible:outline focus-visible:outline-0 focus-visible:outline-offset-0 transition-all duration-150 flex gap-2 items-center justify-center active:scale-95 transform", p(a), n, y ); return o ? /* @__PURE__ */ Te("label", { className: m, htmlFor: o, style: f.style, children: [ u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }), r, u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }) ] }) : c === "link" && d ? /* @__PURE__ */ Te( "a", { href: d, className: m, style: f.style, ...f, target: l, children: [ u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }), r, u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }) ] } ) : /* @__PURE__ */ Te( "button", { className: m, disabled: i || u, ...f, htmlFor: o, children: [ u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }), r, u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }) ] } ); }; var Dv = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Dv || {}); Dv.FEATURED, Dv.MINE, Dv.BOOKMARKED; function Bve(e, t = !1) { return window.__TAURI_INTERNALS__.transformCallback(e, t); } async function jo(e, t = {}, r) { return window.__TAURI_INTERNALS__.invoke(e, t, r); } var c9; (function(e) { e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave"; })(c9 || (c9 = {})); async function Yve(e, t) { window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e, t), await jo("plugin:event|unlisten", { event: e, eventId: t }); } async function qve(e, t, r) { var n; const o = (n = void 0) !== null && n !== void 0 ? n : { kind: "Any" }; return jo("plugin:event|listen", { event: e, target: o, handler: Bve(t) }).then((a) => async () => Yve(e, a)); } const Kve = async () => await jo("get_fal_api_key_command"), Xve = async (e) => await jo("set_fal_api_key_command", { request: { key: e } }), Jve = async () => await jo("midjourney_get_credential_info_command"), Qve = async () => { try { return await jo("get_provider_order_command"); } catch (e) { throw e; } }; var $a = /* @__PURE__ */ ((e) => (e.ArtCraft = "artcraft", e.Fal = "fal", e.Sora = "sora", e))($a || {}); const Zve = async (e) => await jo("set_provider_order_command", { request: { providers: e.providers } }), I1 = async () => await jo("get_app_preferences_command"); var Vl = /* @__PURE__ */ ((e) => (e.PreferredDownloadDirectory = "preferred_download_directory", e.PlaySounds = "play_sounds", e.EnqueueSuccessSound = "enqueue_success_sound", e.EnqueueFailureSound = "enqueue_failure_sound", e.GenerationSuccessSound = "generation_success_sound", e.GenerationFailureSound = "generation_failure_sound", e.GenerationEnqueueSound = "generation_enqueue_sound", e))(Vl || {}); const tu = async (e) => await jo("update_app_preferences_command", { request: { preference: e.preference, value: e.value } }); var _f = /* @__PURE__ */ ((e) => (e.NotSetUp = "not_set_up", e.ExpiredOrError = "expired_or_error", e.Valid = "valid", e))(_f || {}); const u9 = async () => { const e = await jo("check_sora_session_command"); return console.log(">>> sora result", e), e; }, e1e = async () => await jo("sora_logout_command"); function t1e(e) { ue(() => { let t; return (async () => t = await qve( "sora-login-success", (r) => { e(r.payload); } ))(), () => { t && t(); }; }, [e]); } const r1e = async () => { try { return await jo("get_app_info_command"); } catch (e) { throw e; } }; async function Mg(e, t = {}, r) { return window.__TAURI_INTERNALS__.invoke(e, t, r); } async function n1e(e = {}) { return typeof e == "object" && Object.freeze(e), await Mg("plugin:dialog|open", { options: e }); } const tP = "-", o1e = (e) => { const t = i1e(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(tP); return a[0] === "" && a.length !== 1 && a.shift(), mB(a, t) || a1e(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, mB = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? mB(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(tP); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, f9 = /^\[(.+)\]$/, a1e = (e) => { if (f9.test(e)) { const t = f9.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, i1e = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return l1e(Object.entries(e.classGroups), r).forEach(([o, a]) => { IS(a, n, o, t); }), n; }, IS = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : d9(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (s1e(o)) { IS(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { IS(i, d9(t, a), r, n); }); }); }, d9 = (e, t) => { let r = e; return t.split(tP).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, s1e = (e) => e.isThemeGetter, l1e = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, c1e = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, hB = "!", u1e = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const u = []; let c = 0, d = 0, l; for (let h = 0; h < s.length; h++) { let w = s[h]; if (c === 0) { if (w === o && (n || s.slice(h, h + a) === t)) { u.push(s.slice(d, h)), d = h + a; continue; } if (w === "/") { l = h; continue; } } w === "[" ? c++ : w === "]" && c--; } const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(hB), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0; return { modifiers: u, hasImportantModifier: p, baseClassName: y, maybePostfixModifierPosition: m }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, f1e = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, d1e = (e) => ({ cache: c1e(e.cacheSize), parseClassName: u1e(e), ...o1e(e) }), p1e = /\s+/, m1e = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(p1e); let s = ""; for (let u = i.length - 1; u >= 0; u -= 1) { const c = i[u], { modifiers: d, hasImportantModifier: l, baseClassName: f, maybePostfixModifierPosition: p } = r(c); let y = !!p, m = n(y ? f.substring(0, p) : f); if (!m) { if (!y) { s = c + (s.length > 0 ? " " + s : s); continue; } if (m = n(f), !m) { s = c + (s.length > 0 ? " " + s : s); continue; } y = !1; } const h = f1e(d).join(":"), w = l ? h + hB : h, $ = w + m; if (a.includes($)) continue; a.push($); const _ = o(m, y); for (let S = 0; S < _.length; ++S) { const b = _[S]; a.push(w + b); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function h1e() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = gB(t)) && (n && (n += " "), n += r); return n; } const gB = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = gB(e[n])) && (r && (r += " "), r += t); return r; }; function g1e(e, ...t) { let r, n, o, a = i; function i(u) { const c = t.reduce((d, l) => l(d), e()); return r = d1e(c), n = r.cache.get, o = r.cache.set, a = s, s(u); } function s(u) { const c = n(u); if (c) return c; const d = m1e(u, r); return o(u, d), d; } return function() { return a(h1e.apply(null, arguments)); }; } const Ar = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, bB = /^\[(?:([a-z-]+):)?(.+)\]$/i, b1e = /^\d+\/\d+$/, y1e = /* @__PURE__ */ new Set(["px", "full", "screen"]), v1e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, x1e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, w1e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, $1e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, k1e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, $i = (e) => dd(e) || y1e.has(e) || b1e.test(e), ul = (e) => lp(e, "length", N1e), dd = (e) => !!e && !Number.isNaN(Number(e)), J2 = (e) => lp(e, "number", dd), Cm = (e) => !!e && Number.isInteger(Number(e)), _1e = (e) => e.endsWith("%") && dd(e.slice(0, -1)), pt = (e) => bB.test(e), fl = (e) => v1e.test(e), O1e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), S1e = (e) => lp(e, O1e, yB), E1e = (e) => lp(e, "position", yB), A1e = /* @__PURE__ */ new Set(["image", "url"]), P1e = (e) => lp(e, A1e, I1e), C1e = (e) => lp(e, "", T1e), Nm = () => !0, lp = (e, t, r) => { const n = bB.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, N1e = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. x1e.test(e) && !w1e.test(e) ), yB = () => !1, T1e = (e) => $1e.test(e), I1e = (e) => k1e.test(e), j1e = () => { const e = Ar("colors"), t = Ar("spacing"), r = Ar("blur"), n = Ar("brightness"), o = Ar("borderColor"), a = Ar("borderRadius"), i = Ar("borderSpacing"), s = Ar("borderWidth"), u = Ar("contrast"), c = Ar("grayscale"), d = Ar("hueRotate"), l = Ar("invert"), f = Ar("gap"), p = Ar("gradientColorStops"), y = Ar("gradientColorStopPositions"), m = Ar("inset"), h = Ar("margin"), w = Ar("opacity"), $ = Ar("padding"), _ = Ar("saturate"), S = Ar("scale"), b = Ar("sepia"), F = Ar("skew"), z = Ar("space"), q = Ar("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", pt, t], M = () => [pt, t], te = () => ["", $i, ul], G = () => ["auto", dd, pt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", pt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [dd, pt]; return { cacheSize: 500, separator: ":", theme: { colors: [Nm], spacing: [$i, ul], blur: ["none", "", fl, pt], brightness: g(), borderColor: [e], borderRadius: ["none", "", "full", fl, pt], borderSpacing: M(), borderWidth: te(), contrast: g(), grayscale: ee(), hueRotate: g(), invert: ee(), gap: M(), gradientColorStops: [e], gradientColorStopPositions: [_1e, ul], inset: Z(), margin: Z(), opacity: g(), padding: M(), saturate: g(), scale: g(), sepia: ee(), skew: g(), space: M(), translate: M() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", pt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [fl] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": v() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": v() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...H(), pt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: B() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": B() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": B() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: Y() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": Y() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": Y() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [m] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [m] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [m] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [m] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [m] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [m] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [m] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [m] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [m] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Cm, pt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: Z() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", pt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ee() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ee() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Cm, pt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Nm] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Cm, pt] }, pt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": G() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": G() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Nm] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Cm, pt] }, pt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": G() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": G() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", pt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", pt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [f] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [f] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [f] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...X()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...X(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...X(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [$] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [$] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [$] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [$] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [$] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [$] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [$] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [$] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [$] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [h] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [h] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [h] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [h] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [h] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [h] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [h] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [h] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [h] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [z] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [z] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", pt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [pt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [pt, t, "none", "full", "min", "max", "fit", "prose", { screen: [fl] }, fl] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [pt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [pt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [pt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [pt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", fl, ul] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", J2] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Nm] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", pt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", dd, J2] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", $i, pt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", pt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", pt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [w] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [w] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...U(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", $i, ul] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", $i, pt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: M() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", pt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", pt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [w] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...H(), E1e] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", S1e] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, P1e] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [y] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [y] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [y] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [w] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...U(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [w] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: U() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...U()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [$i, pt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [$i, ul] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [w] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [$i, ul] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", fl, C1e] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Nm] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [w] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...W(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": W() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [u] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", fl, pt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [d] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [l] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [_] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [b] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [u] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [d] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [l] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [w] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [_] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [b] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", pt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: g() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", pt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: g() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", pt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [S] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [S] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [S] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Cm, pt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [q] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [q] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [F] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [F] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", pt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", pt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": M() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": M() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": M() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": M() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": M() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": M() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": M() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": M() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": M() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": M() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": M() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": M() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": M() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": M() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": M() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": M() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": M() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": M() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", pt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [$i, ul, J2] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, R1e = /* @__PURE__ */ g1e(j1e), jn = ({ className: e, children: t, required: r, ...n }) => /* @__PURE__ */ Te( "label", { className: R1e("text-base-fg mb-2 text-[15px] font-medium", e), ...n, children: [ t, r && /* @__PURE__ */ K("span", { className: "ml-0.5 text-[#ff6467]", children: "*" }) ] } ), M1e = (e) => { const [t, r] = de(void 0); ue(() => { (async () => { const d = await I1(); console.log("prefs", d), r(d.preferences); })(); }, []); const n = (t == null ? void 0 : t.preferred_download_directory) || {}, o = "custom" in n ? n.custom : "", a = "system" in n ? "System Download Directory" : o, i = async () => { const c = await I1(); console.log("prefs", c), r(c.preferences); }; return /* @__PURE__ */ Te("div", { className: "space-y-4 text-base-fg", children: [ /* @__PURE__ */ Te("div", { className: "space-y-2", children: [ /* @__PURE__ */ K(jn, { htmlFor: "download-path", children: "Default Download Directory" }), /* @__PURE__ */ K("p", { className: "opacity-80", children: "This is where downloads are placed after downloading. The current path is:" }), /* @__PURE__ */ K("div", { className: "py-1.5 px-2 rounded-md mt-1 bg-ui-panel border border-ui-panel-border text-base-fg", children: /* @__PURE__ */ K("pre", { children: a }) }) ] }), /* @__PURE__ */ Te("div", { className: "flex gap-2", children: [ /* @__PURE__ */ K(Io, { variant: "primary", onClick: async () => { let c = await n1e({ multiple: !1, directory: !0, defaultPath: o || void 0 }); c !== null && (await tu({ preference: Vl.PreferredDownloadDirectory, value: { custom: c } }), await i()); }, children: "Choose Directory" }), /* @__PURE__ */ K(Io, { variant: "secondary", onClick: async () => { await tu({ preference: Vl.PreferredDownloadDirectory, value: { system: "downloads" } }), await i(); }, children: "Use Default" }) ] }) ] }); }; var vB = (e) => { throw TypeError(e); }, xB = (e, t, r) => t.has(e) || vB("Cannot " + r), dl = (e, t, r) => (xB(e, t, "read from private field"), r ? r.call(e) : t.get(e)), wB = (e, t, r) => t.has(e) ? vB("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), p9 = (e, t, r, n) => (xB(e, t, "write to private field"), t.set(e, r), r), Tm = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, m9 = {}; /*! * howler.js v2.2.4 * howlerjs.com * * (c) 2013-2020, James Simpson of GoldFire Studios * goldfirestudios.com * * MIT License */ var h9; function D1e() { return h9 || (h9 = 1, function(e) { (function() { var t = function() { this.init(); }; t.prototype = { /** * Initialize the global Howler object. * @return {Howler} */ init: function() { var l = this || r; return l._counter = 1e3, l._html5AudioPool = [], l.html5PoolSize = 10, l._codecs = {}, l._howls = [], l._muted = !1, l._volume = 1, l._canPlayEvent = "canplaythrough", l._navigator = typeof window < "u" && window.navigator ? window.navigator : null, l.masterGain = null, l.noAudio = !1, l.usingWebAudio = !0, l.autoSuspend = !0, l.ctx = null, l.autoUnlock = !0, l._setup(), l; }, /** * Get/set the global volume for all sounds. * @param {Float} vol Volume from 0.0 to 1.0. * @return {Howler/Float} Returns self or current volume. */ volume: function(l) { var f = this || r; if (l = parseFloat(l), f.ctx || d(), typeof l < "u" && l >= 0 && l <= 1) { if (f._volume = l, f._muted) return f; f.usingWebAudio && f.masterGain.gain.setValueAtTime(l, r.ctx.currentTime); for (var p = 0; p < f._howls.length; p++) if (!f._howls[p]._webAudio) for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) { var h = f._howls[p]._soundById(y[m]); h && h._node && (h._node.volume = h._volume * l); } return f; } return f._volume; }, /** * Handle muting and unmuting globally. * @param {Boolean} muted Is muted or not. */ mute: function(l) { var f = this || r; f.ctx || d(), f._muted = l, f.usingWebAudio && f.masterGain.gain.setValueAtTime(l ? 0 : f._volume, r.ctx.currentTime); for (var p = 0; p < f._howls.length; p++) if (!f._howls[p]._webAudio) for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) { var h = f._howls[p]._soundById(y[m]); h && h._node && (h._node.muted = l ? !0 : h._muted); } return f; }, /** * Handle stopping all sounds globally. */ stop: function() { for (var l = this || r, f = 0; f < l._howls.length; f++) l._howls[f].stop(); return l; }, /** * Unload and destroy all currently loaded Howl objects. * @return {Howler} */ unload: function() { for (var l = this || r, f = l._howls.length - 1; f >= 0; f--) l._howls[f].unload(); return l.usingWebAudio && l.ctx && typeof l.ctx.close < "u" && (l.ctx.close(), l.ctx = null, d()), l; }, /** * Check for codec support of specific extension. * @param {String} ext Audio file extention. * @return {Boolean} */ codecs: function(l) { return (this || r)._codecs[l.replace(/^x-/, "")]; }, /** * Setup various state values for global tracking. * @return {Howler} */ _setup: function() { var l = this || r; if (l.state = l.ctx && l.ctx.state || "suspended", l._autoSuspend(), !l.usingWebAudio) if (typeof Audio < "u") try { var f = new Audio(); typeof f.oncanplaythrough > "u" && (l._canPlayEvent = "canplay"); } catch { l.noAudio = !0; } else l.noAudio = !0; try { var f = new Audio(); f.muted && (l.noAudio = !0); } catch { } return l.noAudio || l._setupCodecs(), l; }, /** * Check for browser support for various codecs and cache the results. * @return {Howler} */ _setupCodecs: function() { var l = this || r, f = null; try { f = typeof Audio < "u" ? new Audio() : null; } catch { return l; } if (!f || typeof f.canPlayType != "function") return l; var p = f.canPlayType("audio/mpeg;").replace(/^no$/, ""), y = l._navigator ? l._navigator.userAgent : "", m = y.match(/OPR\/(\d+)/g), h = m && parseInt(m[0].split("/")[1], 10) < 33, w = y.indexOf("Safari") !== -1 && y.indexOf("Chrome") === -1, $ = y.match(/Version\/(.*?) /), _ = w && $ && parseInt($[1], 10) < 15; return l._codecs = { mp3: !!(!h && (p || f.canPlayType("audio/mp3;").replace(/^no$/, ""))), mpeg: !!p, opus: !!f.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""), ogg: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), oga: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), wav: !!(f.canPlayType('audio/wav; codecs="1"') || f.canPlayType("audio/wav")).replace(/^no$/, ""), aac: !!f.canPlayType("audio/aac;").replace(/^no$/, ""), caf: !!f.canPlayType("audio/x-caf;").replace(/^no$/, ""), m4a: !!(f.canPlayType("audio/x-m4a;") || f.canPlayType("audio/m4a;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""), m4b: !!(f.canPlayType("audio/x-m4b;") || f.canPlayType("audio/m4b;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""), mp4: !!(f.canPlayType("audio/x-mp4;") || f.canPlayType("audio/mp4;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""), weba: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), webm: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), dolby: !!f.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""), flac: !!(f.canPlayType("audio/x-flac;") || f.canPlayType("audio/flac;")).replace(/^no$/, "") }, l; }, /** * Some browsers/devices will only allow audio to be played after a user interaction. * Attempt to automatically unlock audio on the first user interaction. * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/ * @return {Howler} */ _unlockAudio: function() { var l = this || r; if (!(l._audioUnlocked || !l.ctx)) { l._audioUnlocked = !1, l.autoUnlock = !1, !l._mobileUnloaded && l.ctx.sampleRate !== 44100 && (l._mobileUnloaded = !0, l.unload()), l._scratchBuffer = l.ctx.createBuffer(1, 1, 22050); var f = function(p) { for (; l._html5AudioPool.length < l.html5PoolSize; ) try { var y = new Audio(); y._unlocked = !0, l._releaseHtml5Audio(y); } catch { l.noAudio = !0; break; } for (var m = 0; m < l._howls.length; m++) if (!l._howls[m]._webAudio) for (var h = l._howls[m]._getSoundIds(), w = 0; w < h.length; w++) { var $ = l._howls[m]._soundById(h[w]); $ && $._node && !$._node._unlocked && ($._node._unlocked = !0, $._node.load()); } l._autoResume(); var _ = l.ctx.createBufferSource(); _.buffer = l._scratchBuffer, _.connect(l.ctx.destination), typeof _.start > "u" ? _.noteOn(0) : _.start(0), typeof l.ctx.resume == "function" && l.ctx.resume(), _.onended = function() { _.disconnect(0), l._audioUnlocked = !0, document.removeEventListener("touchstart", f, !0), document.removeEventListener("touchend", f, !0), document.removeEventListener("click", f, !0), document.removeEventListener("keydown", f, !0); for (var S = 0; S < l._howls.length; S++) l._howls[S]._emit("unlock"); }; }; return document.addEventListener("touchstart", f, !0), document.addEventListener("touchend", f, !0), document.addEventListener("click", f, !0), document.addEventListener("keydown", f, !0), l; } }, /** * Get an unlocked HTML5 Audio object from the pool. If none are left, * return a new Audio object and throw a warning. * @return {Audio} HTML5 Audio object. */ _obtainHtml5Audio: function() { var l = this || r; if (l._html5AudioPool.length) return l._html5AudioPool.pop(); var f = new Audio().play(); return f && typeof Promise < "u" && (f instanceof Promise || typeof f.then == "function") && f.catch(function() { console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object."); }), new Audio(); }, /** * Return an activated HTML5 Audio object to the pool. * @return {Howler} */ _releaseHtml5Audio: function(l) { var f = this || r; return l._unlocked && f._html5AudioPool.push(l), f; }, /** * Automatically suspend the Web Audio AudioContext after no sound has played for 30 seconds. * This saves processing/energy and fixes various browser-specific bugs with audio getting stuck. * @return {Howler} */ _autoSuspend: function() { var l = this; if (!(!l.autoSuspend || !l.ctx || typeof l.ctx.suspend > "u" || !r.usingWebAudio)) { for (var f = 0; f < l._howls.length; f++) if (l._howls[f]._webAudio) { for (var p = 0; p < l._howls[f]._sounds.length; p++) if (!l._howls[f]._sounds[p]._paused) return l; } return l._suspendTimer && clearTimeout(l._suspendTimer), l._suspendTimer = setTimeout(function() { if (l.autoSuspend) { l._suspendTimer = null, l.state = "suspending"; var y = function() { l.state = "suspended", l._resumeAfterSuspend && (delete l._resumeAfterSuspend, l._autoResume()); }; l.ctx.suspend().then(y, y); } }, 3e4), l; } }, /** * Automatically resume the Web Audio AudioContext when a new sound is played. * @return {Howler} */ _autoResume: function() { var l = this; if (!(!l.ctx || typeof l.ctx.resume > "u" || !r.usingWebAudio)) return l.state === "running" && l.ctx.state !== "interrupted" && l._suspendTimer ? (clearTimeout(l._suspendTimer), l._suspendTimer = null) : l.state === "suspended" || l.state === "running" && l.ctx.state === "interrupted" ? (l.ctx.resume().then(function() { l.state = "running"; for (var f = 0; f < l._howls.length; f++) l._howls[f]._emit("resume"); }), l._suspendTimer && (clearTimeout(l._suspendTimer), l._suspendTimer = null)) : l.state === "suspending" && (l._resumeAfterSuspend = !0), l; } }; var r = new t(), n = function(l) { var f = this; if (!l.src || l.src.length === 0) { console.error("An array of source files must be passed with any new Howl."); return; } f.init(l); }; n.prototype = { /** * Initialize a new Howl group object. * @param {Object} o Passed in properties for this group. * @return {Howl} */ init: function(l) { var f = this; return r.ctx || d(), f._autoplay = l.autoplay || !1, f._format = typeof l.format != "string" ? l.format : [l.format], f._html5 = l.html5 || !1, f._muted = l.mute || !1, f._loop = l.loop || !1, f._pool = l.pool || 5, f._preload = typeof l.preload == "boolean" || l.preload === "metadata" ? l.preload : !0, f._rate = l.rate || 1, f._sprite = l.sprite || {}, f._src = typeof l.src != "string" ? l.src : [l.src], f._volume = l.volume !== void 0 ? l.volume : 1, f._xhr = { method: l.xhr && l.xhr.method ? l.xhr.method : "GET", headers: l.xhr && l.xhr.headers ? l.xhr.headers : null, withCredentials: l.xhr && l.xhr.withCredentials ? l.xhr.withCredentials : !1 }, f._duration = 0, f._state = "unloaded", f._sounds = [], f._endTimers = {}, f._queue = [], f._playLock = !1, f._onend = l.onend ? [{ fn: l.onend }] : [], f._onfade = l.onfade ? [{ fn: l.onfade }] : [], f._onload = l.onload ? [{ fn: l.onload }] : [], f._onloaderror = l.onloaderror ? [{ fn: l.onloaderror }] : [], f._onplayerror = l.onplayerror ? [{ fn: l.onplayerror }] : [], f._onpause = l.onpause ? [{ fn: l.onpause }] : [], f._onplay = l.onplay ? [{ fn: l.onplay }] : [], f._onstop = l.onstop ? [{ fn: l.onstop }] : [], f._onmute = l.onmute ? [{ fn: l.onmute }] : [], f._onvolume = l.onvolume ? [{ fn: l.onvolume }] : [], f._onrate = l.onrate ? [{ fn: l.onrate }] : [], f._onseek = l.onseek ? [{ fn: l.onseek }] : [], f._onunlock = l.onunlock ? [{ fn: l.onunlock }] : [], f._onresume = [], f._webAudio = r.usingWebAudio && !f._html5, typeof r.ctx < "u" && r.ctx && r.autoUnlock && r._unlockAudio(), r._howls.push(f), f._autoplay && f._queue.push({ event: "play", action: function() { f.play(); } }), f._preload && f._preload !== "none" && f.load(), f; }, /** * Load the audio file. * @return {Howler} */ load: function() { var l = this, f = null; if (r.noAudio) { l._emit("loaderror", null, "No audio support."); return; } typeof l._src == "string" && (l._src = [l._src]); for (var p = 0; p < l._src.length; p++) { var y, m; if (l._format && l._format[p]) y = l._format[p]; else { if (m = l._src[p], typeof m != "string") { l._emit("loaderror", null, "Non-string found in selected audio sources - ignoring."); continue; } y = /^data:audio\/([^;,]+);/i.exec(m), y || (y = /\.([^.]+)$/.exec(m.split("?", 1)[0])), y && (y = y[1].toLowerCase()); } if (y || console.warn('No file extension was found. Consider using the "format" property or specify an extension.'), y && r.codecs(y)) { f = l._src[p]; break; } } if (!f) { l._emit("loaderror", null, "No codec support for selected audio sources."); return; } return l._src = f, l._state = "loading", window.location.protocol === "https:" && f.slice(0, 5) === "http:" && (l._html5 = !0, l._webAudio = !1), new o(l), l._webAudio && i(l), l; }, /** * Play a sound or resume previous playback. * @param {String/Number} sprite Sprite name for sprite playback or sound id to continue previous. * @param {Boolean} internal Internal Use: true prevents event firing. * @return {Number} Sound ID. */ play: function(l, f) { var p = this, y = null; if (typeof l == "number") y = l, l = null; else { if (typeof l == "string" && p._state === "loaded" && !p._sprite[l]) return null; if (typeof l > "u" && (l = "__default", !p._playLock)) { for (var m = 0, h = 0; h < p._sounds.length; h++) p._sounds[h]._paused && !p._sounds[h]._ended && (m++, y = p._sounds[h]._id); m === 1 ? l = null : y = null; } } var w = y ? p._soundById(y) : p._inactiveSound(); if (!w) return null; if (y && !l && (l = w._sprite || "__default"), p._state !== "loaded") { w._sprite = l, w._ended = !1; var $ = w._id; return p._queue.push({ event: "play", action: function() { p.play($); } }), $; } if (y && !w._paused) return f || p._loadQueue("play"), w._id; p._webAudio && r._autoResume(); var _ = Math.max(0, w._seek > 0 ? w._seek : p._sprite[l][0] / 1e3), S = Math.max(0, (p._sprite[l][0] + p._sprite[l][1]) / 1e3 - _), b = S * 1e3 / Math.abs(w._rate), F = p._sprite[l][0] / 1e3, z = (p._sprite[l][0] + p._sprite[l][1]) / 1e3; w._sprite = l, w._ended = !1; var q = function() { w._paused = !1, w._seek = _, w._start = F, w._stop = z, w._loop = !!(w._loop || p._sprite[l][2]); }; if (_ >= z) { p._ended(w); return; } var Y = w._node; if (p._webAudio) { var B = function() { p._playLock = !1, q(), p._refreshBuffer(w); var G = w._muted || p._muted ? 0 : w._volume; Y.gain.setValueAtTime(G, r.ctx.currentTime), w._playStart = r.ctx.currentTime, typeof Y.bufferSource.start > "u" ? w._loop ? Y.bufferSource.noteGrainOn(0, _, 86400) : Y.bufferSource.noteGrainOn(0, _, S) : w._loop ? Y.bufferSource.start(0, _, 86400) : Y.bufferSource.start(0, _, S), b !== 1 / 0 && (p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b)), f || setTimeout(function() { p._emit("play", w._id), p._loadQueue(); }, 0); }; r.state === "running" && r.ctx.state !== "interrupted" ? B() : (p._playLock = !0, p.once("resume", B), p._clearTimer(w._id)); } else { var Z = function() { Y.currentTime = _, Y.muted = w._muted || p._muted || r._muted || Y.muted, Y.volume = w._volume * r.volume(), Y.playbackRate = w._rate; try { var G = Y.play(); if (G && typeof Promise < "u" && (G instanceof Promise || typeof G.then == "function") ? (p._playLock = !0, q(), G.then(function() { p._playLock = !1, Y._unlocked = !0, f ? p._loadQueue() : p._emit("play", w._id); }).catch(function() { p._playLock = !1, p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."), w._ended = !0, w._paused = !0; })) : f || (p._playLock = !1, q(), p._emit("play", w._id)), Y.playbackRate = w._rate, Y.paused) { p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."); return; } l !== "__default" || w._loop ? p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b) : (p._endTimers[w._id] = function() { p._ended(w), Y.removeEventListener("ended", p._endTimers[w._id], !1); }, Y.addEventListener("ended", p._endTimers[w._id], !1)); } catch (H) { p._emit("playerror", w._id, H); } }; Y.src === "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA" && (Y.src = p._src, Y.load()); var M = window && window.ejecta || !Y.readyState && r._navigator.isCocoonJS; if (Y.readyState >= 3 || M) Z(); else { p._playLock = !0, p._state = "loading"; var te = function() { p._state = "loaded", Z(), Y.removeEventListener(r._canPlayEvent, te, !1); }; Y.addEventListener(r._canPlayEvent, te, !1), p._clearTimer(w._id); } } return w._id; }, /** * Pause playback and save current position. * @param {Number} id The sound ID (empty to pause all in group). * @return {Howl} */ pause: function(l) { var f = this; if (f._state !== "loaded" || f._playLock) return f._queue.push({ event: "pause", action: function() { f.pause(l); } }), f; for (var p = f._getSoundIds(l), y = 0; y < p.length; y++) { f._clearTimer(p[y]); var m = f._soundById(p[y]); if (m && !m._paused && (m._seek = f.seek(p[y]), m._rateSeek = 0, m._paused = !0, f._stopFade(p[y]), m._node)) if (f._webAudio) { if (!m._node.bufferSource) continue; typeof m._node.bufferSource.stop > "u" ? m._node.bufferSource.noteOff(0) : m._node.bufferSource.stop(0), f._cleanBuffer(m._node); } else (!isNaN(m._node.duration) || m._node.duration === 1 / 0) && m._node.pause(); arguments[1] || f._emit("pause", m ? m._id : null); } return f; }, /** * Stop playback and reset to start. * @param {Number} id The sound ID (empty to stop all in group). * @param {Boolean} internal Internal Use: true prevents event firing. * @return {Howl} */ stop: function(l, f) { var p = this; if (p._state !== "loaded" || p._playLock) return p._queue.push({ event: "stop", action: function() { p.stop(l); } }), p; for (var y = p._getSoundIds(l), m = 0; m < y.length; m++) { p._clearTimer(y[m]); var h = p._soundById(y[m]); h && (h._seek = h._start || 0, h._rateSeek = 0, h._paused = !0, h._ended = !0, p._stopFade(y[m]), h._node && (p._webAudio ? h._node.bufferSource && (typeof h._node.bufferSource.stop > "u" ? h._node.bufferSource.noteOff(0) : h._node.bufferSource.stop(0), p._cleanBuffer(h._node)) : (!isNaN(h._node.duration) || h._node.duration === 1 / 0) && (h._node.currentTime = h._start || 0, h._node.pause(), h._node.duration === 1 / 0 && p._clearSound(h._node))), f || p._emit("stop", h._id)); } return p; }, /** * Mute/unmute a single sound or all sounds in this Howl group. * @param {Boolean} muted Set to true to mute and false to unmute. * @param {Number} id The sound ID to update (omit to mute/unmute all). * @return {Howl} */ mute: function(l, f) { var p = this; if (p._state !== "loaded" || p._playLock) return p._queue.push({ event: "mute", action: function() { p.mute(l, f); } }), p; if (typeof f > "u") if (typeof l == "boolean") p._muted = l; else return p._muted; for (var y = p._getSoundIds(f), m = 0; m < y.length; m++) { var h = p._soundById(y[m]); h && (h._muted = l, h._interval && p._stopFade(h._id), p._webAudio && h._node ? h._node.gain.setValueAtTime(l ? 0 : h._volume, r.ctx.currentTime) : h._node && (h._node.muted = r._muted ? !0 : l), p._emit("mute", h._id)); } return p; }, /** * Get/set the volume of this sound or of the Howl group. This method can optionally take 0, 1 or 2 arguments. * volume() -> Returns the group's volume value. * volume(id) -> Returns the sound id's current volume. * volume(vol) -> Sets the volume of all sounds in this Howl group. * volume(vol, id) -> Sets the volume of passed sound id. * @return {Howl/Number} Returns self or current volume. */ volume: function() { var l = this, f = arguments, p, y; if (f.length === 0) return l._volume; if (f.length === 1 || f.length === 2 && typeof f[1] > "u") { var m = l._getSoundIds(), h = m.indexOf(f[0]); h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]); } else f.length >= 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10)); var w; if (typeof p < "u" && p >= 0 && p <= 1) { if (l._state !== "loaded" || l._playLock) return l._queue.push({ event: "volume", action: function() { l.volume.apply(l, f); } }), l; typeof y > "u" && (l._volume = p), y = l._getSoundIds(y); for (var $ = 0; $ < y.length; $++) w = l._soundById(y[$]), w && (w._volume = p, f[2] || l._stopFade(y[$]), l._webAudio && w._node && !w._muted ? w._node.gain.setValueAtTime(p, r.ctx.currentTime) : w._node && !w._muted && (w._node.volume = p * r.volume()), l._emit("volume", w._id)); } else return w = y ? l._soundById(y) : l._sounds[0], w ? w._volume : 0; return l; }, /** * Fade a currently playing sound between two volumes (if no id is passed, all sounds will fade). * @param {Number} from The value to fade from (0.0 to 1.0). * @param {Number} to The volume to fade to (0.0 to 1.0). * @param {Number} len Time in milliseconds to fade. * @param {Number} id The sound id (omit to fade all sounds). * @return {Howl} */ fade: function(l, f, p, y) { var m = this; if (m._state !== "loaded" || m._playLock) return m._queue.push({ event: "fade", action: function() { m.fade(l, f, p, y); } }), m; l = Math.min(Math.max(0, parseFloat(l)), 1), f = Math.min(Math.max(0, parseFloat(f)), 1), p = parseFloat(p), m.volume(l, y); for (var h = m._getSoundIds(y), w = 0; w < h.length; w++) { var $ = m._soundById(h[w]); if ($) { if (y || m._stopFade(h[w]), m._webAudio && !$._muted) { var _ = r.ctx.currentTime, S = _ + p / 1e3; $._volume = l, $._node.gain.setValueAtTime(l, _), $._node.gain.linearRampToValueAtTime(f, S); } m._startFadeInterval($, l, f, p, h[w], typeof y > "u"); } } return m; }, /** * Starts the internal interval to fade a sound. * @param {Object} sound Reference to sound to fade. * @param {Number} from The value to fade from (0.0 to 1.0). * @param {Number} to The volume to fade to (0.0 to 1.0). * @param {Number} len Time in milliseconds to fade. * @param {Number} id The sound id to fade. * @param {Boolean} isGroup If true, set the volume on the group. */ _startFadeInterval: function(l, f, p, y, m, h) { var w = this, $ = f, _ = p - f, S = Math.abs(_ / 0.01), b = Math.max(4, S > 0 ? y / S : y), F = Date.now(); l._fadeTo = p, l._interval = setInterval(function() { var z = (Date.now() - F) / y; F = Date.now(), $ += _ * z, $ = Math.round($ * 100) / 100, _ < 0 ? $ = Math.max(p, $) : $ = Math.min(p, $), w._webAudio ? l._volume = $ : w.volume($, l._id, !0), h && (w._volume = $), (p < f && $ <= p || p > f && $ >= p) && (clearInterval(l._interval), l._interval = null, l._fadeTo = null, w.volume(p, l._id), w._emit("fade", l._id)); }, b); }, /** * Internal method that stops the currently playing fade when * a new fade starts, volume is changed or the sound is stopped. * @param {Number} id The sound id. * @return {Howl} */ _stopFade: function(l) { var f = this, p = f._soundById(l); return p && p._interval && (f._webAudio && p._node.gain.cancelScheduledValues(r.ctx.currentTime), clearInterval(p._interval), p._interval = null, f.volume(p._fadeTo, l), p._fadeTo = null, f._emit("fade", l)), f; }, /** * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments. * loop() -> Returns the group's loop value. * loop(id) -> Returns the sound id's loop value. * loop(loop) -> Sets the loop value for all sounds in this Howl group. * loop(loop, id) -> Sets the loop value of passed sound id. * @return {Howl/Boolean} Returns self or current loop value. */ loop: function() { var l = this, f = arguments, p, y, m; if (f.length === 0) return l._loop; if (f.length === 1) if (typeof f[0] == "boolean") p = f[0], l._loop = p; else return m = l._soundById(parseInt(f[0], 10)), m ? m._loop : !1; else f.length === 2 && (p = f[0], y = parseInt(f[1], 10)); for (var h = l._getSoundIds(y), w = 0; w < h.length; w++) m = l._soundById(h[w]), m && (m._loop = p, l._webAudio && m._node && m._node.bufferSource && (m._node.bufferSource.loop = p, p && (m._node.bufferSource.loopStart = m._start || 0, m._node.bufferSource.loopEnd = m._stop, l.playing(h[w]) && (l.pause(h[w], !0), l.play(h[w], !0))))); return l; }, /** * Get/set the playback rate of a sound. This method can optionally take 0, 1 or 2 arguments. * rate() -> Returns the first sound node's current playback rate. * rate(id) -> Returns the sound id's current playback rate. * rate(rate) -> Sets the playback rate of all sounds in this Howl group. * rate(rate, id) -> Sets the playback rate of passed sound id. * @return {Howl/Number} Returns self or the current playback rate. */ rate: function() { var l = this, f = arguments, p, y; if (f.length === 0) y = l._sounds[0]._id; else if (f.length === 1) { var m = l._getSoundIds(), h = m.indexOf(f[0]); h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]); } else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10)); var w; if (typeof p == "number") { if (l._state !== "loaded" || l._playLock) return l._queue.push({ event: "rate", action: function() { l.rate.apply(l, f); } }), l; typeof y > "u" && (l._rate = p), y = l._getSoundIds(y); for (var $ = 0; $ < y.length; $++) if (w = l._soundById(y[$]), w) { l.playing(y[$]) && (w._rateSeek = l.seek(y[$]), w._playStart = l._webAudio ? r.ctx.currentTime : w._playStart), w._rate = p, l._webAudio && w._node && w._node.bufferSource ? w._node.bufferSource.playbackRate.setValueAtTime(p, r.ctx.currentTime) : w._node && (w._node.playbackRate = p); var _ = l.seek(y[$]), S = (l._sprite[w._sprite][0] + l._sprite[w._sprite][1]) / 1e3 - _, b = S * 1e3 / Math.abs(w._rate); (l._endTimers[y[$]] || !w._paused) && (l._clearTimer(y[$]), l._endTimers[y[$]] = setTimeout(l._ended.bind(l, w), b)), l._emit("rate", w._id); } } else return w = l._soundById(y), w ? w._rate : l._rate; return l; }, /** * Get/set the seek position of a sound. This method can optionally take 0, 1 or 2 arguments. * seek() -> Returns the first sound node's current seek position. * seek(id) -> Returns the sound id's current seek position. * seek(seek) -> Sets the seek position of the first sound node. * seek(seek, id) -> Sets the seek position of passed sound id. * @return {Howl/Number} Returns self or the current seek position. */ seek: function() { var l = this, f = arguments, p, y; if (f.length === 0) l._sounds.length && (y = l._sounds[0]._id); else if (f.length === 1) { var m = l._getSoundIds(), h = m.indexOf(f[0]); h >= 0 ? y = parseInt(f[0], 10) : l._sounds.length && (y = l._sounds[0]._id, p = parseFloat(f[0])); } else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10)); if (typeof y > "u") return 0; if (typeof p == "number" && (l._state !== "loaded" || l._playLock)) return l._queue.push({ event: "seek", action: function() { l.seek.apply(l, f); } }), l; var w = l._soundById(y); if (w) if (typeof p == "number" && p >= 0) { var $ = l.playing(y); $ && l.pause(y, !0), w._seek = p, w._ended = !1, l._clearTimer(y), !l._webAudio && w._node && !isNaN(w._node.duration) && (w._node.currentTime = p); var _ = function() { $ && l.play(y, !0), l._emit("seek", y); }; if ($ && !l._webAudio) { var S = function() { l._playLock ? setTimeout(S, 0) : _(); }; setTimeout(S, 0); } else _(); } else if (l._webAudio) { var b = l.playing(y) ? r.ctx.currentTime - w._playStart : 0, F = w._rateSeek ? w._rateSeek - w._seek : 0; return w._seek + (F + b * Math.abs(w._rate)); } else return w._node.currentTime; return l; }, /** * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not. * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked. * @return {Boolean} True if playing and false if not. */ playing: function(l) { var f = this; if (typeof l == "number") { var p = f._soundById(l); return p ? !p._paused : !1; } for (var y = 0; y < f._sounds.length; y++) if (!f._sounds[y]._paused) return !0; return !1; }, /** * Get the duration of this sound. Passing a sound id will return the sprite duration. * @param {Number} id The sound id to check. If none is passed, return full source duration. * @return {Number} Audio duration in seconds. */ duration: function(l) { var f = this, p = f._duration, y = f._soundById(l); return y && (p = f._sprite[y._sprite][1] / 1e3), p; }, /** * Returns the current loaded state of this Howl. * @return {String} 'unloaded', 'loading', 'loaded' */ state: function() { return this._state; }, /** * Unload and destroy the current Howl object. * This will immediately stop all sound instances attached to this group. */ unload: function() { for (var l = this, f = l._sounds, p = 0; p < f.length; p++) f[p]._paused || l.stop(f[p]._id), l._webAudio || (l._clearSound(f[p]._node), f[p]._node.removeEventListener("error", f[p]._errorFn, !1), f[p]._node.removeEventListener(r._canPlayEvent, f[p]._loadFn, !1), f[p]._node.removeEventListener("ended", f[p]._endFn, !1), r._releaseHtml5Audio(f[p]._node)), delete f[p]._node, l._clearTimer(f[p]._id); var y = r._howls.indexOf(l); y >= 0 && r._howls.splice(y, 1); var m = !0; for (p = 0; p < r._howls.length; p++) if (r._howls[p]._src === l._src || l._src.indexOf(r._howls[p]._src) >= 0) { m = !1; break; } return a && m && delete a[l._src], r.noAudio = !1, l._state = "unloaded", l._sounds = [], l = null, null; }, /** * Listen to a custom event. * @param {String} event Event name. * @param {Function} fn Listener to call. * @param {Number} id (optional) Only listen to events for this sound. * @param {Number} once (INTERNAL) Marks event to fire only once. * @return {Howl} */ on: function(l, f, p, y) { var m = this, h = m["_on" + l]; return typeof f == "function" && h.push(y ? { id: p, fn: f, once: y } : { id: p, fn: f }), m; }, /** * Remove a custom event. Call without parameters to remove all events. * @param {String} event Event name. * @param {Function} fn Listener to remove. Leave empty to remove all. * @param {Number} id (optional) Only remove events for this sound. * @return {Howl} */ off: function(l, f, p) { var y = this, m = y["_on" + l], h = 0; if (typeof f == "number" && (p = f, f = null), f || p) for (h = 0; h < m.length; h++) { var w = p === m[h].id; if (f === m[h].fn && w || !f && w) { m.splice(h, 1); break; } } else if (l) y["_on" + l] = []; else { var $ = Object.keys(y); for (h = 0; h < $.length; h++) $[h].indexOf("_on") === 0 && Array.isArray(y[$[h]]) && (y[$[h]] = []); } return y; }, /** * Listen to a custom event and remove it once fired. * @param {String} event Event name. * @param {Function} fn Listener to call. * @param {Number} id (optional) Only listen to events for this sound. * @return {Howl} */ once: function(l, f, p) { var y = this; return y.on(l, f, p, 1), y; }, /** * Emit all events of a specific type and pass the sound id. * @param {String} event Event name. * @param {Number} id Sound ID. * @param {Number} msg Message to go with event. * @return {Howl} */ _emit: function(l, f, p) { for (var y = this, m = y["_on" + l], h = m.length - 1; h >= 0; h--) (!m[h].id || m[h].id === f || l === "load") && (setTimeout((function(w) { w.call(this, f, p); }).bind(y, m[h].fn), 0), m[h].once && y.off(l, m[h].fn, m[h].id)); return y._loadQueue(l), y; }, /** * Queue of actions initiated before the sound has loaded. * These will be called in sequence, with the next only firing * after the previous has finished executing (even if async like play). * @return {Howl} */ _loadQueue: function(l) { var f = this; if (f._queue.length > 0) { var p = f._queue[0]; p.event === l && (f._queue.shift(), f._loadQueue()), l || p.action(); } return f; }, /** * Fired when playback ends at the end of the duration. * @param {Sound} sound The sound object to work with. * @return {Howl} */ _ended: function(l) { var f = this, p = l._sprite; if (!f._webAudio && l._node && !l._node.paused && !l._node.ended && l._node.currentTime < l._stop) return setTimeout(f._ended.bind(f, l), 100), f; var y = !!(l._loop || f._sprite[p][2]); if (f._emit("end", l._id), !f._webAudio && y && f.stop(l._id, !0).play(l._id), f._webAudio && y) { f._emit("play", l._id), l._seek = l._start || 0, l._rateSeek = 0, l._playStart = r.ctx.currentTime; var m = (l._stop - l._start) * 1e3 / Math.abs(l._rate); f._endTimers[l._id] = setTimeout(f._ended.bind(f, l), m); } return f._webAudio && !y && (l._paused = !0, l._ended = !0, l._seek = l._start || 0, l._rateSeek = 0, f._clearTimer(l._id), f._cleanBuffer(l._node), r._autoSuspend()), !f._webAudio && !y && f.stop(l._id, !0), f; }, /** * Clear the end timer for a sound playback. * @param {Number} id The sound ID. * @return {Howl} */ _clearTimer: function(l) { var f = this; if (f._endTimers[l]) { if (typeof f._endTimers[l] != "function") clearTimeout(f._endTimers[l]); else { var p = f._soundById(l); p && p._node && p._node.removeEventListener("ended", f._endTimers[l], !1); } delete f._endTimers[l]; } return f; }, /** * Return the sound identified by this ID, or return null. * @param {Number} id Sound ID * @return {Object} Sound object or null. */ _soundById: function(l) { for (var f = this, p = 0; p < f._sounds.length; p++) if (l === f._sounds[p]._id) return f._sounds[p]; return null; }, /** * Return an inactive sound from the pool or create a new one. * @return {Sound} Sound playback object. */ _inactiveSound: function() { var l = this; l._drain(); for (var f = 0; f < l._sounds.length; f++) if (l._sounds[f]._ended) return l._sounds[f].reset(); return new o(l); }, /** * Drain excess inactive sounds from the pool. */ _drain: function() { var l = this, f = l._pool, p = 0, y = 0; if (!(l._sounds.length < f)) { for (y = 0; y < l._sounds.length; y++) l._sounds[y]._ended && p++; for (y = l._sounds.length - 1; y >= 0; y--) { if (p <= f) return; l._sounds[y]._ended && (l._webAudio && l._sounds[y]._node && l._sounds[y]._node.disconnect(0), l._sounds.splice(y, 1), p--); } } }, /** * Get all ID's from the sounds pool. * @param {Number} id Only return one ID if one is passed. * @return {Array} Array of IDs. */ _getSoundIds: function(l) { var f = this; if (typeof l > "u") { for (var p = [], y = 0; y < f._sounds.length; y++) p.push(f._sounds[y]._id); return p; } else return [l]; }, /** * Load the sound back into the buffer source. * @param {Sound} sound The sound object to work with. * @return {Howl} */ _refreshBuffer: function(l) { var f = this; return l._node.bufferSource = r.ctx.createBufferSource(), l._node.bufferSource.buffer = a[f._src], l._panner ? l._node.bufferSource.connect(l._panner) : l._node.bufferSource.connect(l._node), l._node.bufferSource.loop = l._loop, l._loop && (l._node.bufferSource.loopStart = l._start || 0, l._node.bufferSource.loopEnd = l._stop || 0), l._node.bufferSource.playbackRate.setValueAtTime(l._rate, r.ctx.currentTime), f; }, /** * Prevent memory leaks by cleaning up the buffer source after playback. * @param {Object} node Sound's audio node containing the buffer source. * @return {Howl} */ _cleanBuffer: function(l) { var f = this, p = r._navigator && r._navigator.vendor.indexOf("Apple") >= 0; if (!l.bufferSource) return f; if (r._scratchBuffer && l.bufferSource && (l.bufferSource.onended = null, l.bufferSource.disconnect(0), p)) try { l.bufferSource.buffer = r._scratchBuffer; } catch { } return l.bufferSource = null, f; }, /** * Set the source to a 0-second silence to stop any downloading (except in IE). * @param {Object} node Audio node to clear. */ _clearSound: function(l) { var f = /MSIE |Trident\//.test(r._navigator && r._navigator.userAgent); f || (l.src = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"); } }; var o = function(l) { this._parent = l, this.init(); }; o.prototype = { /** * Initialize a new Sound object. * @return {Sound} */ init: function() { var l = this, f = l._parent; return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, f._sounds.push(l), l.create(), l; }, /** * Create and setup a new sound object, whether HTML5 Audio or Web Audio. * @return {Sound} */ create: function() { var l = this, f = l._parent, p = r._muted || l._muted || l._parent._muted ? 0 : l._volume; return f._webAudio ? (l._node = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), l._node.gain.setValueAtTime(p, r.ctx.currentTime), l._node.paused = !0, l._node.connect(r.masterGain)) : r.noAudio || (l._node = r._obtainHtml5Audio(), l._errorFn = l._errorListener.bind(l), l._node.addEventListener("error", l._errorFn, !1), l._loadFn = l._loadListener.bind(l), l._node.addEventListener(r._canPlayEvent, l._loadFn, !1), l._endFn = l._endListener.bind(l), l._node.addEventListener("ended", l._endFn, !1), l._node.src = f._src, l._node.preload = f._preload === !0 ? "auto" : f._preload, l._node.volume = p * r.volume(), l._node.load()), l; }, /** * Reset the parameters of this sound to the original state (for recycle). * @return {Sound} */ reset: function() { var l = this, f = l._parent; return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._rateSeek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, l; }, /** * HTML5 Audio error listener callback. */ _errorListener: function() { var l = this; l._parent._emit("loaderror", l._id, l._node.error ? l._node.error.code : 0), l._node.removeEventListener("error", l._errorFn, !1); }, /** * HTML5 Audio canplaythrough listener callback. */ _loadListener: function() { var l = this, f = l._parent; f._duration = Math.ceil(l._node.duration * 10) / 10, Object.keys(f._sprite).length === 0 && (f._sprite = { __default: [0, f._duration * 1e3] }), f._state !== "loaded" && (f._state = "loaded", f._emit("load"), f._loadQueue()), l._node.removeEventListener(r._canPlayEvent, l._loadFn, !1); }, /** * HTML5 Audio ended listener callback. */ _endListener: function() { var l = this, f = l._parent; f._duration === 1 / 0 && (f._duration = Math.ceil(l._node.duration * 10) / 10, f._sprite.__default[1] === 1 / 0 && (f._sprite.__default[1] = f._duration * 1e3), f._ended(l)), l._node.removeEventListener("ended", l._endFn, !1); } }; var a = {}, i = function(l) { var f = l._src; if (a[f]) { l._duration = a[f].duration, c(l); return; } if (/^data:[^;]+;base64,/.test(f)) { for (var p = atob(f.split(",")[1]), y = new Uint8Array(p.length), m = 0; m < p.length; ++m) y[m] = p.charCodeAt(m); u(y.buffer, l); } else { var h = new XMLHttpRequest(); h.open(l._xhr.method, f, !0), h.withCredentials = l._xhr.withCredentials, h.responseType = "arraybuffer", l._xhr.headers && Object.keys(l._xhr.headers).forEach(function(w) { h.setRequestHeader(w, l._xhr.headers[w]); }), h.onload = function() { var w = (h.status + "")[0]; if (w !== "0" && w !== "2" && w !== "3") { l._emit("loaderror", null, "Failed loading audio file with status: " + h.status + "."); return; } u(h.response, l); }, h.onerror = function() { l._webAudio && (l._html5 = !0, l._webAudio = !1, l._sounds = [], delete a[f], l.load()); }, s(h); } }, s = function(l) { try { l.send(); } catch { l.onerror(); } }, u = function(l, f) { var p = function() { f._emit("loaderror", null, "Decoding audio data failed."); }, y = function(m) { m && f._sounds.length > 0 ? (a[f._src] = m, c(f, m)) : p(); }; typeof Promise < "u" && r.ctx.decodeAudioData.length === 1 ? r.ctx.decodeAudioData(l).then(y).catch(p) : r.ctx.decodeAudioData(l, y, p); }, c = function(l, f) { f && !l._duration && (l._duration = f.duration), Object.keys(l._sprite).length === 0 && (l._sprite = { __default: [0, l._duration * 1e3] }), l._state !== "loaded" && (l._state = "loaded", l._emit("load"), l._loadQueue()); }, d = function() { if (r.usingWebAudio) { try { typeof AudioContext < "u" ? r.ctx = new AudioContext() : typeof webkitAudioContext < "u" ? r.ctx = new webkitAudioContext() : r.usingWebAudio = !1; } catch { r.usingWebAudio = !1; } r.ctx || (r.usingWebAudio = !1); var l = /iP(hone|od|ad)/.test(r._navigator && r._navigator.platform), f = r._navigator && r._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/), p = f ? parseInt(f[1], 10) : null; if (l && p && p < 9) { var y = /safari/.test(r._navigator && r._navigator.userAgent.toLowerCase()); r._navigator && !y && (r.usingWebAudio = !1); } r.usingWebAudio && (r.masterGain = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), r.masterGain.gain.setValueAtTime(r._muted ? 0 : r._volume, r.ctx.currentTime), r.masterGain.connect(r.ctx.destination)), r._setup(); } }; e.Howler = r, e.Howl = n, typeof Tm < "u" ? (Tm.HowlerGlobal = t, Tm.Howler = r, Tm.Howl = n, Tm.Sound = o) : typeof window < "u" && (window.HowlerGlobal = t, window.Howler = r, window.Howl = n, window.Sound = o); })(); /*! * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. * * howler.js v2.2.4 * howlerjs.com * * (c) 2013-2020, James Simpson of GoldFire Studios * goldfirestudios.com * * MIT License */ (function() { HowlerGlobal.prototype._pos = [0, 0, 0], HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0], HowlerGlobal.prototype.stereo = function(r) { var n = this; if (!n.ctx || !n.ctx.listener) return n; for (var o = n._howls.length - 1; o >= 0; o--) n._howls[o].stereo(r); return n; }, HowlerGlobal.prototype.pos = function(r, n, o) { var a = this; if (!a.ctx || !a.ctx.listener) return a; if (n = typeof n != "number" ? a._pos[1] : n, o = typeof o != "number" ? a._pos[2] : o, typeof r == "number") a._pos = [r, n, o], typeof a.ctx.listener.positionX < "u" ? (a.ctx.listener.positionX.setTargetAtTime(a._pos[0], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionY.setTargetAtTime(a._pos[1], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionZ.setTargetAtTime(a._pos[2], Howler.ctx.currentTime, 0.1)) : a.ctx.listener.setPosition(a._pos[0], a._pos[1], a._pos[2]); else return a._pos; return a; }, HowlerGlobal.prototype.orientation = function(r, n, o, a, i, s) { var u = this; if (!u.ctx || !u.ctx.listener) return u; var c = u._orientation; if (n = typeof n != "number" ? c[1] : n, o = typeof o != "number" ? c[2] : o, a = typeof a != "number" ? c[3] : a, i = typeof i != "number" ? c[4] : i, s = typeof s != "number" ? c[5] : s, typeof r == "number") u._orientation = [r, n, o, a, i, s], typeof u.ctx.listener.forwardX < "u" ? (u.ctx.listener.forwardX.setTargetAtTime(r, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardY.setTargetAtTime(n, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardZ.setTargetAtTime(o, Howler.ctx.currentTime, 0.1), u.ctx.listener.upX.setTargetAtTime(a, Howler.ctx.currentTime, 0.1), u.ctx.listener.upY.setTargetAtTime(i, Howler.ctx.currentTime, 0.1), u.ctx.listener.upZ.setTargetAtTime(s, Howler.ctx.currentTime, 0.1)) : u.ctx.listener.setOrientation(r, n, o, a, i, s); else return c; return u; }, Howl.prototype.init = /* @__PURE__ */ function(r) { return function(n) { var o = this; return o._orientation = n.orientation || [1, 0, 0], o._stereo = n.stereo || null, o._pos = n.pos || null, o._pannerAttr = { coneInnerAngle: typeof n.coneInnerAngle < "u" ? n.coneInnerAngle : 360, coneOuterAngle: typeof n.coneOuterAngle < "u" ? n.coneOuterAngle : 360, coneOuterGain: typeof n.coneOuterGain < "u" ? n.coneOuterGain : 0, distanceModel: typeof n.distanceModel < "u" ? n.distanceModel : "inverse", maxDistance: typeof n.maxDistance < "u" ? n.maxDistance : 1e4, panningModel: typeof n.panningModel < "u" ? n.panningModel : "HRTF", refDistance: typeof n.refDistance < "u" ? n.refDistance : 1, rolloffFactor: typeof n.rolloffFactor < "u" ? n.rolloffFactor : 1 }, o._onstereo = n.onstereo ? [{ fn: n.onstereo }] : [], o._onpos = n.onpos ? [{ fn: n.onpos }] : [], o._onorientation = n.onorientation ? [{ fn: n.onorientation }] : [], r.call(this, n); }; }(Howl.prototype.init), Howl.prototype.stereo = function(r, n) { var o = this; if (!o._webAudio) return o; if (o._state !== "loaded") return o._queue.push({ event: "stereo", action: function() { o.stereo(r, n); } }), o; var a = typeof Howler.ctx.createStereoPanner > "u" ? "spatial" : "stereo"; if (typeof n > "u") if (typeof r == "number") o._stereo = r, o._pos = [r, 0, 0]; else return o._stereo; for (var i = o._getSoundIds(n), s = 0; s < i.length; s++) { var u = o._soundById(i[s]); if (u) if (typeof r == "number") u._stereo = r, u._pos = [r, 0, 0], u._node && (u._pannerAttr.panningModel = "equalpower", (!u._panner || !u._panner.pan) && t(u, a), a === "spatial" ? typeof u._panner.positionX < "u" ? (u._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), u._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime), u._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime)) : u._panner.setPosition(r, 0, 0) : u._panner.pan.setValueAtTime(r, Howler.ctx.currentTime)), o._emit("stereo", u._id); else return u._stereo; } return o; }, Howl.prototype.pos = function(r, n, o, a) { var i = this; if (!i._webAudio) return i; if (i._state !== "loaded") return i._queue.push({ event: "pos", action: function() { i.pos(r, n, o, a); } }), i; if (n = typeof n != "number" ? 0 : n, o = typeof o != "number" ? -0.5 : o, typeof a > "u") if (typeof r == "number") i._pos = [r, n, o]; else return i._pos; for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) { var c = i._soundById(s[u]); if (c) if (typeof r == "number") c._pos = [r, n, o], c._node && ((!c._panner || c._panner.pan) && t(c, "spatial"), typeof c._panner.positionX < "u" ? (c._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.positionY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.positionZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setPosition(r, n, o)), i._emit("pos", c._id); else return c._pos; } return i; }, Howl.prototype.orientation = function(r, n, o, a) { var i = this; if (!i._webAudio) return i; if (i._state !== "loaded") return i._queue.push({ event: "orientation", action: function() { i.orientation(r, n, o, a); } }), i; if (n = typeof n != "number" ? i._orientation[1] : n, o = typeof o != "number" ? i._orientation[2] : o, typeof a > "u") if (typeof r == "number") i._orientation = [r, n, o]; else return i._orientation; for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) { var c = i._soundById(s[u]); if (c) if (typeof r == "number") c._orientation = [r, n, o], c._node && (c._panner || (c._pos || (c._pos = i._pos || [0, 0, -0.5]), t(c, "spatial")), typeof c._panner.orientationX < "u" ? (c._panner.orientationX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.orientationY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.orientationZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setOrientation(r, n, o)), i._emit("orientation", c._id); else return c._orientation; } return i; }, Howl.prototype.pannerAttr = function() { var r = this, n = arguments, o, a, i; if (!r._webAudio) return r; if (n.length === 0) return r._pannerAttr; if (n.length === 1) if (typeof n[0] == "object") o = n[0], typeof a > "u" && (o.pannerAttr || (o.pannerAttr = { coneInnerAngle: o.coneInnerAngle, coneOuterAngle: o.coneOuterAngle, coneOuterGain: o.coneOuterGain, distanceModel: o.distanceModel, maxDistance: o.maxDistance, refDistance: o.refDistance, rolloffFactor: o.rolloffFactor, panningModel: o.panningModel }), r._pannerAttr = { coneInnerAngle: typeof o.pannerAttr.coneInnerAngle < "u" ? o.pannerAttr.coneInnerAngle : r._coneInnerAngle, coneOuterAngle: typeof o.pannerAttr.coneOuterAngle < "u" ? o.pannerAttr.coneOuterAngle : r._coneOuterAngle, coneOuterGain: typeof o.pannerAttr.coneOuterGain < "u" ? o.pannerAttr.coneOuterGain : r._coneOuterGain, distanceModel: typeof o.pannerAttr.distanceModel < "u" ? o.pannerAttr.distanceModel : r._distanceModel, maxDistance: typeof o.pannerAttr.maxDistance < "u" ? o.pannerAttr.maxDistance : r._maxDistance, refDistance: typeof o.pannerAttr.refDistance < "u" ? o.pannerAttr.refDistance : r._refDistance, rolloffFactor: typeof o.pannerAttr.rolloffFactor < "u" ? o.pannerAttr.rolloffFactor : r._rolloffFactor, panningModel: typeof o.pannerAttr.panningModel < "u" ? o.pannerAttr.panningModel : r._panningModel }); else return i = r._soundById(parseInt(n[0], 10)), i ? i._pannerAttr : r._pannerAttr; else n.length === 2 && (o = n[0], a = parseInt(n[1], 10)); for (var s = r._getSoundIds(a), u = 0; u < s.length; u++) if (i = r._soundById(s[u]), i) { var c = i._pannerAttr; c = { coneInnerAngle: typeof o.coneInnerAngle < "u" ? o.coneInnerAngle : c.coneInnerAngle, coneOuterAngle: typeof o.coneOuterAngle < "u" ? o.coneOuterAngle : c.coneOuterAngle, coneOuterGain: typeof o.coneOuterGain < "u" ? o.coneOuterGain : c.coneOuterGain, distanceModel: typeof o.distanceModel < "u" ? o.distanceModel : c.distanceModel, maxDistance: typeof o.maxDistance < "u" ? o.maxDistance : c.maxDistance, refDistance: typeof o.refDistance < "u" ? o.refDistance : c.refDistance, rolloffFactor: typeof o.rolloffFactor < "u" ? o.rolloffFactor : c.rolloffFactor, panningModel: typeof o.panningModel < "u" ? o.panningModel : c.panningModel }; var d = i._panner; d || (i._pos || (i._pos = r._pos || [0, 0, -0.5]), t(i, "spatial"), d = i._panner), d.coneInnerAngle = c.coneInnerAngle, d.coneOuterAngle = c.coneOuterAngle, d.coneOuterGain = c.coneOuterGain, d.distanceModel = c.distanceModel, d.maxDistance = c.maxDistance, d.refDistance = c.refDistance, d.rolloffFactor = c.rolloffFactor, d.panningModel = c.panningModel; } return r; }, Sound.prototype.init = /* @__PURE__ */ function(r) { return function() { var n = this, o = n._parent; n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, r.call(this), n._stereo ? o.stereo(n._stereo) : n._pos && o.pos(n._pos[0], n._pos[1], n._pos[2], n._id); }; }(Sound.prototype.init), Sound.prototype.reset = /* @__PURE__ */ function(r) { return function() { var n = this, o = n._parent; return n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, n._stereo ? o.stereo(n._stereo) : n._pos ? o.pos(n._pos[0], n._pos[1], n._pos[2], n._id) : n._panner && (n._panner.disconnect(0), n._panner = void 0, o._refreshBuffer(n)), r.call(this); }; }(Sound.prototype.reset); var t = function(r, n) { n = n || "spatial", n === "spatial" ? (r._panner = Howler.ctx.createPanner(), r._panner.coneInnerAngle = r._pannerAttr.coneInnerAngle, r._panner.coneOuterAngle = r._pannerAttr.coneOuterAngle, r._panner.coneOuterGain = r._pannerAttr.coneOuterGain, r._panner.distanceModel = r._pannerAttr.distanceModel, r._panner.maxDistance = r._pannerAttr.maxDistance, r._panner.refDistance = r._pannerAttr.refDistance, r._panner.rolloffFactor = r._pannerAttr.rolloffFactor, r._panner.panningModel = r._pannerAttr.panningModel, typeof r._panner.positionX < "u" ? (r._panner.positionX.setValueAtTime(r._pos[0], Howler.ctx.currentTime), r._panner.positionY.setValueAtTime(r._pos[1], Howler.ctx.currentTime), r._panner.positionZ.setValueAtTime(r._pos[2], Howler.ctx.currentTime)) : r._panner.setPosition(r._pos[0], r._pos[1], r._pos[2]), typeof r._panner.orientationX < "u" ? (r._panner.orientationX.setValueAtTime(r._orientation[0], Howler.ctx.currentTime), r._panner.orientationY.setValueAtTime(r._orientation[1], Howler.ctx.currentTime), r._panner.orientationZ.setValueAtTime(r._orientation[2], Howler.ctx.currentTime)) : r._panner.setOrientation(r._orientation[0], r._orientation[1], r._orientation[2])) : (r._panner = Howler.ctx.createStereoPanner(), r._panner.pan.setValueAtTime(r._stereo, Howler.ctx.currentTime)), r._panner.connect(r._node), r._paused || r._parent.pause(r._id, !0).play(r._id, !0); }; })(); }(m9)), m9; } D1e(); var Lh, Ni; const $B = class lh { constructor() { wB(this, Ni), p9(this, Ni, /* @__PURE__ */ new Map()); } static getInstance() { return dl(lh, Lh) === void 0 && p9(lh, Lh, new lh()), dl(lh, Lh); } hasSound(t) { return dl(this, Ni).has(t); } setSound(t, r) { dl(this, Ni).set(t, r); } setSoundOnce(t, r) { dl(this, Ni).has(t) || dl(this, Ni).set(t, r); } getSound(t) { return dl(this, Ni).get(t); } playSound(t) { var r; (r = dl(this, Ni).get(t)) == null || r.play(); } }; Lh = /* @__PURE__ */ new WeakMap(), Ni = /* @__PURE__ */ new WeakMap(), wB($B, Lh); let Im = $B; const kB = typeof document < "u" ? ae.useLayoutEffect : () => { }; function F1e(e) { const t = ne(null); return kB(() => { t.current = e; }, [ e ]), Ne((...r) => { const n = t.current; return n == null ? void 0 : n(...r); }, []); } const Uc = (e) => { var t; return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document; }, iu = (e) => e && "window" in e && e.window === e ? e : Uc(e).defaultView || window; function _B(e, t) { return t && e ? e.contains(t) : !1; } const jS = (e = document) => e.activeElement; function OB(e) { return e.target; } function L1e(e) { var t; return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent); } function z1e(e) { var t; return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1; } function SB(e) { let t = null; return () => (t == null && (t = e()), t); } const W1e = SB(function() { return z1e(/^Mac/i); }), V1e = SB(function() { return L1e(/Android/i); }); function EB() { let e = ne(/* @__PURE__ */ new Map()), t = Ne((o, a, i, s) => { let u = s != null && s.once ? (...c) => { e.current.delete(i), i(...c); } : i; e.current.set(i, { type: a, eventTarget: o, fn: u, options: s }), o.addEventListener(a, u, s); }, []), r = Ne((o, a, i, s) => { var u; let c = ((u = e.current.get(i)) === null || u === void 0 ? void 0 : u.fn) || i; o.removeEventListener(a, c, s), e.current.delete(i); }, []), n = Ne(() => { e.current.forEach((o, a) => { r(o.eventTarget, o.type, a, o.options); }); }, [ r ]); return ue(() => n, [ n ]), { addGlobalListener: t, removeGlobalListener: r, removeAllGlobalListeners: n }; } function H1e(e) { return e.mozInputSource === 0 && e.isTrusted ? !0 : V1e() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType; } let AB = class { isDefaultPrevented() { return this.nativeEvent.defaultPrevented; } preventDefault() { this.defaultPrevented = !0, this.nativeEvent.preventDefault(); } stopPropagation() { this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0; } isPropagationStopped() { return !1; } persist() { } constructor(t, r) { this.nativeEvent = r, this.target = r.target, this.currentTarget = r.currentTarget, this.relatedTarget = r.relatedTarget, this.bubbles = r.bubbles, this.cancelable = r.cancelable, this.defaultPrevented = r.defaultPrevented, this.eventPhase = r.eventPhase, this.isTrusted = r.isTrusted, this.timeStamp = r.timeStamp, this.type = t; } }; function PB(e) { let t = ne({ isFocused: !1, observer: null }); kB(() => { const n = t.current; return () => { n.observer && (n.observer.disconnect(), n.observer = null); }; }, []); let r = F1e((n) => { e == null || e(n); }); return Ne((n) => { if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) { t.current.isFocused = !0; let o = n.target, a = (i) => { t.current.isFocused = !1, o.disabled && r(new AB("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null); }; o.addEventListener("focusout", a, { once: !0 }), t.current.observer = new MutationObserver(() => { if (t.current.isFocused && o.disabled) { var i; (i = t.current.observer) === null || i === void 0 || i.disconnect(); let s = o === document.activeElement ? null : document.activeElement; o.dispatchEvent(new FocusEvent("blur", { relatedTarget: s })), o.dispatchEvent(new FocusEvent("focusout", { bubbles: !0, relatedTarget: s })); } }), t.current.observer.observe(o, { attributes: !0, attributeFilter: [ "disabled" ] }); } }, [ r ]); } let G1e = !1, Nb = null, RS = /* @__PURE__ */ new Set(), zh = /* @__PURE__ */ new Map(), ju = !1, MS = !1; const U1e = { Tab: !0, Escape: !0 }; function rP(e, t) { for (let r of RS) r(e, t); } function B1e(e) { return !(e.metaKey || !W1e() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta"); } function j1(e) { ju = !0, B1e(e) && (Nb = "keyboard", rP("keyboard", e)); } function So(e) { Nb = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (ju = !0, rP("pointer", e)); } function CB(e) { H1e(e) && (ju = !0, Nb = "virtual"); } function NB(e) { e.target === window || e.target === document || G1e || !e.isTrusted || (!ju && !MS && (Nb = "virtual", rP("virtual", e)), ju = !1, MS = !1); } function TB() { ju = !1, MS = !0; } function DS(e) { if (typeof window > "u" || zh.get(iu(e))) return; const t = iu(e), r = Uc(e); let n = t.HTMLElement.prototype.focus; t.HTMLElement.prototype.focus = function() { ju = !0, n.apply(this, arguments); }, r.addEventListener("keydown", j1, !0), r.addEventListener("keyup", j1, !0), r.addEventListener("click", CB, !0), t.addEventListener("focus", NB, !0), t.addEventListener("blur", TB, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", So, !0), r.addEventListener("pointermove", So, !0), r.addEventListener("pointerup", So, !0)) : (r.addEventListener("mousedown", So, !0), r.addEventListener("mousemove", So, !0), r.addEventListener("mouseup", So, !0)), t.addEventListener("beforeunload", () => { IB(e); }, { once: !0 }), zh.set(t, { focus: n }); } const IB = (e, t) => { const r = iu(e), n = Uc(e); t && n.removeEventListener("DOMContentLoaded", t), zh.has(r) && (r.HTMLElement.prototype.focus = zh.get(r).focus, n.removeEventListener("keydown", j1, !0), n.removeEventListener("keyup", j1, !0), n.removeEventListener("click", CB, !0), r.removeEventListener("focus", NB, !0), r.removeEventListener("blur", TB, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", So, !0), n.removeEventListener("pointermove", So, !0), n.removeEventListener("pointerup", So, !0)) : (n.removeEventListener("mousedown", So, !0), n.removeEventListener("mousemove", So, !0), n.removeEventListener("mouseup", So, !0)), zh.delete(r)); }; function Y1e(e) { const t = Uc(e); let r; return t.readyState !== "loading" ? DS(e) : (r = () => { DS(e); }, t.addEventListener("DOMContentLoaded", r)), () => IB(e, r); } typeof document < "u" && Y1e(); function jB() { return Nb !== "pointer"; } const q1e = /* @__PURE__ */ new Set([ "checkbox", "radio", "range", "color", "file", "image", "button", "submit", "reset" ]); function K1e(e, t, r) { let n = Uc(r == null ? void 0 : r.target); const o = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? iu(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent; return e = e || n.activeElement instanceof o && !q1e.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !U1e[r.key]); } function X1e(e, t, r) { DS(), ue(() => { let n = (o, a) => { K1e(!!(r != null && r.isTextInput), o, a) && e(jB()); }; return RS.add(n), () => { RS.delete(n); }; }, t); } function J1e(e) { let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e; const a = Ne((u) => { if (u.target === u.currentTarget) return n && n(u), o && o(!1), !0; }, [ n, o ]), i = PB(a), s = Ne((u) => { const c = Uc(u.target), d = c ? jS(c) : jS(); u.target === u.currentTarget && d === OB(u.nativeEvent) && (r && r(u), o && o(!0), i(u)); }, [ o, r, i ]); return { focusProps: { onFocus: !t && (r || o || n) ? s : void 0, onBlur: !t && (n || o) ? a : void 0 } }; } function Q1e(e) { let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ne({ isFocusWithin: !1 }), { addGlobalListener: i, removeAllGlobalListeners: s } = EB(), u = Ne((l) => { l.currentTarget.contains(l.target) && a.current.isFocusWithin && !l.currentTarget.contains(l.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(l), o && o(!1)); }, [ r, o, a, s ]), c = PB(u), d = Ne((l) => { if (!l.currentTarget.contains(l.target)) return; const f = Uc(l.target), p = jS(f); if (!a.current.isFocusWithin && p === OB(l.nativeEvent)) { n && n(l), o && o(!0), a.current.isFocusWithin = !0, c(l); let y = l.currentTarget; i(f, "focus", (m) => { if (a.current.isFocusWithin && !_B(y, m.target)) { let h = new AB("blur", new f.defaultView.FocusEvent("blur", { relatedTarget: m.target })); h.target = y, h.currentTarget = y, u(h); } }, { capture: !0 }); } }, [ n, o, c, i, u ]); return t ? { focusWithinProps: { // These cannot be null, that would conflict in mergeProps onFocus: void 0, onBlur: void 0 } } : { focusWithinProps: { onFocus: d, onBlur: u } }; } let R1 = !1, Q2 = 0; function FS() { R1 = !0, setTimeout(() => { R1 = !1; }, 50); } function g9(e) { e.pointerType === "touch" && FS(); } function Z1e() { if (!(typeof document > "u")) return typeof PointerEvent < "u" ? document.addEventListener("pointerup", g9) : document.addEventListener("touchend", FS), Q2++, () => { Q2--, !(Q2 > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", g9) : document.removeEventListener("touchend", FS)); }; } function e0e(e) { let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = de(!1), s = ne({ isHovered: !1, ignoreEmulatedMouseEvents: !1, pointerType: "", target: null }).current; ue(Z1e, []); let { addGlobalListener: u, removeAllGlobalListeners: c } = EB(), { hoverProps: d, triggerHoverEnd: l } = Ie(() => { let f = (m, h) => { if (s.pointerType = h, o || h === "touch" || s.isHovered || !m.currentTarget.contains(m.target)) return; s.isHovered = !0; let w = m.currentTarget; s.target = w, u(Uc(m.target), "pointerover", ($) => { s.isHovered && s.target && !_B(s.target, $.target) && p($, $.pointerType); }, { capture: !0 }), t && t({ type: "hoverstart", target: w, pointerType: h }), r && r(!0), i(!0); }, p = (m, h) => { let w = s.target; s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !w) && (s.isHovered = !1, c(), n && n({ type: "hoverend", target: w, pointerType: h }), r && r(!1), i(!1)); }, y = {}; return typeof PointerEvent < "u" ? (y.onPointerEnter = (m) => { R1 && m.pointerType === "mouse" || f(m, m.pointerType); }, y.onPointerLeave = (m) => { !o && m.currentTarget.contains(m.target) && p(m, m.pointerType); }) : (y.onTouchStart = () => { s.ignoreEmulatedMouseEvents = !0; }, y.onMouseEnter = (m) => { !s.ignoreEmulatedMouseEvents && !R1 && f(m, "mouse"), s.ignoreEmulatedMouseEvents = !1; }, y.onMouseLeave = (m) => { !o && m.currentTarget.contains(m.target) && p(m, "mouse"); }), { hoverProps: y, triggerHoverEnd: p }; }, [ t, r, n, o, s, u, c ]); return ue(() => { o && l({ currentTarget: s.target }, s.pointerType); }, [ o ]), { hoverProps: d, isHovered: a }; } function t0e(e = {}) { let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ne({ isFocused: !1, isFocusVisible: t || jB() }), [a, i] = de(!1), [s, u] = de(() => o.current.isFocused && o.current.isFocusVisible), c = Ne(() => u(o.current.isFocused && o.current.isFocusVisible), []), d = Ne((p) => { o.current.isFocused = p, i(p), c(); }, [ c ]); X1e((p) => { o.current.isFocusVisible = p, c(); }, [], { isTextInput: r }); let { focusProps: l } = J1e({ isDisabled: n, onFocusChange: d }), { focusWithinProps: f } = Q1e({ isDisabled: !n, onFocusWithinChange: d }); return { isFocused: a, isFocusVisible: s, focusProps: n ? f : l }; } var r0e = Object.defineProperty, n0e = (e, t, r) => t in e ? r0e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Z2 = (e, t, r) => (n0e(e, typeof t != "symbol" ? t + "" : t, r), r); let o0e = class { constructor() { Z2(this, "current", this.detect()), Z2(this, "handoffState", "pending"), Z2(this, "currentId", 0); } set(t) { this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t); } reset() { this.set(this.detect()); } nextId() { return ++this.currentId; } get isServer() { return this.current === "server"; } get isClient() { return this.current === "client"; } detect() { return typeof window > "u" || typeof document > "u" ? "server" : "client"; } handoff() { this.handoffState === "pending" && (this.handoffState = "complete"); } get isHandoffComplete() { return this.handoffState === "complete"; } }, $u = new o0e(); function Tb(e) { var t, r; return $u.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document; } function RB(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => { throw t; })); } function hi() { let e = [], t = { addEventListener(r, n, o, a) { return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a)); }, requestAnimationFrame(...r) { let n = requestAnimationFrame(...r); return t.add(() => cancelAnimationFrame(n)); }, nextFrame(...r) { return t.requestAnimationFrame(() => t.requestAnimationFrame(...r)); }, setTimeout(...r) { let n = setTimeout(...r); return t.add(() => clearTimeout(n)); }, microTask(...r) { let n = { current: !0 }; return RB(() => { n.current && r[0](); }), t.add(() => { n.current = !1; }); }, style(r, n, o) { let a = r.style.getPropertyValue(n); return Object.assign(r.style, { [n]: o }), this.add(() => { Object.assign(r.style, { [n]: a }); }); }, group(r) { let n = hi(); return r(n), this.add(() => n.dispose()); }, add(r) { return e.includes(r) || e.push(r), () => { let n = e.indexOf(r); if (n >= 0) for (let o of e.splice(n, 1)) o(); }; }, dispose() { for (let r of e.splice(0)) r(); } }; return t; } function cp() { let [e] = de(hi); return ue(() => () => e.dispose(), [e]), e; } let Kr = (e, t) => { $u.isServer ? ue(e, t) : pi(e, t); }; function cf(e) { let t = ne(e); return Kr(() => { t.current = e; }, [e]), t; } let Gt = function(e) { let t = cf(e); return ae.useCallback((...r) => t.current(...r), [t]); }; function a0e(e) { let t = e.width / 2, r = e.height / 2; return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t }; } function i0e(e, t) { return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom); } function s0e({ disabled: e = !1 } = {}) { let t = ne(null), [r, n] = de(!1), o = cp(), a = Gt(() => { t.current = null, n(!1), o.dispose(); }), i = Gt((s) => { if (o.dispose(), t.current === null) { t.current = s.currentTarget, n(!0); { let u = Tb(s.currentTarget); o.addEventListener(u, "pointerup", a, !1), o.addEventListener(u, "pointermove", (c) => { if (t.current) { let d = a0e(c); n(i0e(d, t.current.getBoundingClientRect())); } }, !1), o.addEventListener(u, "pointercancel", a, !1); } } }); return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } }; } let l0e = zt(void 0); function nP() { return nt(l0e); } function LS(...e) { return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" "); } function ia(e, t, ...r) { if (e in t) { let o = t[e]; return typeof o == "function" ? o(...r) : o; } let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(n, ia), n; } var M1 = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(M1 || {}), Bl = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Bl || {}); function lo() { let e = u0e(); return Ne((t) => c0e({ mergeRefs: e, ...t }), [e]); } function c0e({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) { s = s ?? f0e; let u = MB(t, e); if (a) return Py(u, r, n, i, s); let c = o ?? 0; if (c & 2) { let { static: d = !1, ...l } = u; if (d) return Py(l, r, n, i, s); } if (c & 1) { let { unmount: d = !0, ...l } = u; return ia(d ? 0 : 1, { 0() { return null; }, 1() { return Py({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s); } }); } return Py(u, r, n, i, s); } function Py(e, t = {}, r, n, o) { let { as: a = r, children: i, refName: s = "ref", ...u } = e$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i; "className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0); let l = {}; if (t) { let f = !1, p = []; for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`)); if (f) { l["data-headlessui-state"] = p.join(" "); for (let y of p) l[`data-${y}`] = ""; } } if (a === Ut && (Object.keys(zl(u)).length > 0 || Object.keys(zl(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) { if (Object.keys(zl(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(zl(u)).concat(Object.keys(zl(l))).map((f) => ` - ${f}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(` `)].join(` `)); } else { let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => LS(p(...w), u.className) : LS(p, u.className), m = y ? { className: y } : {}, h = MB(d.props, zl(e$(u, ["ref"]))); for (let w in l) w in h && delete l[w]; return Li(d, Object.assign({}, h, l, c, { ref: o(d0e(d), c.ref) }, m)); } return vb(a, Object.assign({}, e$(u, ["ref"]), a !== Ut && c, a !== Ut && l), d); } function u0e() { let e = ne([]), t = Ne((r) => { for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r); }, []); return (...r) => { if (!r.every((n) => n == null)) return e.current = r, t; }; } function f0e(...e) { return e.every((t) => t == null) ? void 0 : (t) => { for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t); }; } function MB(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => { var a; return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o); }]); for (let n in r) Object.assign(t, { [n](o, ...a) { let i = r[n]; for (let s of i) { if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return; s(o, ...a); } } }); return t; } function DB(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; for (let n in r) Object.assign(t, { [n](...o) { let a = r[n]; for (let i of a) i == null || i(...o); } }); return t; } function eo(e) { var t; return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name }); } function zl(e) { let t = Object.assign({}, e); for (let r in t) t[r] === void 0 && delete t[r]; return t; } function e$(e, t = []) { let r = Object.assign({}, e); for (let n of t) n in r && delete r[n]; return r; } function d0e(e) { return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref; } function p0e(e, t, r) { let [n, o] = de(r), a = e !== void 0, i = ne(a), s = ne(!1), u = ne(!1); return a && !i.current && !s.current ? (s.current = !0, i.current = a, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !a && i.current && !u.current && (u.current = !0, i.current = a, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [a ? e : n, Gt((c) => (a || o(c), t == null ? void 0 : t(c)))]; } function m0e(e) { let [t] = de(e); return t; } function FB(e = {}, t = null, r = []) { for (let [n, o] of Object.entries(e)) zB(r, LB(t, n), o); return r; } function LB(e, t) { return e ? e + "[" + t + "]" : t; } function zB(e, t, r) { if (Array.isArray(r)) for (let [n, o] of r.entries()) zB(e, LB(t, n.toString()), o); else r instanceof Date ? e.push([t, r.toISOString()]) : typeof r == "boolean" ? e.push([t, r ? "1" : "0"]) : typeof r == "string" ? e.push([t, r]) : typeof r == "number" ? e.push([t, `${r}`]) : r == null ? e.push([t, ""]) : FB(r, t, e); } function h0e(e) { var t, r; let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form"); if (n) { for (let o of n.elements) if (o !== e && (o.tagName === "INPUT" && o.type === "submit" || o.tagName === "BUTTON" && o.type === "submit" || o.nodeName === "INPUT" && o.type === "image")) { o.click(); return; } (r = n.requestSubmit) == null || r.call(n); } } let g0e = "span"; var oP = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(oP || {}); function b0e(e, t) { var r; let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } }; return lo()({ ourProps: a, theirProps: o, slot: {}, defaultTag: g0e, name: "Hidden" }); } let WB = eo(b0e), y0e = zt(null); function v0e({ children: e }) { let t = nt(y0e); if (!t) return ae.createElement(ae.Fragment, null, e); let { target: r } = t; return r ? C0(ae.createElement(ae.Fragment, null, e), r) : null; } function x0e({ data: e, form: t, disabled: r, onReset: n, overrides: o }) { let [a, i] = de(null), s = cp(); return ue(() => { if (n && a) return s.addEventListener(a, "reset", n); }, [a, t, n]), ae.createElement(v0e, null, ae.createElement(w0e, { setForm: i, formId: t }), FB(e).map(([u, c]) => ae.createElement(WB, { features: oP.Hidden, ...zl({ key: u, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: t, disabled: r, name: u, value: c, ...o }) }))); } function w0e({ setForm: e, formId: t }) { return ue(() => { if (t) { let r = document.getElementById(t); r && e(r); } }, [e, t]), t ? null : ae.createElement(WB, { features: oP.Hidden, as: "input", type: "hidden", hidden: !0, readOnly: !0, ref: (r) => { if (!r) return; let n = r.closest("form"); n && e(n); } }); } let $0e = zt(void 0); function VB() { return nt($0e); } function k0e(e) { let t = e.parentElement, r = null; for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (r = t), t = t.parentElement; let n = (t == null ? void 0 : t.getAttribute("disabled")) === ""; return n && _0e(r) ? !1 : n; } function _0e(e) { if (!e) return !1; let t = e.previousElementSibling; for (; t !== null; ) { if (t instanceof HTMLLegendElement) return !1; t = t.previousElementSibling; } return !0; } let HB = Symbol(); function O0e(e, t = !0) { return Object.assign(e, { [HB]: t }); } function Ro(...e) { let t = ne(e); ue(() => { t.current = e; }, [e]); let r = Gt((n) => { for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n); }); return e.every((n) => n == null || (n == null ? void 0 : n[HB])) ? void 0 : r; } let aP = zt(null); aP.displayName = "DescriptionContext"; function GB() { let e = nt(aP); if (e === null) { let t = new Error("You used a component, but it is not inside a relevant parent."); throw Error.captureStackTrace && Error.captureStackTrace(t, GB), t; } return e; } function S0e() { var e, t; return (t = (e = nt(aP)) == null ? void 0 : e.value) != null ? t : void 0; } let E0e = "p"; function A0e(e, t) { let r = ua(), n = nP(), { id: o = `headlessui-description-${r}`, ...a } = e, i = GB(), s = Ro(t); Kr(() => i.register(o), [o, i.register]); let u = n || !1, c = Ie(() => ({ ...i.slot, disabled: u }), [i.slot, u]), d = { ref: s, ...i.props, id: o }; return lo()({ ourProps: d, theirProps: a, slot: c, defaultTag: E0e, name: i.name || "Description" }); } let P0e = eo(A0e); Object.assign(P0e, {}); var ln = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(ln || {}); let cx = zt(null); cx.displayName = "LabelContext"; function UB() { let e = nt(cx); if (e === null) { let t = new Error("You used a