Files
Brandon Thomas 0daf83dba9 mirror repo (WIP)
Need to remove secrets before entire repo can be made public.
2025-09-18 22:45:56 -04:00

15807 lines
442 KiB
JavaScript

import { jsx as V, jsxs as gt, Fragment as br } from "react/jsx-runtime";
import * as S from "react";
import Ir, { useState as yt, useEffect as Ae, useLayoutEffect as Xf, useRef as Ee, forwardRef as Kf, useCallback as Qf, useMemo as Zf, useContext as ql, createContext as Jf, isValidElement as Ni, cloneElement as Ri } from "react";
import * as ed from "react-dom";
import td, { unstable_batchedUpdates as nd } from "react-dom";
function xt(e, t, { checkForDefaultPrevented: n = !0 } = {}) {
return function(a) {
if (e == null || e(a), n === !1 || !a.defaultPrevented)
return t == null ? void 0 : t(a);
};
}
function Mi(e, t) {
if (typeof e == "function")
return e(t);
e != null && (e.current = t);
}
function Hl(...e) {
return (t) => {
let n = !1;
const r = e.map((a) => {
const o = Mi(a, t);
return !n && typeof o == "function" && (n = !0), o;
});
if (n)
return () => {
for (let a = 0; a < r.length; a++) {
const o = r[a];
typeof o == "function" ? o() : Mi(e[a], null);
}
};
};
}
function jt(...e) {
return S.useCallback(Hl(...e), e);
}
function rd(e, t) {
const n = S.createContext(t), r = (o) => {
const { children: i, ...s } = o, c = S.useMemo(() => s, Object.values(s));
return /* @__PURE__ */ V(n.Provider, { value: c, children: i });
};
r.displayName = e + "Provider";
function a(o) {
const i = S.useContext(n);
if (i) return i;
if (t !== void 0) return t;
throw new Error(`\`${o}\` must be used within \`${e}\``);
}
return [r, a];
}
function ad(e, t = []) {
let n = [];
function r(o, i) {
const s = S.createContext(i), c = n.length;
n = [...n, i];
const l = (f) => {
var b;
const { scope: d, children: y, ...v } = f, m = ((b = d == null ? void 0 : d[e]) == null ? void 0 : b[c]) || s, p = S.useMemo(() => v, Object.values(v));
return /* @__PURE__ */ V(m.Provider, { value: p, children: y });
};
l.displayName = o + "Provider";
function u(f, d) {
var m;
const y = ((m = d == null ? void 0 : d[e]) == null ? void 0 : m[c]) || s, v = S.useContext(y);
if (v) return v;
if (i !== void 0) return i;
throw new Error(`\`${f}\` must be used within \`${o}\``);
}
return [l, u];
}
const a = () => {
const o = n.map((i) => S.createContext(i));
return function(s) {
const c = (s == null ? void 0 : s[e]) || o;
return S.useMemo(
() => ({ [`__scope${e}`]: { ...s, [e]: c } }),
[s, c]
);
};
};
return a.scopeName = e, [r, od(a, ...t)];
}
function od(...e) {
const t = e[0];
if (e.length === 1) return t;
const n = () => {
const r = e.map((a) => ({
useScope: a(),
scopeName: a.scopeName
}));
return function(o) {
const i = r.reduce((s, { useScope: c, scopeName: l }) => {
const f = c(o)[`__scope${l}`];
return { ...s, ...f };
}, {});
return S.useMemo(() => ({ [`__scope${t.scopeName}`]: i }), [i]);
};
};
return n.scopeName = t.scopeName, n;
}
var _n = globalThis != null && globalThis.document ? S.useLayoutEffect : () => {
}, id = S[" useId ".trim().toString()] || (() => {
}), sd = 0;
function ra(e) {
const [t, n] = S.useState(id());
return _n(() => {
n((r) => r ?? String(sd++));
}, [e]), e || (t ? `radix-${t}` : "");
}
var ld = S[" useInsertionEffect ".trim().toString()] || _n;
function cd({
prop: e,
defaultProp: t,
onChange: n = () => {
},
caller: r
}) {
const [a, o, i] = ud({
defaultProp: t,
onChange: n
}), s = e !== void 0, c = s ? e : a;
{
const u = S.useRef(e !== void 0);
S.useEffect(() => {
const f = u.current;
f !== s && console.warn(
`${r} is changing from ${f ? "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.`
), u.current = s;
}, [s, r]);
}
const l = S.useCallback(
(u) => {
var f;
if (s) {
const d = fd(u) ? u(e) : u;
d !== e && ((f = i.current) == null || f.call(i, d));
} else
o(u);
},
[s, e, o, i]
);
return [c, l];
}
function ud({
defaultProp: e,
onChange: t
}) {
const [n, r] = S.useState(e), a = S.useRef(n), o = S.useRef(t);
return ld(() => {
o.current = t;
}, [t]), S.useEffect(() => {
var i;
a.current !== n && ((i = o.current) == null || i.call(o, n), a.current = n);
}, [n, a]), [n, r, o];
}
function fd(e) {
return typeof e == "function";
}
// @__NO_SIDE_EFFECTS__
function Xl(e) {
const t = /* @__PURE__ */ dd(e), n = S.forwardRef((r, a) => {
const { children: o, ...i } = r, s = S.Children.toArray(o), c = s.find(pd);
if (c) {
const l = c.props.children, u = s.map((f) => f === c ? S.Children.count(l) > 1 ? S.Children.only(null) : S.isValidElement(l) ? l.props.children : null : f);
return /* @__PURE__ */ V(t, { ...i, ref: a, children: S.isValidElement(l) ? S.cloneElement(l, void 0, u) : null });
}
return /* @__PURE__ */ V(t, { ...i, ref: a, children: o });
});
return n.displayName = `${e}.Slot`, n;
}
// @__NO_SIDE_EFFECTS__
function dd(e) {
const t = S.forwardRef((n, r) => {
const { children: a, ...o } = n;
if (S.isValidElement(a)) {
const i = gd(a), s = hd(o, a.props);
return a.type !== S.Fragment && (s.ref = r ? Hl(r, i) : i), S.cloneElement(a, s);
}
return S.Children.count(a) > 1 ? S.Children.only(null) : null;
});
return t.displayName = `${e}.SlotClone`, t;
}
var md = Symbol("radix.slottable");
function pd(e) {
return S.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === md;
}
function hd(e, t) {
const n = { ...t };
for (const r in t) {
const a = e[r], o = t[r];
/^on[A-Z]/.test(r) ? a && o ? n[r] = (...s) => {
const c = o(...s);
return a(...s), c;
} : a && (n[r] = a) : r === "style" ? n[r] = { ...a, ...o } : r === "className" && (n[r] = [a, o].filter(Boolean).join(" "));
}
return { ...e, ...n };
}
function gd(e) {
var r, a;
let t = (r = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : r.get, n = t && "isReactWarning" in t && t.isReactWarning;
return n ? e.ref : (t = (a = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : a.get, n = t && "isReactWarning" in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
}
var yd = [
"a",
"button",
"div",
"form",
"h2",
"h3",
"img",
"input",
"label",
"li",
"nav",
"ol",
"p",
"select",
"span",
"svg",
"ul"
], Qe = yd.reduce((e, t) => {
const n = /* @__PURE__ */ Xl(`Primitive.${t}`), r = S.forwardRef((a, o) => {
const { asChild: i, ...s } = a, c = i ? n : t;
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ V(c, { ...s, ref: o });
});
return r.displayName = `Primitive.${t}`, { ...e, [t]: r };
}, {});
function bd(e, t) {
e && ed.flushSync(() => e.dispatchEvent(t));
}
function In(e) {
const t = S.useRef(e);
return S.useEffect(() => {
t.current = e;
}), S.useMemo(() => (...n) => {
var r;
return (r = t.current) == null ? void 0 : r.call(t, ...n);
}, []);
}
function vd(e, t = globalThis == null ? void 0 : globalThis.document) {
const n = In(e);
S.useEffect(() => {
const r = (a) => {
a.key === "Escape" && n(a);
};
return t.addEventListener("keydown", r, { capture: !0 }), () => t.removeEventListener("keydown", r, { capture: !0 });
}, [n, t]);
}
var xd = "DismissableLayer", Va = "dismissableLayer.update", wd = "dismissableLayer.pointerDownOutside", Ed = "dismissableLayer.focusOutside", Fi, Kl = S.createContext({
layers: /* @__PURE__ */ new Set(),
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
branches: /* @__PURE__ */ new Set()
}), Ql = S.forwardRef(
(e, t) => {
const {
disableOutsidePointerEvents: n = !1,
onEscapeKeyDown: r,
onPointerDownOutside: a,
onFocusOutside: o,
onInteractOutside: i,
onDismiss: s,
...c
} = e, l = S.useContext(Kl), [u, f] = S.useState(null), d = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, y] = S.useState({}), v = jt(t, (j) => f(j)), m = Array.from(l.layers), [p] = [...l.layersWithOutsidePointerEventsDisabled].slice(-1), b = m.indexOf(p), A = u ? m.indexOf(u) : -1, w = l.layersWithOutsidePointerEventsDisabled.size > 0, P = A >= b, h = Pd((j) => {
const K = j.target, J = [...l.branches].some((oe) => oe.contains(K));
!P || J || (a == null || a(j), i == null || i(j), j.defaultPrevented || s == null || s());
}, d), H = kd((j) => {
const K = j.target;
[...l.branches].some((oe) => oe.contains(K)) || (o == null || o(j), i == null || i(j), j.defaultPrevented || s == null || s());
}, d);
return vd((j) => {
A === l.layers.size - 1 && (r == null || r(j), !j.defaultPrevented && s && (j.preventDefault(), s()));
}, d), S.useEffect(() => {
if (u)
return n && (l.layersWithOutsidePointerEventsDisabled.size === 0 && (Fi = d.body.style.pointerEvents, d.body.style.pointerEvents = "none"), l.layersWithOutsidePointerEventsDisabled.add(u)), l.layers.add(u), Di(), () => {
n && l.layersWithOutsidePointerEventsDisabled.size === 1 && (d.body.style.pointerEvents = Fi);
};
}, [u, d, n, l]), S.useEffect(() => () => {
u && (l.layers.delete(u), l.layersWithOutsidePointerEventsDisabled.delete(u), Di());
}, [u, l]), S.useEffect(() => {
const j = () => y({});
return document.addEventListener(Va, j), () => document.removeEventListener(Va, j);
}, []), /* @__PURE__ */ V(
Qe.div,
{
...c,
ref: v,
style: {
pointerEvents: w ? P ? "auto" : "none" : void 0,
...e.style
},
onFocusCapture: xt(e.onFocusCapture, H.onFocusCapture),
onBlurCapture: xt(e.onBlurCapture, H.onBlurCapture),
onPointerDownCapture: xt(
e.onPointerDownCapture,
h.onPointerDownCapture
)
}
);
}
);
Ql.displayName = xd;
var Sd = "DismissableLayerBranch", Ad = S.forwardRef((e, t) => {
const n = S.useContext(Kl), r = S.useRef(null), a = jt(t, r);
return S.useEffect(() => {
const o = r.current;
if (o)
return n.branches.add(o), () => {
n.branches.delete(o);
};
}, [n.branches]), /* @__PURE__ */ V(Qe.div, { ...e, ref: a });
});
Ad.displayName = Sd;
function Pd(e, t = globalThis == null ? void 0 : globalThis.document) {
const n = In(e), r = S.useRef(!1), a = S.useRef(() => {
});
return S.useEffect(() => {
const o = (s) => {
if (s.target && !r.current) {
let c = function() {
Zl(
wd,
n,
l,
{ discrete: !0 }
);
};
const l = { originalEvent: s };
s.pointerType === "touch" ? (t.removeEventListener("click", a.current), a.current = c, t.addEventListener("click", a.current, { once: !0 })) : c();
} else
t.removeEventListener("click", a.current);
r.current = !1;
}, i = window.setTimeout(() => {
t.addEventListener("pointerdown", o);
}, 0);
return () => {
window.clearTimeout(i), t.removeEventListener("pointerdown", o), t.removeEventListener("click", a.current);
};
}, [t, n]), {
// ensures we check React component tree (not just DOM tree)
onPointerDownCapture: () => r.current = !0
};
}
function kd(e, t = globalThis == null ? void 0 : globalThis.document) {
const n = In(e), r = S.useRef(!1);
return S.useEffect(() => {
const a = (o) => {
o.target && !r.current && Zl(Ed, n, { originalEvent: o }, {
discrete: !1
});
};
return t.addEventListener("focusin", a), () => t.removeEventListener("focusin", a);
}, [t, n]), {
onFocusCapture: () => r.current = !0,
onBlurCapture: () => r.current = !1
};
}
function Di() {
const e = new CustomEvent(Va);
document.dispatchEvent(e);
}
function Zl(e, t, n, { discrete: r }) {
const a = n.originalEvent.target, o = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: n });
t && a.addEventListener(e, t, { once: !0 }), r ? bd(a, o) : a.dispatchEvent(o);
}
var aa = "focusScope.autoFocusOnMount", oa = "focusScope.autoFocusOnUnmount", ji = { bubbles: !1, cancelable: !0 }, Od = "FocusScope", Jl = S.forwardRef((e, t) => {
const {
loop: n = !1,
trapped: r = !1,
onMountAutoFocus: a,
onUnmountAutoFocus: o,
...i
} = e, [s, c] = S.useState(null), l = In(a), u = In(o), f = S.useRef(null), d = jt(t, (m) => c(m)), y = S.useRef({
paused: !1,
pause() {
this.paused = !0;
},
resume() {
this.paused = !1;
}
}).current;
S.useEffect(() => {
if (r) {
let m = function(w) {
if (y.paused || !s) return;
const P = w.target;
s.contains(P) ? f.current = P : ht(f.current, { select: !0 });
}, p = function(w) {
if (y.paused || !s) return;
const P = w.relatedTarget;
P !== null && (s.contains(P) || ht(f.current, { select: !0 }));
}, b = function(w) {
if (document.activeElement === document.body)
for (const h of w)
h.removedNodes.length > 0 && ht(s);
};
document.addEventListener("focusin", m), document.addEventListener("focusout", p);
const A = new MutationObserver(b);
return s && A.observe(s, { childList: !0, subtree: !0 }), () => {
document.removeEventListener("focusin", m), document.removeEventListener("focusout", p), A.disconnect();
};
}
}, [r, s, y.paused]), S.useEffect(() => {
if (s) {
Li.add(y);
const m = document.activeElement;
if (!s.contains(m)) {
const b = new CustomEvent(aa, ji);
s.addEventListener(aa, l), s.dispatchEvent(b), b.defaultPrevented || (Cd(Rd(ec(s)), { select: !0 }), document.activeElement === m && ht(s));
}
return () => {
s.removeEventListener(aa, l), setTimeout(() => {
const b = new CustomEvent(oa, ji);
s.addEventListener(oa, u), s.dispatchEvent(b), b.defaultPrevented || ht(m ?? document.body, { select: !0 }), s.removeEventListener(oa, u), Li.remove(y);
}, 0);
};
}
}, [s, l, u, y]);
const v = S.useCallback(
(m) => {
if (!n && !r || y.paused) return;
const p = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, b = document.activeElement;
if (p && b) {
const A = m.currentTarget, [w, P] = Td(A);
w && P ? !m.shiftKey && b === P ? (m.preventDefault(), n && ht(w, { select: !0 })) : m.shiftKey && b === w && (m.preventDefault(), n && ht(P, { select: !0 })) : b === A && m.preventDefault();
}
},
[n, r, y.paused]
);
return /* @__PURE__ */ V(Qe.div, { tabIndex: -1, ...i, ref: d, onKeyDown: v });
});
Jl.displayName = Od;
function Cd(e, { select: t = !1 } = {}) {
const n = document.activeElement;
for (const r of e)
if (ht(r, { select: t }), document.activeElement !== n) return;
}
function Td(e) {
const t = ec(e), n = zi(t, e), r = zi(t.reverse(), e);
return [n, r];
}
function ec(e) {
const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
acceptNode: (r) => {
const a = r.tagName === "INPUT" && r.type === "hidden";
return r.disabled || r.hidden || a ? NodeFilter.FILTER_SKIP : r.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
}
});
for (; n.nextNode(); ) t.push(n.currentNode);
return t;
}
function zi(e, t) {
for (const n of e)
if (!_d(n, { upTo: t })) return n;
}
function _d(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 Id(e) {
return e instanceof HTMLInputElement && "select" in e;
}
function ht(e, { select: t = !1 } = {}) {
if (e && e.focus) {
const n = document.activeElement;
e.focus({ preventScroll: !0 }), e !== n && Id(e) && t && e.select();
}
}
var Li = Nd();
function Nd() {
let e = [];
return {
add(t) {
const n = e[0];
t !== n && (n == null || n.pause()), e = $i(e, t), e.unshift(t);
},
remove(t) {
var n;
e = $i(e, t), (n = e[0]) == null || n.resume();
}
};
}
function $i(e, t) {
const n = [...e], r = n.indexOf(t);
return r !== -1 && n.splice(r, 1), n;
}
function Rd(e) {
return e.filter((t) => t.tagName !== "A");
}
var Md = "Portal", tc = S.forwardRef((e, t) => {
var s;
const { container: n, ...r } = e, [a, o] = S.useState(!1);
_n(() => o(!0), []);
const i = n || a && ((s = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : s.body);
return i ? td.createPortal(/* @__PURE__ */ V(Qe.div, { ...r, ref: t }), i) : null;
});
tc.displayName = Md;
function Fd(e, t) {
return S.useReducer((n, r) => t[n][r] ?? n, e);
}
var Nr = (e) => {
const { present: t, children: n } = e, r = Dd(t), a = typeof n == "function" ? n({ present: r.isPresent }) : S.Children.only(n), o = jt(r.ref, jd(a));
return typeof n == "function" || r.isPresent ? S.cloneElement(a, { ref: o }) : null;
};
Nr.displayName = "Presence";
function Dd(e) {
const [t, n] = S.useState(), r = S.useRef(null), a = S.useRef(e), o = S.useRef("none"), i = e ? "mounted" : "unmounted", [s, c] = Fd(i, {
mounted: {
UNMOUNT: "unmounted",
ANIMATION_OUT: "unmountSuspended"
},
unmountSuspended: {
MOUNT: "mounted",
ANIMATION_END: "unmounted"
},
unmounted: {
MOUNT: "mounted"
}
});
return S.useEffect(() => {
const l = Qn(r.current);
o.current = s === "mounted" ? l : "none";
}, [s]), _n(() => {
const l = r.current, u = a.current;
if (u !== e) {
const d = o.current, y = Qn(l);
e ? c("MOUNT") : y === "none" || (l == null ? void 0 : l.display) === "none" ? c("UNMOUNT") : c(u && d !== y ? "ANIMATION_OUT" : "UNMOUNT"), a.current = e;
}
}, [e, c]), _n(() => {
if (t) {
let l;
const u = t.ownerDocument.defaultView ?? window, f = (y) => {
const m = Qn(r.current).includes(y.animationName);
if (y.target === t && m && (c("ANIMATION_END"), !a.current)) {
const p = t.style.animationFillMode;
t.style.animationFillMode = "forwards", l = u.setTimeout(() => {
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = p);
});
}
}, d = (y) => {
y.target === t && (o.current = Qn(r.current));
};
return t.addEventListener("animationstart", d), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => {
u.clearTimeout(l), t.removeEventListener("animationstart", d), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f);
};
} else
c("ANIMATION_END");
}, [t, c]), {
isPresent: ["mounted", "unmountSuspended"].includes(s),
ref: S.useCallback((l) => {
r.current = l ? getComputedStyle(l) : null, n(l);
}, [])
};
}
function Qn(e) {
return (e == null ? void 0 : e.animationName) || "none";
}
function jd(e) {
var r, a;
let t = (r = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : r.get, n = t && "isReactWarning" in t && t.isReactWarning;
return n ? e.ref : (t = (a = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : a.get, n = t && "isReactWarning" in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
}
var ia = 0;
function zd() {
S.useEffect(() => {
const e = document.querySelectorAll("[data-radix-focus-guard]");
return document.body.insertAdjacentElement("afterbegin", e[0] ?? Wi()), document.body.insertAdjacentElement("beforeend", e[1] ?? Wi()), ia++, () => {
ia === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), ia--;
};
}, []);
}
function Wi() {
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 Ge = function() {
return Ge = Object.assign || function(t) {
for (var n, r = 1, a = arguments.length; r < a; r++) {
n = arguments[r];
for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]);
}
return t;
}, Ge.apply(this, arguments);
};
function nc(e, t) {
var n = {};
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
if (e != null && typeof Object.getOwnPropertySymbols == "function")
for (var a = 0, r = Object.getOwnPropertySymbols(e); a < r.length; a++)
t.indexOf(r[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[a]) && (n[r[a]] = e[r[a]]);
return n;
}
function Ld(e, t, n) {
if (n || arguments.length === 2) for (var r = 0, a = t.length, o; r < a; r++)
(o || !(r in t)) && (o || (o = Array.prototype.slice.call(t, 0, r)), o[r] = t[r]);
return e.concat(o || Array.prototype.slice.call(t));
}
var ur = "right-scroll-bar-position", fr = "width-before-scroll-bar", $d = "with-scroll-bars-hidden", Wd = "--removed-body-scroll-bar-size";
function sa(e, t) {
return typeof e == "function" ? e(t) : e && (e.current = t), e;
}
function Ud(e, t) {
var n = yt(function() {
return {
// value
value: e,
// last callback
callback: t,
// "memoized" public interface
facade: {
get current() {
return n.value;
},
set current(r) {
var a = n.value;
a !== r && (n.value = r, n.callback(r, a));
}
}
};
})[0];
return n.callback = t, n.facade;
}
var Vd = typeof window < "u" ? S.useLayoutEffect : S.useEffect, Ui = /* @__PURE__ */ new WeakMap();
function Yd(e, t) {
var n = Ud(null, function(r) {
return e.forEach(function(a) {
return sa(a, r);
});
});
return Vd(function() {
var r = Ui.get(n);
if (r) {
var a = new Set(r), o = new Set(e), i = n.current;
a.forEach(function(s) {
o.has(s) || sa(s, null);
}), o.forEach(function(s) {
a.has(s) || sa(s, i);
});
}
Ui.set(n, e);
}, [e]), n;
}
function Gd(e) {
return e;
}
function Bd(e, t) {
t === void 0 && (t = Gd);
var n = [], r = !1, a = {
read: function() {
if (r)
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
return n.length ? n[n.length - 1] : e;
},
useMedium: function(o) {
var i = t(o, r);
return n.push(i), function() {
n = n.filter(function(s) {
return s !== i;
});
};
},
assignSyncMedium: function(o) {
for (r = !0; n.length; ) {
var i = n;
n = [], i.forEach(o);
}
n = {
push: function(s) {
return o(s);
},
filter: function() {
return n;
}
};
},
assignMedium: function(o) {
r = !0;
var i = [];
if (n.length) {
var s = n;
n = [], s.forEach(o), i = n;
}
var c = function() {
var u = i;
i = [], u.forEach(o);
}, l = function() {
return Promise.resolve().then(c);
};
l(), n = {
push: function(u) {
i.push(u), l();
},
filter: function(u) {
return i = i.filter(u), n;
}
};
}
};
return a;
}
function qd(e) {
e === void 0 && (e = {});
var t = Bd(null);
return t.options = Ge({ async: !0, ssr: !1 }, e), t;
}
var rc = function(e) {
var t = e.sideCar, n = nc(e, ["sideCar"]);
if (!t)
throw new Error("Sidecar: please provide `sideCar` property to import the right car");
var r = t.read();
if (!r)
throw new Error("Sidecar medium not found");
return S.createElement(r, Ge({}, n));
};
rc.isSideCarExport = !0;
function Hd(e, t) {
return e.useMedium(t), rc;
}
var ac = qd(), la = function() {
}, Rr = S.forwardRef(function(e, t) {
var n = S.useRef(null), r = S.useState({
onScrollCapture: la,
onWheelCapture: la,
onTouchMoveCapture: la
}), a = r[0], o = r[1], i = e.forwardProps, s = e.children, c = e.className, l = e.removeScrollBar, u = e.enabled, f = e.shards, d = e.sideCar, y = e.noRelative, v = e.noIsolation, m = e.inert, p = e.allowPinchZoom, b = e.as, A = b === void 0 ? "div" : b, w = e.gapMode, P = nc(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), h = d, H = Yd([n, t]), j = Ge(Ge({}, P), a);
return S.createElement(
S.Fragment,
null,
u && S.createElement(h, { sideCar: ac, removeScrollBar: l, shards: f, noRelative: y, noIsolation: v, inert: m, setCallbacks: o, allowPinchZoom: !!p, lockRef: n, gapMode: w }),
i ? S.cloneElement(S.Children.only(s), Ge(Ge({}, j), { ref: H })) : S.createElement(A, Ge({}, j, { className: c, ref: H }), s)
);
});
Rr.defaultProps = {
enabled: !0,
removeScrollBar: !0,
inert: !1
};
Rr.classNames = {
fullWidth: fr,
zeroRight: ur
};
var Xd = function() {
if (typeof __webpack_nonce__ < "u")
return __webpack_nonce__;
};
function Kd() {
if (!document)
return null;
var e = document.createElement("style");
e.type = "text/css";
var t = Xd();
return t && e.setAttribute("nonce", t), e;
}
function Qd(e, t) {
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
}
function Zd(e) {
var t = document.head || document.getElementsByTagName("head")[0];
t.appendChild(e);
}
var Jd = function() {
var e = 0, t = null;
return {
add: function(n) {
e == 0 && (t = Kd()) && (Qd(t, n), Zd(t)), e++;
},
remove: function() {
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
}
};
}, em = function() {
var e = Jd();
return function(t, n) {
S.useEffect(function() {
return e.add(t), function() {
e.remove();
};
}, [t && n]);
};
}, oc = function() {
var e = em(), t = function(n) {
var r = n.styles, a = n.dynamic;
return e(r, a), null;
};
return t;
}, tm = {
left: 0,
top: 0,
right: 0,
gap: 0
}, ca = function(e) {
return parseInt(e || "", 10) || 0;
}, nm = function(e) {
var t = window.getComputedStyle(document.body), n = t[e === "padding" ? "paddingLeft" : "marginLeft"], r = t[e === "padding" ? "paddingTop" : "marginTop"], a = t[e === "padding" ? "paddingRight" : "marginRight"];
return [ca(n), ca(r), ca(a)];
}, rm = function(e) {
if (e === void 0 && (e = "margin"), typeof window > "u")
return tm;
var t = nm(e), n = document.documentElement.clientWidth, r = window.innerWidth;
return {
left: t[0],
top: t[1],
right: t[2],
gap: Math.max(0, r - n + t[2] - t[0])
};
}, am = oc(), Ht = "data-scroll-locked", om = function(e, t, n, r) {
var a = e.left, o = e.top, i = e.right, s = e.gap;
return n === void 0 && (n = "margin"), `
.`.concat($d, ` {
overflow: hidden `).concat(r, `;
padding-right: `).concat(s, "px ").concat(r, `;
}
body[`).concat(Ht, `] {
overflow: hidden `).concat(r, `;
overscroll-behavior: contain;
`).concat([
t && "position: relative ".concat(r, ";"),
n === "margin" && `
padding-left: `.concat(a, `px;
padding-top: `).concat(o, `px;
padding-right: `).concat(i, `px;
margin-left:0;
margin-top:0;
margin-right: `).concat(s, "px ").concat(r, `;
`),
n === "padding" && "padding-right: ".concat(s, "px ").concat(r, ";")
].filter(Boolean).join(""), `
}
.`).concat(ur, ` {
right: `).concat(s, "px ").concat(r, `;
}
.`).concat(fr, ` {
margin-right: `).concat(s, "px ").concat(r, `;
}
.`).concat(ur, " .").concat(ur, ` {
right: 0 `).concat(r, `;
}
.`).concat(fr, " .").concat(fr, ` {
margin-right: 0 `).concat(r, `;
}
body[`).concat(Ht, `] {
`).concat(Wd, ": ").concat(s, `px;
}
`);
}, Vi = function() {
var e = parseInt(document.body.getAttribute(Ht) || "0", 10);
return isFinite(e) ? e : 0;
}, im = function() {
S.useEffect(function() {
return document.body.setAttribute(Ht, (Vi() + 1).toString()), function() {
var e = Vi() - 1;
e <= 0 ? document.body.removeAttribute(Ht) : document.body.setAttribute(Ht, e.toString());
};
}, []);
}, sm = function(e) {
var t = e.noRelative, n = e.noImportant, r = e.gapMode, a = r === void 0 ? "margin" : r;
im();
var o = S.useMemo(function() {
return rm(a);
}, [a]);
return S.createElement(am, { styles: om(o, !t, a, n ? "" : "!important") });
}, Ya = !1;
if (typeof window < "u")
try {
var Zn = Object.defineProperty({}, "passive", {
get: function() {
return Ya = !0, !0;
}
});
window.addEventListener("test", Zn, Zn), window.removeEventListener("test", Zn, Zn);
} catch {
Ya = !1;
}
var Lt = Ya ? { passive: !1 } : !1, lm = function(e) {
return e.tagName === "TEXTAREA";
}, ic = function(e, t) {
if (!(e instanceof Element))
return !1;
var n = window.getComputedStyle(e);
return (
// not-not-scrollable
n[t] !== "hidden" && // contains scroll inside self
!(n.overflowY === n.overflowX && !lm(e) && n[t] === "visible")
);
}, cm = function(e) {
return ic(e, "overflowY");
}, um = function(e) {
return ic(e, "overflowX");
}, Yi = function(e, t) {
var n = t.ownerDocument, r = t;
do {
typeof ShadowRoot < "u" && r instanceof ShadowRoot && (r = r.host);
var a = sc(e, r);
if (a) {
var o = lc(e, r), i = o[1], s = o[2];
if (i > s)
return !0;
}
r = r.parentNode;
} while (r && r !== n.body);
return !1;
}, fm = function(e) {
var t = e.scrollTop, n = e.scrollHeight, r = e.clientHeight;
return [
t,
n,
r
];
}, dm = function(e) {
var t = e.scrollLeft, n = e.scrollWidth, r = e.clientWidth;
return [
t,
n,
r
];
}, sc = function(e, t) {
return e === "v" ? cm(t) : um(t);
}, lc = function(e, t) {
return e === "v" ? fm(t) : dm(t);
}, mm = function(e, t) {
return e === "h" && t === "rtl" ? -1 : 1;
}, pm = function(e, t, n, r, a) {
var o = mm(e, window.getComputedStyle(t).direction), i = o * r, s = n.target, c = t.contains(s), l = !1, u = i > 0, f = 0, d = 0;
do {
if (!s)
break;
var y = lc(e, s), v = y[0], m = y[1], p = y[2], b = m - p - o * v;
(v || b) && sc(e, s) && (f += b, d += v);
var A = s.parentNode;
s = A && A.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? A.host : A;
} while (
// portaled content
!c && s !== document.body || // self content
c && (t.contains(s) || t === s)
);
return (u && Math.abs(f) < 1 || !u && Math.abs(d) < 1) && (l = !0), l;
}, Jn = function(e) {
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
}, Gi = function(e) {
return [e.deltaX, e.deltaY];
}, Bi = function(e) {
return e && "current" in e ? e.current : e;
}, hm = function(e, t) {
return e[0] === t[0] && e[1] === t[1];
}, gm = function(e) {
return `
.block-interactivity-`.concat(e, ` {pointer-events: none;}
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
`);
}, ym = 0, $t = [];
function bm(e) {
var t = S.useRef([]), n = S.useRef([0, 0]), r = S.useRef(), a = S.useState(ym++)[0], o = S.useState(oc)[0], i = S.useRef(e);
S.useEffect(function() {
i.current = e;
}, [e]), S.useEffect(function() {
if (e.inert) {
document.body.classList.add("block-interactivity-".concat(a));
var m = Ld([e.lockRef.current], (e.shards || []).map(Bi), !0).filter(Boolean);
return m.forEach(function(p) {
return p.classList.add("allow-interactivity-".concat(a));
}), function() {
document.body.classList.remove("block-interactivity-".concat(a)), m.forEach(function(p) {
return p.classList.remove("allow-interactivity-".concat(a));
});
};
}
}, [e.inert, e.lockRef.current, e.shards]);
var s = S.useCallback(function(m, p) {
if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey)
return !i.current.allowPinchZoom;
var b = Jn(m), A = n.current, w = "deltaX" in m ? m.deltaX : A[0] - b[0], P = "deltaY" in m ? m.deltaY : A[1] - b[1], h, H = m.target, j = Math.abs(w) > Math.abs(P) ? "h" : "v";
if ("touches" in m && j === "h" && H.type === "range")
return !1;
var K = Yi(j, H);
if (!K)
return !0;
if (K ? h = j : (h = j === "v" ? "h" : "v", K = Yi(j, H)), !K)
return !1;
if (!r.current && "changedTouches" in m && (w || P) && (r.current = h), !h)
return !0;
var J = r.current || h;
return pm(J, p, m, J === "h" ? w : P);
}, []), c = S.useCallback(function(m) {
var p = m;
if (!(!$t.length || $t[$t.length - 1] !== o)) {
var b = "deltaY" in p ? Gi(p) : Jn(p), A = t.current.filter(function(h) {
return h.name === p.type && (h.target === p.target || p.target === h.shadowParent) && hm(h.delta, b);
})[0];
if (A && A.should) {
p.cancelable && p.preventDefault();
return;
}
if (!A) {
var w = (i.current.shards || []).map(Bi).filter(Boolean).filter(function(h) {
return h.contains(p.target);
}), P = w.length > 0 ? s(p, w[0]) : !i.current.noIsolation;
P && p.cancelable && p.preventDefault();
}
}
}, []), l = S.useCallback(function(m, p, b, A) {
var w = { name: m, delta: p, target: b, should: A, shadowParent: vm(b) };
t.current.push(w), setTimeout(function() {
t.current = t.current.filter(function(P) {
return P !== w;
});
}, 1);
}, []), u = S.useCallback(function(m) {
n.current = Jn(m), r.current = void 0;
}, []), f = S.useCallback(function(m) {
l(m.type, Gi(m), m.target, s(m, e.lockRef.current));
}, []), d = S.useCallback(function(m) {
l(m.type, Jn(m), m.target, s(m, e.lockRef.current));
}, []);
S.useEffect(function() {
return $t.push(o), e.setCallbacks({
onScrollCapture: f,
onWheelCapture: f,
onTouchMoveCapture: d
}), document.addEventListener("wheel", c, Lt), document.addEventListener("touchmove", c, Lt), document.addEventListener("touchstart", u, Lt), function() {
$t = $t.filter(function(m) {
return m !== o;
}), document.removeEventListener("wheel", c, Lt), document.removeEventListener("touchmove", c, Lt), document.removeEventListener("touchstart", u, Lt);
};
}, []);
var y = e.removeScrollBar, v = e.inert;
return S.createElement(
S.Fragment,
null,
v ? S.createElement(o, { styles: gm(a) }) : null,
y ? S.createElement(sm, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
);
}
function vm(e) {
for (var t = null; e !== null; )
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
return t;
}
const xm = Hd(ac, bm);
var cc = S.forwardRef(function(e, t) {
return S.createElement(Rr, Ge({}, e, { ref: t, sideCar: xm }));
});
cc.classNames = Rr.classNames;
var wm = function(e) {
if (typeof document > "u")
return null;
var t = Array.isArray(e) ? e[0] : e;
return t.ownerDocument.body;
}, Wt = /* @__PURE__ */ new WeakMap(), er = /* @__PURE__ */ new WeakMap(), tr = {}, ua = 0, uc = function(e) {
return e && (e.host || uc(e.parentNode));
}, Em = function(e, t) {
return t.map(function(n) {
if (e.contains(n))
return n;
var r = uc(n);
return r && e.contains(r) ? r : (console.error("aria-hidden", n, "in not contained inside", e, ". Doing nothing"), null);
}).filter(function(n) {
return !!n;
});
}, Sm = function(e, t, n, r) {
var a = Em(t, Array.isArray(e) ? e : [e]);
tr[n] || (tr[n] = /* @__PURE__ */ new WeakMap());
var o = tr[n], i = [], s = /* @__PURE__ */ new Set(), c = new Set(a), l = function(f) {
!f || s.has(f) || (s.add(f), l(f.parentNode));
};
a.forEach(l);
var u = function(f) {
!f || c.has(f) || Array.prototype.forEach.call(f.children, function(d) {
if (s.has(d))
u(d);
else
try {
var y = d.getAttribute(r), v = y !== null && y !== "false", m = (Wt.get(d) || 0) + 1, p = (o.get(d) || 0) + 1;
Wt.set(d, m), o.set(d, p), i.push(d), m === 1 && v && er.set(d, !0), p === 1 && d.setAttribute(n, "true"), v || d.setAttribute(r, "true");
} catch (b) {
console.error("aria-hidden: cannot operate on ", d, b);
}
});
};
return u(t), s.clear(), ua++, function() {
i.forEach(function(f) {
var d = Wt.get(f) - 1, y = o.get(f) - 1;
Wt.set(f, d), o.set(f, y), d || (er.has(f) || f.removeAttribute(r), er.delete(f)), y || f.removeAttribute(n);
}), ua--, ua || (Wt = /* @__PURE__ */ new WeakMap(), Wt = /* @__PURE__ */ new WeakMap(), er = /* @__PURE__ */ new WeakMap(), tr = {});
};
}, Am = function(e, t, n) {
n === void 0 && (n = "data-aria-hidden");
var r = Array.from(Array.isArray(e) ? e : [e]), a = wm(e);
return a ? (r.push.apply(r, Array.from(a.querySelectorAll("[aria-live], script"))), Sm(r, a, n, "aria-hidden")) : function() {
return null;
};
}, Mr = "Dialog", [fc, A1] = ad(Mr), [Pm, $e] = fc(Mr), dc = (e) => {
const {
__scopeDialog: t,
children: n,
open: r,
defaultOpen: a,
onOpenChange: o,
modal: i = !0
} = e, s = S.useRef(null), c = S.useRef(null), [l, u] = cd({
prop: r,
defaultProp: a ?? !1,
onChange: o,
caller: Mr
});
return /* @__PURE__ */ V(
Pm,
{
scope: t,
triggerRef: s,
contentRef: c,
contentId: ra(),
titleId: ra(),
descriptionId: ra(),
open: l,
onOpenChange: u,
onOpenToggle: S.useCallback(() => u((f) => !f), [u]),
modal: i,
children: n
}
);
};
dc.displayName = Mr;
var mc = "DialogTrigger", km = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, ...r } = e, a = $e(mc, n), o = jt(t, a.triggerRef);
return /* @__PURE__ */ V(
Qe.button,
{
type: "button",
"aria-haspopup": "dialog",
"aria-expanded": a.open,
"aria-controls": a.contentId,
"data-state": Uo(a.open),
...r,
ref: o,
onClick: xt(e.onClick, a.onOpenToggle)
}
);
}
);
km.displayName = mc;
var $o = "DialogPortal", [Om, pc] = fc($o, {
forceMount: void 0
}), hc = (e) => {
const { __scopeDialog: t, forceMount: n, children: r, container: a } = e, o = $e($o, t);
return /* @__PURE__ */ V(Om, { scope: t, forceMount: n, children: S.Children.map(r, (i) => /* @__PURE__ */ V(Nr, { present: n || o.open, children: /* @__PURE__ */ V(tc, { asChild: !0, container: a, children: i }) })) });
};
hc.displayName = $o;
var vr = "DialogOverlay", gc = S.forwardRef(
(e, t) => {
const n = pc(vr, e.__scopeDialog), { forceMount: r = n.forceMount, ...a } = e, o = $e(vr, e.__scopeDialog);
return o.modal ? /* @__PURE__ */ V(Nr, { present: r || o.open, children: /* @__PURE__ */ V(Tm, { ...a, ref: t }) }) : null;
}
);
gc.displayName = vr;
var Cm = /* @__PURE__ */ Xl("DialogOverlay.RemoveScroll"), Tm = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, ...r } = e, a = $e(vr, n);
return (
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
// ie. when `Overlay` and `Content` are siblings
/* @__PURE__ */ V(cc, { as: Cm, allowPinchZoom: !0, shards: [a.contentRef], children: /* @__PURE__ */ V(
Qe.div,
{
"data-state": Uo(a.open),
...r,
ref: t,
style: { pointerEvents: "auto", ...r.style }
}
) })
);
}
), It = "DialogContent", yc = S.forwardRef(
(e, t) => {
const n = pc(It, e.__scopeDialog), { forceMount: r = n.forceMount, ...a } = e, o = $e(It, e.__scopeDialog);
return /* @__PURE__ */ V(Nr, { present: r || o.open, children: o.modal ? /* @__PURE__ */ V(_m, { ...a, ref: t }) : /* @__PURE__ */ V(Im, { ...a, ref: t }) });
}
);
yc.displayName = It;
var _m = S.forwardRef(
(e, t) => {
const n = $e(It, e.__scopeDialog), r = S.useRef(null), a = jt(t, n.contentRef, r);
return S.useEffect(() => {
const o = r.current;
if (o) return Am(o);
}, []), /* @__PURE__ */ V(
bc,
{
...e,
ref: a,
trapFocus: n.open,
disableOutsidePointerEvents: !0,
onCloseAutoFocus: xt(e.onCloseAutoFocus, (o) => {
var i;
o.preventDefault(), (i = n.triggerRef.current) == null || i.focus();
}),
onPointerDownOutside: xt(e.onPointerDownOutside, (o) => {
const i = o.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
(i.button === 2 || s) && o.preventDefault();
}),
onFocusOutside: xt(
e.onFocusOutside,
(o) => o.preventDefault()
)
}
);
}
), Im = S.forwardRef(
(e, t) => {
const n = $e(It, e.__scopeDialog), r = S.useRef(!1), a = S.useRef(!1);
return /* @__PURE__ */ V(
bc,
{
...e,
ref: t,
trapFocus: !1,
disableOutsidePointerEvents: !1,
onCloseAutoFocus: (o) => {
var i, s;
(i = e.onCloseAutoFocus) == null || i.call(e, o), o.defaultPrevented || (r.current || (s = n.triggerRef.current) == null || s.focus(), o.preventDefault()), r.current = !1, a.current = !1;
},
onInteractOutside: (o) => {
var c, l;
(c = e.onInteractOutside) == null || c.call(e, o), o.defaultPrevented || (r.current = !0, o.detail.originalEvent.type === "pointerdown" && (a.current = !0));
const i = o.target;
((l = n.triggerRef.current) == null ? void 0 : l.contains(i)) && o.preventDefault(), o.detail.originalEvent.type === "focusin" && a.current && o.preventDefault();
}
}
);
}
), bc = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, trapFocus: r, onOpenAutoFocus: a, onCloseAutoFocus: o, ...i } = e, s = $e(It, n), c = S.useRef(null), l = jt(t, c);
return zd(), /* @__PURE__ */ gt(br, { children: [
/* @__PURE__ */ V(
Jl,
{
asChild: !0,
loop: !0,
trapped: r,
onMountAutoFocus: a,
onUnmountAutoFocus: o,
children: /* @__PURE__ */ V(
Ql,
{
role: "dialog",
id: s.contentId,
"aria-describedby": s.descriptionId,
"aria-labelledby": s.titleId,
"data-state": Uo(s.open),
...i,
ref: l,
onDismiss: () => s.onOpenChange(!1)
}
)
}
),
/* @__PURE__ */ gt(br, { children: [
/* @__PURE__ */ V(Rm, { titleId: s.titleId }),
/* @__PURE__ */ V(Fm, { contentRef: c, descriptionId: s.descriptionId })
] })
] });
}
), Wo = "DialogTitle", vc = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, ...r } = e, a = $e(Wo, n);
return /* @__PURE__ */ V(Qe.h2, { id: a.titleId, ...r, ref: t });
}
);
vc.displayName = Wo;
var xc = "DialogDescription", wc = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, ...r } = e, a = $e(xc, n);
return /* @__PURE__ */ V(Qe.p, { id: a.descriptionId, ...r, ref: t });
}
);
wc.displayName = xc;
var Ec = "DialogClose", Nm = S.forwardRef(
(e, t) => {
const { __scopeDialog: n, ...r } = e, a = $e(Ec, n);
return /* @__PURE__ */ V(
Qe.button,
{
type: "button",
...r,
ref: t,
onClick: xt(e.onClick, () => a.onOpenChange(!1))
}
);
}
);
Nm.displayName = Ec;
function Uo(e) {
return e ? "open" : "closed";
}
var Sc = "DialogTitleWarning", [P1, Ac] = rd(Sc, {
contentName: It,
titleName: Wo,
docsSlug: "dialog"
}), Rm = ({ titleId: e }) => {
const t = Ac(Sc), n = `\`${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 S.useEffect(() => {
e && (document.getElementById(e) || console.error(n));
}, [n, e]), null;
}, Mm = "DialogDescriptionWarning", Fm = ({ contentRef: e, descriptionId: t }) => {
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Ac(Mm).contentName}}.`;
return S.useEffect(() => {
var o;
const a = (o = e.current) == null ? void 0 : o.getAttribute("aria-describedby");
t && a && (document.getElementById(t) || console.warn(r));
}, [r, e, t]), null;
}, Dm = dc, jm = hc, zm = gc, Lm = yc, qi = vc, $m = wc;
const Vo = "-", Wm = (e) => {
const t = Vm(e), {
conflictingClassGroups: n,
conflictingClassGroupModifiers: r
} = e;
return {
getClassGroupId: (i) => {
const s = i.split(Vo);
return s[0] === "" && s.length !== 1 && s.shift(), Pc(s, t) || Um(i);
},
getConflictingClassGroupIds: (i, s) => {
const c = n[i] || [];
return s && r[i] ? [...c, ...r[i]] : c;
}
};
}, Pc = (e, t) => {
var i;
if (e.length === 0)
return t.classGroupId;
const n = e[0], r = t.nextPart.get(n), a = r ? Pc(e.slice(1), r) : void 0;
if (a)
return a;
if (t.validators.length === 0)
return;
const o = e.join(Vo);
return (i = t.validators.find(({
validator: s
}) => s(o))) == null ? void 0 : i.classGroupId;
}, Hi = /^\[(.+)\]$/, Um = (e) => {
if (Hi.test(e)) {
const t = Hi.exec(e)[1], n = t == null ? void 0 : t.substring(0, t.indexOf(":"));
if (n)
return "arbitrary.." + n;
}
}, Vm = (e) => {
const {
theme: t,
prefix: n
} = e, r = {
nextPart: /* @__PURE__ */ new Map(),
validators: []
};
return Gm(Object.entries(e.classGroups), n).forEach(([o, i]) => {
Ga(i, r, o, t);
}), r;
}, Ga = (e, t, n, r) => {
e.forEach((a) => {
if (typeof a == "string") {
const o = a === "" ? t : Xi(t, a);
o.classGroupId = n;
return;
}
if (typeof a == "function") {
if (Ym(a)) {
Ga(a(r), t, n, r);
return;
}
t.validators.push({
validator: a,
classGroupId: n
});
return;
}
Object.entries(a).forEach(([o, i]) => {
Ga(i, Xi(t, o), n, r);
});
});
}, Xi = (e, t) => {
let n = e;
return t.split(Vo).forEach((r) => {
n.nextPart.has(r) || n.nextPart.set(r, {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}), n = n.nextPart.get(r);
}), n;
}, Ym = (e) => e.isThemeGetter, Gm = (e, t) => t ? e.map(([n, r]) => {
const a = r.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
return [n, a];
}) : e, Bm = (e) => {
if (e < 1)
return {
get: () => {
},
set: () => {
}
};
let t = 0, n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
const a = (o, i) => {
n.set(o, i), t++, t > e && (t = 0, r = n, n = /* @__PURE__ */ new Map());
};
return {
get(o) {
let i = n.get(o);
if (i !== void 0)
return i;
if ((i = r.get(o)) !== void 0)
return a(o, i), i;
},
set(o, i) {
n.has(o) ? n.set(o, i) : a(o, i);
}
};
}, kc = "!", qm = (e) => {
const {
separator: t,
experimentalParseClassName: n
} = e, r = t.length === 1, a = t[0], o = t.length, i = (s) => {
const c = [];
let l = 0, u = 0, f;
for (let p = 0; p < s.length; p++) {
let b = s[p];
if (l === 0) {
if (b === a && (r || s.slice(p, p + o) === t)) {
c.push(s.slice(u, p)), u = p + o;
continue;
}
if (b === "/") {
f = p;
continue;
}
}
b === "[" ? l++ : b === "]" && l--;
}
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(kc), v = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
return {
modifiers: c,
hasImportantModifier: y,
baseClassName: v,
maybePostfixModifierPosition: m
};
};
return n ? (s) => n({
className: s,
parseClassName: i
}) : i;
}, Hm = (e) => {
if (e.length <= 1)
return e;
const t = [];
let n = [];
return e.forEach((r) => {
r[0] === "[" ? (t.push(...n.sort(), r), n = []) : n.push(r);
}), t.push(...n.sort()), t;
}, Xm = (e) => ({
cache: Bm(e.cacheSize),
parseClassName: qm(e),
...Wm(e)
}), Km = /\s+/, Qm = (e, t) => {
const {
parseClassName: n,
getClassGroupId: r,
getConflictingClassGroupIds: a
} = t, o = [], i = e.trim().split(Km);
let s = "";
for (let c = i.length - 1; c >= 0; c -= 1) {
const l = i[c], {
modifiers: u,
hasImportantModifier: f,
baseClassName: d,
maybePostfixModifierPosition: y
} = n(l);
let v = !!y, m = r(v ? d.substring(0, y) : d);
if (!m) {
if (!v) {
s = l + (s.length > 0 ? " " + s : s);
continue;
}
if (m = r(d), !m) {
s = l + (s.length > 0 ? " " + s : s);
continue;
}
v = !1;
}
const p = Hm(u).join(":"), b = f ? p + kc : p, A = b + m;
if (o.includes(A))
continue;
o.push(A);
const w = a(m, v);
for (let P = 0; P < w.length; ++P) {
const h = w[P];
o.push(b + h);
}
s = l + (s.length > 0 ? " " + s : s);
}
return s;
};
function Zm() {
let e = 0, t, n, r = "";
for (; e < arguments.length; )
(t = arguments[e++]) && (n = Oc(t)) && (r && (r += " "), r += n);
return r;
}
const Oc = (e) => {
if (typeof e == "string")
return e;
let t, n = "";
for (let r = 0; r < e.length; r++)
e[r] && (t = Oc(e[r])) && (n && (n += " "), n += t);
return n;
};
function Jm(e, ...t) {
let n, r, a, o = i;
function i(c) {
const l = t.reduce((u, f) => f(u), e());
return n = Xm(l), r = n.cache.get, a = n.cache.set, o = s, s(c);
}
function s(c) {
const l = r(c);
if (l)
return l;
const u = Qm(c, n);
return a(c, u), u;
}
return function() {
return o(Zm.apply(null, arguments));
};
}
const ye = (e) => {
const t = (n) => n[e] || [];
return t.isThemeGetter = !0, t;
}, Cc = /^\[(?:([a-z-]+):)?(.+)\]$/i, ep = /^\d+\/\d+$/, tp = /* @__PURE__ */ new Set(["px", "full", "screen"]), np = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, rp = /\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$/, ap = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, op = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ip = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Je = (e) => Xt(e) || tp.has(e) || ep.test(e), lt = (e) => an(e, "length", pp), Xt = (e) => !!e && !Number.isNaN(Number(e)), fa = (e) => an(e, "number", Xt), un = (e) => !!e && Number.isInteger(Number(e)), sp = (e) => e.endsWith("%") && Xt(e.slice(0, -1)), ee = (e) => Cc.test(e), ct = (e) => np.test(e), lp = /* @__PURE__ */ new Set(["length", "size", "percentage"]), cp = (e) => an(e, lp, Tc), up = (e) => an(e, "position", Tc), fp = /* @__PURE__ */ new Set(["image", "url"]), dp = (e) => an(e, fp, gp), mp = (e) => an(e, "", hp), fn = () => !0, an = (e, t, n) => {
const r = Cc.exec(e);
return r ? r[1] ? typeof t == "string" ? r[1] === t : t.has(r[1]) : n(r[2]) : !1;
}, pp = (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.
rp.test(e) && !ap.test(e)
), Tc = () => !1, hp = (e) => op.test(e), gp = (e) => ip.test(e), yp = () => {
const e = ye("colors"), t = ye("spacing"), n = ye("blur"), r = ye("brightness"), a = ye("borderColor"), o = ye("borderRadius"), i = ye("borderSpacing"), s = ye("borderWidth"), c = ye("contrast"), l = ye("grayscale"), u = ye("hueRotate"), f = ye("invert"), d = ye("gap"), y = ye("gradientColorStops"), v = ye("gradientColorStopPositions"), m = ye("inset"), p = ye("margin"), b = ye("opacity"), A = ye("padding"), w = ye("saturate"), P = ye("scale"), h = ye("sepia"), H = ye("skew"), j = ye("space"), K = ye("translate"), J = () => ["auto", "contain", "none"], oe = () => ["auto", "hidden", "clip", "visible", "scroll"], le = () => ["auto", ee, t], U = () => [ee, t], ge = () => ["", Je, lt], $ = () => ["auto", Xt, ee], k = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], L = () => ["solid", "dashed", "dotted", "double", "none"], Q = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], B = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ie = () => ["", "0", ee], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], x = () => [Xt, ee];
return {
cacheSize: 500,
separator: ":",
theme: {
colors: [fn],
spacing: [Je, lt],
blur: ["none", "", ct, ee],
brightness: x(),
borderColor: [e],
borderRadius: ["none", "", "full", ct, ee],
borderSpacing: U(),
borderWidth: ge(),
contrast: x(),
grayscale: ie(),
hueRotate: x(),
invert: ie(),
gap: U(),
gradientColorStops: [e],
gradientColorStopPositions: [sp, lt],
inset: le(),
margin: le(),
opacity: x(),
padding: U(),
saturate: x(),
scale: x(),
sepia: ie(),
skew: x(),
space: U(),
translate: U()
},
classGroups: {
// Layout
/**
* Aspect Ratio
* @see https://tailwindcss.com/docs/aspect-ratio
*/
aspect: [{
aspect: ["auto", "square", "video", ee]
}],
/**
* Container
* @see https://tailwindcss.com/docs/container
*/
container: ["container"],
/**
* Columns
* @see https://tailwindcss.com/docs/columns
*/
columns: [{
columns: [ct]
}],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/
"break-after": [{
"break-after": g()
}],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/
"break-before": [{
"break-before": g()
}],
/**
* 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: [...k(), ee]
}],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/
overflow: [{
overflow: oe()
}],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-x": [{
"overflow-x": oe()
}],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-y": [{
"overflow-y": oe()
}],
/**
* Overscroll Behavior
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
overscroll: [{
overscroll: J()
}],
/**
* Overscroll Behavior X
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-x": [{
"overscroll-x": J()
}],
/**
* Overscroll Behavior Y
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-y": [{
"overscroll-y": J()
}],
/**
* 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", un, ee]
}],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/
basis: [{
basis: le()
}],
/**
* 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", ee]
}],
/**
* Flex Grow
* @see https://tailwindcss.com/docs/flex-grow
*/
grow: [{
grow: ie()
}],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/
shrink: [{
shrink: ie()
}],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/
order: [{
order: ["first", "last", "none", un, ee]
}],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/
"grid-cols": [{
"grid-cols": [fn]
}],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start-end": [{
col: ["auto", {
span: ["full", un, ee]
}, ee]
}],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start": [{
"col-start": $()
}],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-end": [{
"col-end": $()
}],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/
"grid-rows": [{
"grid-rows": [fn]
}],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start-end": [{
row: ["auto", {
span: [un, ee]
}, ee]
}],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start": [{
"row-start": $()
}],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-end": [{
"row-end": $()
}],
/**
* 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", ee]
}],
/**
* Grid Auto Rows
* @see https://tailwindcss.com/docs/grid-auto-rows
*/
"auto-rows": [{
"auto-rows": ["auto", "min", "max", "fr", ee]
}],
/**
* Gap
* @see https://tailwindcss.com/docs/gap
*/
gap: [{
gap: [d]
}],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/
"gap-x": [{
"gap-x": [d]
}],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/
"gap-y": [{
"gap-y": [d]
}],
/**
* Justify Content
* @see https://tailwindcss.com/docs/justify-content
*/
"justify-content": [{
justify: ["normal", ...B()]
}],
/**
* 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", ...B(), "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": [...B(), "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: [A]
}],
/**
* Padding X
* @see https://tailwindcss.com/docs/padding
*/
px: [{
px: [A]
}],
/**
* Padding Y
* @see https://tailwindcss.com/docs/padding
*/
py: [{
py: [A]
}],
/**
* Padding Start
* @see https://tailwindcss.com/docs/padding
*/
ps: [{
ps: [A]
}],
/**
* Padding End
* @see https://tailwindcss.com/docs/padding
*/
pe: [{
pe: [A]
}],
/**
* Padding Top
* @see https://tailwindcss.com/docs/padding
*/
pt: [{
pt: [A]
}],
/**
* Padding Right
* @see https://tailwindcss.com/docs/padding
*/
pr: [{
pr: [A]
}],
/**
* Padding Bottom
* @see https://tailwindcss.com/docs/padding
*/
pb: [{
pb: [A]
}],
/**
* Padding Left
* @see https://tailwindcss.com/docs/padding
*/
pl: [{
pl: [A]
}],
/**
* Margin
* @see https://tailwindcss.com/docs/margin
*/
m: [{
m: [p]
}],
/**
* Margin X
* @see https://tailwindcss.com/docs/margin
*/
mx: [{
mx: [p]
}],
/**
* Margin Y
* @see https://tailwindcss.com/docs/margin
*/
my: [{
my: [p]
}],
/**
* Margin Start
* @see https://tailwindcss.com/docs/margin
*/
ms: [{
ms: [p]
}],
/**
* Margin End
* @see https://tailwindcss.com/docs/margin
*/
me: [{
me: [p]
}],
/**
* Margin Top
* @see https://tailwindcss.com/docs/margin
*/
mt: [{
mt: [p]
}],
/**
* Margin Right
* @see https://tailwindcss.com/docs/margin
*/
mr: [{
mr: [p]
}],
/**
* Margin Bottom
* @see https://tailwindcss.com/docs/margin
*/
mb: [{
mb: [p]
}],
/**
* Margin Left
* @see https://tailwindcss.com/docs/margin
*/
ml: [{
ml: [p]
}],
/**
* Space Between X
* @see https://tailwindcss.com/docs/space
*/
"space-x": [{
"space-x": [j]
}],
/**
* 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": [j]
}],
/**
* 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", ee, t]
}],
/**
* Min-Width
* @see https://tailwindcss.com/docs/min-width
*/
"min-w": [{
"min-w": [ee, t, "min", "max", "fit"]
}],
/**
* Max-Width
* @see https://tailwindcss.com/docs/max-width
*/
"max-w": [{
"max-w": [ee, t, "none", "full", "min", "max", "fit", "prose", {
screen: [ct]
}, ct]
}],
/**
* Height
* @see https://tailwindcss.com/docs/height
*/
h: [{
h: [ee, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Min-Height
* @see https://tailwindcss.com/docs/min-height
*/
"min-h": [{
"min-h": [ee, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Max-Height
* @see https://tailwindcss.com/docs/max-height
*/
"max-h": [{
"max-h": [ee, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Size
* @see https://tailwindcss.com/docs/size
*/
size: [{
size: [ee, t, "auto", "min", "max", "fit"]
}],
// Typography
/**
* Font Size
* @see https://tailwindcss.com/docs/font-size
*/
"font-size": [{
text: ["base", ct, lt]
}],
/**
* 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", fa]
}],
/**
* Font Family
* @see https://tailwindcss.com/docs/font-family
*/
"font-family": [{
font: [fn]
}],
/**
* 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", ee]
}],
/**
* Line Clamp
* @see https://tailwindcss.com/docs/line-clamp
*/
"line-clamp": [{
"line-clamp": ["none", Xt, fa]
}],
/**
* Line Height
* @see https://tailwindcss.com/docs/line-height
*/
leading: [{
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Je, ee]
}],
/**
* List Style Image
* @see https://tailwindcss.com/docs/list-style-image
*/
"list-image": [{
"list-image": ["none", ee]
}],
/**
* List Style Type
* @see https://tailwindcss.com/docs/list-style-type
*/
"list-style-type": [{
list: ["none", "disc", "decimal", ee]
}],
/**
* 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": [b]
}],
/**
* 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": [b]
}],
/**
* 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: [...L(), "wavy"]
}],
/**
* Text Decoration Thickness
* @see https://tailwindcss.com/docs/text-decoration-thickness
*/
"text-decoration-thickness": [{
decoration: ["auto", "from-font", Je, lt]
}],
/**
* Text Underline Offset
* @see https://tailwindcss.com/docs/text-underline-offset
*/
"underline-offset": [{
"underline-offset": ["auto", Je, ee]
}],
/**
* 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: U()
}],
/**
* Vertical Alignment
* @see https://tailwindcss.com/docs/vertical-align
*/
"vertical-align": [{
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ee]
}],
/**
* 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", ee]
}],
// 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": [b]
}],
/**
* 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: [...k(), up]
}],
/**
* 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", cp]
}],
/**
* Background Image
* @see https://tailwindcss.com/docs/background-image
*/
"bg-image": [{
bg: ["none", {
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
}, dp]
}],
/**
* 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: [v]
}],
/**
* Gradient Color Stops Via Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via-pos": [{
via: [v]
}],
/**
* Gradient Color Stops To Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to-pos": [{
to: [v]
}],
/**
* Gradient Color Stops From
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-from": [{
from: [y]
}],
/**
* Gradient Color Stops Via
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via": [{
via: [y]
}],
/**
* Gradient Color Stops To
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to": [{
to: [y]
}],
// Borders
/**
* Border Radius
* @see https://tailwindcss.com/docs/border-radius
*/
rounded: [{
rounded: [o]
}],
/**
* Border Radius Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-s": [{
"rounded-s": [o]
}],
/**
* Border Radius End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-e": [{
"rounded-e": [o]
}],
/**
* Border Radius Top
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-t": [{
"rounded-t": [o]
}],
/**
* Border Radius Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-r": [{
"rounded-r": [o]
}],
/**
* Border Radius Bottom
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-b": [{
"rounded-b": [o]
}],
/**
* Border Radius Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-l": [{
"rounded-l": [o]
}],
/**
* Border Radius Start Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ss": [{
"rounded-ss": [o]
}],
/**
* Border Radius Start End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-se": [{
"rounded-se": [o]
}],
/**
* Border Radius End End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ee": [{
"rounded-ee": [o]
}],
/**
* Border Radius End Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-es": [{
"rounded-es": [o]
}],
/**
* Border Radius Top Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tl": [{
"rounded-tl": [o]
}],
/**
* Border Radius Top Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tr": [{
"rounded-tr": [o]
}],
/**
* Border Radius Bottom Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-br": [{
"rounded-br": [o]
}],
/**
* Border Radius Bottom Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-bl": [{
"rounded-bl": [o]
}],
/**
* 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": [b]
}],
/**
* Border Style
* @see https://tailwindcss.com/docs/border-style
*/
"border-style": [{
border: [...L(), "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": [b]
}],
/**
* Divide Style
* @see https://tailwindcss.com/docs/divide-style
*/
"divide-style": [{
divide: L()
}],
/**
* Border Color
* @see https://tailwindcss.com/docs/border-color
*/
"border-color": [{
border: [a]
}],
/**
* Border Color X
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-x": [{
"border-x": [a]
}],
/**
* Border Color Y
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-y": [{
"border-y": [a]
}],
/**
* Border Color S
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-s": [{
"border-s": [a]
}],
/**
* Border Color E
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-e": [{
"border-e": [a]
}],
/**
* Border Color Top
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-t": [{
"border-t": [a]
}],
/**
* Border Color Right
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-r": [{
"border-r": [a]
}],
/**
* Border Color Bottom
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-b": [{
"border-b": [a]
}],
/**
* Border Color Left
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-l": [{
"border-l": [a]
}],
/**
* Divide Color
* @see https://tailwindcss.com/docs/divide-color
*/
"divide-color": [{
divide: [a]
}],
/**
* Outline Style
* @see https://tailwindcss.com/docs/outline-style
*/
"outline-style": [{
outline: ["", ...L()]
}],
/**
* Outline Offset
* @see https://tailwindcss.com/docs/outline-offset
*/
"outline-offset": [{
"outline-offset": [Je, ee]
}],
/**
* Outline Width
* @see https://tailwindcss.com/docs/outline-width
*/
"outline-w": [{
outline: [Je, lt]
}],
/**
* 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: ge()
}],
/**
* 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": [b]
}],
/**
* Ring Offset Width
* @see https://tailwindcss.com/docs/ring-offset-width
*/
"ring-offset-w": [{
"ring-offset": [Je, lt]
}],
/**
* 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", ct, mp]
}],
/**
* Box Shadow Color
* @see https://tailwindcss.com/docs/box-shadow-color
*/
"shadow-color": [{
shadow: [fn]
}],
/**
* Opacity
* @see https://tailwindcss.com/docs/opacity
*/
opacity: [{
opacity: [b]
}],
/**
* Mix Blend Mode
* @see https://tailwindcss.com/docs/mix-blend-mode
*/
"mix-blend": [{
"mix-blend": [...Q(), "plus-lighter", "plus-darker"]
}],
/**
* Background Blend Mode
* @see https://tailwindcss.com/docs/background-blend-mode
*/
"bg-blend": [{
"bg-blend": Q()
}],
// 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: [n]
}],
/**
* Brightness
* @see https://tailwindcss.com/docs/brightness
*/
brightness: [{
brightness: [r]
}],
/**
* Contrast
* @see https://tailwindcss.com/docs/contrast
*/
contrast: [{
contrast: [c]
}],
/**
* Drop Shadow
* @see https://tailwindcss.com/docs/drop-shadow
*/
"drop-shadow": [{
"drop-shadow": ["", "none", ct, ee]
}],
/**
* Grayscale
* @see https://tailwindcss.com/docs/grayscale
*/
grayscale: [{
grayscale: [l]
}],
/**
* Hue Rotate
* @see https://tailwindcss.com/docs/hue-rotate
*/
"hue-rotate": [{
"hue-rotate": [u]
}],
/**
* Invert
* @see https://tailwindcss.com/docs/invert
*/
invert: [{
invert: [f]
}],
/**
* Saturate
* @see https://tailwindcss.com/docs/saturate
*/
saturate: [{
saturate: [w]
}],
/**
* Sepia
* @see https://tailwindcss.com/docs/sepia
*/
sepia: [{
sepia: [h]
}],
/**
* 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": [n]
}],
/**
* Backdrop Brightness
* @see https://tailwindcss.com/docs/backdrop-brightness
*/
"backdrop-brightness": [{
"backdrop-brightness": [r]
}],
/**
* Backdrop Contrast
* @see https://tailwindcss.com/docs/backdrop-contrast
*/
"backdrop-contrast": [{
"backdrop-contrast": [c]
}],
/**
* Backdrop Grayscale
* @see https://tailwindcss.com/docs/backdrop-grayscale
*/
"backdrop-grayscale": [{
"backdrop-grayscale": [l]
}],
/**
* Backdrop Hue Rotate
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
*/
"backdrop-hue-rotate": [{
"backdrop-hue-rotate": [u]
}],
/**
* Backdrop Invert
* @see https://tailwindcss.com/docs/backdrop-invert
*/
"backdrop-invert": [{
"backdrop-invert": [f]
}],
/**
* Backdrop Opacity
* @see https://tailwindcss.com/docs/backdrop-opacity
*/
"backdrop-opacity": [{
"backdrop-opacity": [b]
}],
/**
* Backdrop Saturate
* @see https://tailwindcss.com/docs/backdrop-saturate
*/
"backdrop-saturate": [{
"backdrop-saturate": [w]
}],
/**
* Backdrop Sepia
* @see https://tailwindcss.com/docs/backdrop-sepia
*/
"backdrop-sepia": [{
"backdrop-sepia": [h]
}],
// 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", ee]
}],
/**
* Transition Duration
* @see https://tailwindcss.com/docs/transition-duration
*/
duration: [{
duration: x()
}],
/**
* Transition Timing Function
* @see https://tailwindcss.com/docs/transition-timing-function
*/
ease: [{
ease: ["linear", "in", "out", "in-out", ee]
}],
/**
* Transition Delay
* @see https://tailwindcss.com/docs/transition-delay
*/
delay: [{
delay: x()
}],
/**
* Animation
* @see https://tailwindcss.com/docs/animation
*/
animate: [{
animate: ["none", "spin", "ping", "pulse", "bounce", ee]
}],
// Transforms
/**
* Transform
* @see https://tailwindcss.com/docs/transform
*/
transform: [{
transform: ["", "gpu", "none"]
}],
/**
* Scale
* @see https://tailwindcss.com/docs/scale
*/
scale: [{
scale: [P]
}],
/**
* Scale X
* @see https://tailwindcss.com/docs/scale
*/
"scale-x": [{
"scale-x": [P]
}],
/**
* Scale Y
* @see https://tailwindcss.com/docs/scale
*/
"scale-y": [{
"scale-y": [P]
}],
/**
* Rotate
* @see https://tailwindcss.com/docs/rotate
*/
rotate: [{
rotate: [un, ee]
}],
/**
* Translate X
* @see https://tailwindcss.com/docs/translate
*/
"translate-x": [{
"translate-x": [K]
}],
/**
* Translate Y
* @see https://tailwindcss.com/docs/translate
*/
"translate-y": [{
"translate-y": [K]
}],
/**
* Skew X
* @see https://tailwindcss.com/docs/skew
*/
"skew-x": [{
"skew-x": [H]
}],
/**
* Skew Y
* @see https://tailwindcss.com/docs/skew
*/
"skew-y": [{
"skew-y": [H]
}],
/**
* 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", ee]
}],
// 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", ee]
}],
/**
* 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": U()
}],
/**
* Scroll Margin X
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mx": [{
"scroll-mx": U()
}],
/**
* Scroll Margin Y
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-my": [{
"scroll-my": U()
}],
/**
* Scroll Margin Start
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ms": [{
"scroll-ms": U()
}],
/**
* Scroll Margin End
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-me": [{
"scroll-me": U()
}],
/**
* Scroll Margin Top
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mt": [{
"scroll-mt": U()
}],
/**
* Scroll Margin Right
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mr": [{
"scroll-mr": U()
}],
/**
* Scroll Margin Bottom
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mb": [{
"scroll-mb": U()
}],
/**
* Scroll Margin Left
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ml": [{
"scroll-ml": U()
}],
/**
* Scroll Padding
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-p": [{
"scroll-p": U()
}],
/**
* Scroll Padding X
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-px": [{
"scroll-px": U()
}],
/**
* Scroll Padding Y
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-py": [{
"scroll-py": U()
}],
/**
* Scroll Padding Start
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-ps": [{
"scroll-ps": U()
}],
/**
* Scroll Padding End
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pe": [{
"scroll-pe": U()
}],
/**
* Scroll Padding Top
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pt": [{
"scroll-pt": U()
}],
/**
* Scroll Padding Right
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pr": [{
"scroll-pr": U()
}],
/**
* Scroll Padding Bottom
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pb": [{
"scroll-pb": U()
}],
/**
* Scroll Padding Left
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pl": [{
"scroll-pl": U()
}],
/**
* 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", ee]
}],
// SVG
/**
* Fill
* @see https://tailwindcss.com/docs/fill
*/
fill: [{
fill: [e, "none"]
}],
/**
* Stroke Width
* @see https://tailwindcss.com/docs/stroke-width
*/
"stroke-w": [{
stroke: [Je, lt, fa]
}],
/**
* 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"]
}
};
}, wn = /* @__PURE__ */ Jm(yp);
/*!
* 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 bp(e, t, n) {
return (t = xp(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function Ki(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(a) {
return Object.getOwnPropertyDescriptor(e, a).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function O(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? Ki(Object(n), !0).forEach(function(r) {
bp(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ki(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function vp(e, t) {
if (typeof e != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
if (typeof r != "object") return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
function xp(e) {
var t = vp(e, "string");
return typeof t == "symbol" ? t : t + "";
}
const Qi = () => {
};
let Yo = {}, _c = {}, Ic = null, Nc = {
mark: Qi,
measure: Qi
};
try {
typeof window < "u" && (Yo = window), typeof document < "u" && (_c = document), typeof MutationObserver < "u" && (Ic = MutationObserver), typeof performance < "u" && (Nc = performance);
} catch {
}
const {
userAgent: Zi = ""
} = Yo.navigator || {}, Et = Yo, ve = _c, Ji = Ic, nr = Nc;
Et.document;
const it = !!ve.documentElement && !!ve.head && typeof ve.addEventListener == "function" && typeof ve.createElement == "function", Rc = ~Zi.indexOf("MSIE") || ~Zi.indexOf("Trident/");
var wp = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Ep = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Mc = {
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"
}
}, Sp = {
GROUP: "duotone-group",
PRIMARY: "primary",
SECONDARY: "secondary"
}, Fc = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Pe = "classic", Fr = "duotone", Ap = "sharp", Pp = "sharp-duotone", Dc = [Pe, Fr, Ap, Pp], kp = {
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"
}
}, Op = {
"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"
}
}, Cp = /* @__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
}]]), Tp = {
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"
}
}, _p = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], es = {
kit: {
fak: "kit",
"fa-kit": "kit"
},
"kit-duotone": {
fakd: "kit-duotone",
"fa-kit-duotone": "kit-duotone"
}
}, Ip = ["kit"], Np = {
kit: {
"fa-kit": "fak"
}
}, Rp = ["fak", "fakd"], Mp = {
kit: {
fak: "fa-kit"
}
}, ts = {
kit: {
kit: "fak"
},
"kit-duotone": {
"kit-duotone": "fakd"
}
}, rr = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
}, Fp = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Dp = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], jp = {
"Font Awesome Kit": {
400: "fak",
normal: "fak"
},
"Font Awesome Kit Duotone": {
400: "fakd",
normal: "fakd"
}
}, zp = {
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"
}
}, Lp = {
classic: ["fas", "far", "fal", "fat", "fad"],
duotone: ["fadr", "fadl", "fadt"],
sharp: ["fass", "fasr", "fasl", "fast"],
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
}, Ba = {
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"
}
}, $p = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], qa = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Fp, ...$p], Wp = ["solid", "regular", "light", "thin", "duotone", "brands"], jc = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Up = jc.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Vp = [...Object.keys(Lp), ...Wp, "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", rr.GROUP, rr.SWAP_OPACITY, rr.PRIMARY, rr.SECONDARY].concat(jc.map((e) => "".concat(e, "x"))).concat(Up.map((e) => "w-".concat(e))), Yp = {
"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 nt = "___FONT_AWESOME___", Ha = 16, zc = "fa", Lc = "svg-inline--fa", Nt = "data-fa-i2svg", Xa = "data-fa-pseudo-element", Gp = "data-fa-pseudo-element-pending", Go = "data-prefix", Bo = "data-icon", ns = "fontawesome-i2svg", Bp = "async", qp = ["HTML", "HEAD", "STYLE", "SCRIPT"], $c = (() => {
try {
return process.env.NODE_ENV === "production";
} catch {
return !1;
}
})();
function Gn(e) {
return new Proxy(e, {
get(t, n) {
return n in t ? t[n] : t[Pe];
}
});
}
const Wc = O({}, Mc);
Wc[Pe] = O(O(O(O({}, {
"fa-duotone": "duotone"
}), Mc[Pe]), es.kit), es["kit-duotone"]);
const Hp = Gn(Wc), Ka = O({}, Tp);
Ka[Pe] = O(O(O(O({}, {
duotone: "fad"
}), Ka[Pe]), ts.kit), ts["kit-duotone"]);
const rs = Gn(Ka), Qa = O({}, Ba);
Qa[Pe] = O(O({}, Qa[Pe]), Mp.kit);
const qo = Gn(Qa), Za = O({}, zp);
Za[Pe] = O(O({}, Za[Pe]), Np.kit);
Gn(Za);
const Xp = wp, Uc = "fa-layers-text", Kp = Ep, Qp = O({}, kp);
Gn(Qp);
const Zp = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], da = Sp, Jp = [...Ip, ...Vp], En = Et.FontAwesomeConfig || {};
function eh(e) {
var t = ve.querySelector("script[" + e + "]");
if (t)
return t.getAttribute(e);
}
function th(e) {
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
}
ve && typeof ve.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 [n, r] = t;
const a = th(eh(n));
a != null && (En[r] = a);
});
const Vc = {
styleDefault: "solid",
familyDefault: Pe,
cssPrefix: zc,
replacementClass: Lc,
autoReplaceSvg: !0,
autoAddCss: !0,
autoA11y: !0,
searchPseudoElements: !1,
observeMutations: !0,
mutateApproach: "async",
keepOriginalSource: !0,
measurePerformance: !1,
showMissingIcons: !0
};
En.familyPrefix && (En.cssPrefix = En.familyPrefix);
const tn = O(O({}, Vc), En);
tn.autoReplaceSvg || (tn.observeMutations = !1);
const Y = {};
Object.keys(Vc).forEach((e) => {
Object.defineProperty(Y, e, {
enumerable: !0,
set: function(t) {
tn[e] = t, Sn.forEach((n) => n(Y));
},
get: function() {
return tn[e];
}
});
});
Object.defineProperty(Y, "familyPrefix", {
enumerable: !0,
set: function(e) {
tn.cssPrefix = e, Sn.forEach((t) => t(Y));
},
get: function() {
return tn.cssPrefix;
}
});
Et.FontAwesomeConfig = Y;
const Sn = [];
function nh(e) {
return Sn.push(e), () => {
Sn.splice(Sn.indexOf(e), 1);
};
}
const ut = Ha, Be = {
size: 16,
x: 0,
y: 0,
rotate: 0,
flipX: !1,
flipY: !1
};
function rh(e) {
if (!e || !it)
return;
const t = ve.createElement("style");
t.setAttribute("type", "text/css"), t.innerHTML = e;
const n = ve.head.childNodes;
let r = null;
for (let a = n.length - 1; a > -1; a--) {
const o = n[a], i = (o.tagName || "").toUpperCase();
["STYLE", "LINK"].indexOf(i) > -1 && (r = o);
}
return ve.head.insertBefore(t, r), e;
}
const ah = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function Nn() {
let e = 12, t = "";
for (; e-- > 0; )
t += ah[Math.random() * 62 | 0];
return t;
}
function on(e) {
const t = [];
for (let n = (e || []).length >>> 0; n--; )
t[n] = e[n];
return t;
}
function Ho(e) {
return e.classList ? on(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
}
function Yc(e) {
return "".concat(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function oh(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, '="').concat(Yc(e[n]), '" '), "").trim();
}
function Dr(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, ": ").concat(e[n].trim(), ";"), "");
}
function Xo(e) {
return e.size !== Be.size || e.x !== Be.x || e.y !== Be.y || e.rotate !== Be.rotate || e.flipX || e.flipY;
}
function ih(e) {
let {
transform: t,
containerWidth: n,
iconWidth: r
} = e;
const a = {
transform: "translate(".concat(n / 2, " 256)")
}, o = "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)"), c = {
transform: "".concat(o, " ").concat(i, " ").concat(s)
}, l = {
transform: "translate(".concat(r / 2 * -1, " -256)")
};
return {
outer: a,
inner: c,
path: l
};
}
function sh(e) {
let {
transform: t,
width: n = Ha,
height: r = Ha,
startCentered: a = !1
} = e, o = "";
return a && Rc ? o += "translate(".concat(t.x / ut - n / 2, "em, ").concat(t.y / ut - r / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / ut, "em), calc(-50% + ").concat(t.y / ut, "em)) ") : o += "translate(".concat(t.x / ut, "em, ").concat(t.y / ut, "em) "), o += "scale(".concat(t.size / ut * (t.flipX ? -1 : 1), ", ").concat(t.size / ut * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
}
var lh = `: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 Gc() {
const e = zc, t = Lc, n = Y.cssPrefix, r = Y.replacementClass;
let a = lh;
if (n !== e || r !== t) {
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
a = a.replace(o, ".".concat(n, "-")).replace(i, "--".concat(n, "-")).replace(s, ".".concat(r));
}
return a;
}
let as = !1;
function ma() {
Y.autoAddCss && !as && (rh(Gc()), as = !0);
}
var ch = {
mixout() {
return {
dom: {
css: Gc,
insertCss: ma
}
};
},
hooks() {
return {
beforeDOMElementCreation() {
ma();
},
beforeI2svg() {
ma();
}
};
}
};
const rt = Et || {};
rt[nt] || (rt[nt] = {});
rt[nt].styles || (rt[nt].styles = {});
rt[nt].hooks || (rt[nt].hooks = {});
rt[nt].shims || (rt[nt].shims = []);
var qe = rt[nt];
const Bc = [], qc = function() {
ve.removeEventListener("DOMContentLoaded", qc), xr = 1, Bc.map((e) => e());
};
let xr = !1;
it && (xr = (ve.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ve.readyState), xr || ve.addEventListener("DOMContentLoaded", qc));
function uh(e) {
it && (xr ? setTimeout(e, 0) : Bc.push(e));
}
function Bn(e) {
const {
tag: t,
attributes: n = {},
children: r = []
} = e;
return typeof e == "string" ? Yc(e) : "<".concat(t, " ").concat(oh(n), ">").concat(r.map(Bn).join(""), "</").concat(t, ">");
}
function os(e, t, n) {
if (e && e[t] && e[t][n])
return {
prefix: t,
iconName: n,
icon: e[t][n]
};
}
var pa = function(t, n, r, a) {
var o = Object.keys(t), i = o.length, s = n, c, l, u;
for (r === void 0 ? (c = 1, u = t[o[0]]) : (c = 0, u = r); c < i; c++)
l = o[c], u = s(u, t[l], l, t);
return u;
};
function fh(e) {
const t = [];
let n = 0;
const r = e.length;
for (; n < r; ) {
const a = e.charCodeAt(n++);
if (a >= 55296 && a <= 56319 && n < r) {
const o = e.charCodeAt(n++);
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), n--);
} else
t.push(a);
}
return t;
}
function Ja(e) {
const t = fh(e);
return t.length === 1 ? t[0].toString(16) : null;
}
function dh(e, t) {
const n = e.length;
let r = e.charCodeAt(t), a;
return r >= 55296 && r <= 56319 && n > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (r - 55296) * 1024 + a - 56320 + 65536 : r;
}
function is(e) {
return Object.keys(e).reduce((t, n) => {
const r = e[n];
return !!r.icon ? t[r.iconName] = r.icon : t[n] = r, t;
}, {});
}
function eo(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
const {
skipHooks: r = !1
} = n, a = is(t);
typeof qe.hooks.addPack == "function" && !r ? qe.hooks.addPack(e, is(t)) : qe.styles[e] = O(O({}, qe.styles[e] || {}), a), e === "fas" && eo("fa", t);
}
const {
styles: Rn,
shims: mh
} = qe, Hc = Object.keys(qo), ph = Hc.reduce((e, t) => (e[t] = Object.keys(qo[t]), e), {});
let Ko = null, Xc = {}, Kc = {}, Qc = {}, Zc = {}, Jc = {};
function hh(e) {
return ~Jp.indexOf(e);
}
function gh(e, t) {
const n = t.split("-"), r = n[0], a = n.slice(1).join("-");
return r === e && a !== "" && !hh(a) ? a : null;
}
const eu = () => {
const e = (r) => pa(Rn, (a, o, i) => (a[i] = pa(o, r, {}), a), {});
Xc = e((r, a, o) => (a[3] && (r[a[3]] = o), a[2] && a[2].filter((s) => typeof s == "number").forEach((s) => {
r[s.toString(16)] = o;
}), r)), Kc = e((r, a, o) => (r[o] = o, a[2] && a[2].filter((s) => typeof s == "string").forEach((s) => {
r[s] = o;
}), r)), Jc = e((r, a, o) => {
const i = a[2];
return r[o] = o, i.forEach((s) => {
r[s] = o;
}), r;
});
const t = "far" in Rn || Y.autoFetchSvg, n = pa(mh, (r, a) => {
const o = a[0];
let i = a[1];
const s = a[2];
return i === "far" && !t && (i = "fas"), typeof o == "string" && (r.names[o] = {
prefix: i,
iconName: s
}), typeof o == "number" && (r.unicodes[o.toString(16)] = {
prefix: i,
iconName: s
}), r;
}, {
names: {},
unicodes: {}
});
Qc = n.names, Zc = n.unicodes, Ko = jr(Y.styleDefault, {
family: Y.familyDefault
});
};
nh((e) => {
Ko = jr(e.styleDefault, {
family: Y.familyDefault
});
});
eu();
function Qo(e, t) {
return (Xc[e] || {})[t];
}
function yh(e, t) {
return (Kc[e] || {})[t];
}
function Tt(e, t) {
return (Jc[e] || {})[t];
}
function tu(e) {
return Qc[e] || {
prefix: null,
iconName: null
};
}
function bh(e) {
const t = Zc[e], n = Qo("fas", e);
return t || (n ? {
prefix: "fas",
iconName: n
} : null) || {
prefix: null,
iconName: null
};
}
function St() {
return Ko;
}
const nu = () => ({
prefix: null,
iconName: null,
rest: []
});
function vh(e) {
let t = Pe;
const n = Hc.reduce((r, a) => (r[a] = "".concat(Y.cssPrefix, "-").concat(a), r), {});
return Dc.forEach((r) => {
(e.includes(n[r]) || e.some((a) => ph[r].includes(a))) && (t = r);
}), t;
}
function jr(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
family: n = Pe
} = t, r = Hp[n][e];
if (n === Fr && !e)
return "fad";
const a = rs[n][e] || rs[n][r], o = e in qe.styles ? e : null;
return a || o || null;
}
function xh(e) {
let t = [], n = null;
return e.forEach((r) => {
const a = gh(Y.cssPrefix, r);
a ? n = a : r && t.push(r);
}), {
iconName: n,
rest: t
};
}
function ss(e) {
return e.sort().filter((t, n, r) => r.indexOf(t) === n);
}
function zr(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
skipLookups: n = !1
} = t;
let r = null;
const a = qa.concat(Dp), o = ss(e.filter((f) => a.includes(f))), i = ss(e.filter((f) => !qa.includes(f))), s = o.filter((f) => (r = f, !Fc.includes(f))), [c = null] = s, l = vh(o), u = O(O({}, xh(i)), {}, {
prefix: jr(c, {
family: l
})
});
return O(O(O({}, u), Ah({
values: e,
family: l,
styles: Rn,
config: Y,
canonical: u,
givenPrefix: r
})), wh(n, r, u));
}
function wh(e, t, n) {
let {
prefix: r,
iconName: a
} = n;
if (e || !r || !a)
return {
prefix: r,
iconName: a
};
const o = t === "fa" ? tu(a) : {}, i = Tt(r, a);
return a = o.iconName || i || a, r = o.prefix || r, r === "far" && !Rn.far && Rn.fas && !Y.autoFetchSvg && (r = "fas"), {
prefix: r,
iconName: a
};
}
const Eh = Dc.filter((e) => e !== Pe || e !== Fr), Sh = Object.keys(Ba).filter((e) => e !== Pe).map((e) => Object.keys(Ba[e])).flat();
function Ah(e) {
const {
values: t,
family: n,
canonical: r,
givenPrefix: a = "",
styles: o = {},
config: i = {}
} = e, s = n === Fr, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = r.prefix === "fad" || r.prefix === "fa-duotone";
if (!s && (c || l || u) && (r.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (r.prefix = "fab"), !r.prefix && Eh.includes(n) && (Object.keys(o).find((d) => Sh.includes(d)) || i.autoFetchSvg)) {
const d = Cp.get(n).defaultShortPrefixId;
r.prefix = d, r.iconName = Tt(r.prefix, r.iconName) || r.iconName;
}
return (r.prefix === "fa" || a === "fa") && (r.prefix = St() || "fas"), r;
}
class Ph {
constructor() {
this.definitions = {};
}
add() {
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
const a = n.reduce(this._pullDefinitions, {});
Object.keys(a).forEach((o) => {
this.definitions[o] = O(O({}, this.definitions[o] || {}), a[o]), eo(o, a[o]);
const i = qo[Pe][o];
i && eo(i, a[o]), eu();
});
}
reset() {
this.definitions = {};
}
_pullDefinitions(t, n) {
const r = n.prefix && n.iconName && n.icon ? {
0: n
} : n;
return Object.keys(r).map((a) => {
const {
prefix: o,
iconName: i,
icon: s
} = r[a], c = s[2];
t[o] || (t[o] = {}), c.length > 0 && c.forEach((l) => {
typeof l == "string" && (t[o][l] = s);
}), t[o][i] = s;
}), t;
}
}
let ls = [], Vt = {};
const Kt = {}, kh = Object.keys(Kt);
function Oh(e, t) {
let {
mixoutsTo: n
} = t;
return ls = e, Vt = {}, Object.keys(Kt).forEach((r) => {
kh.indexOf(r) === -1 && delete Kt[r];
}), ls.forEach((r) => {
const a = r.mixout ? r.mixout() : {};
if (Object.keys(a).forEach((o) => {
typeof a[o] == "function" && (n[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
n[o] || (n[o] = {}), n[o][i] = a[o][i];
});
}), r.hooks) {
const o = r.hooks();
Object.keys(o).forEach((i) => {
Vt[i] || (Vt[i] = []), Vt[i].push(o[i]);
});
}
r.provides && r.provides(Kt);
}), n;
}
function to(e, t) {
for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), a = 2; a < n; a++)
r[a - 2] = arguments[a];
return (Vt[e] || []).forEach((i) => {
t = i.apply(null, [t, ...r]);
}), t;
}
function Rt(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
n[r - 1] = arguments[r];
(Vt[e] || []).forEach((o) => {
o.apply(null, n);
});
}
function At() {
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
return Kt[e] ? Kt[e].apply(null, t) : void 0;
}
function no(e) {
e.prefix === "fa" && (e.prefix = "fas");
let {
iconName: t
} = e;
const n = e.prefix || St();
if (t)
return t = Tt(n, t) || t, os(ru.definitions, n, t) || os(qe.styles, n, t);
}
const ru = new Ph(), Ch = () => {
Y.autoReplaceSvg = !1, Y.observeMutations = !1, Rt("noAuto");
}, Th = {
i2svg: function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return it ? (Rt("beforeI2svg", e), At("pseudoElements2svg", e), At("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;
Y.autoReplaceSvg === !1 && (Y.autoReplaceSvg = !0), Y.observeMutations = !0, uh(() => {
Ih({
autoReplaceSvgRoot: t
}), Rt("watch", e);
});
}
}, _h = {
icon: (e) => {
if (e === null)
return null;
if (typeof e == "object" && e.prefix && e.iconName)
return {
prefix: e.prefix,
iconName: Tt(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], n = jr(e[0]);
return {
prefix: n,
iconName: Tt(n, t) || t
};
}
if (typeof e == "string" && (e.indexOf("".concat(Y.cssPrefix, "-")) > -1 || e.match(Xp))) {
const t = zr(e.split(" "), {
skipLookups: !0
});
return {
prefix: t.prefix || St(),
iconName: Tt(t.prefix, t.iconName) || t.iconName
};
}
if (typeof e == "string") {
const t = St();
return {
prefix: t,
iconName: Tt(t, e) || e
};
}
}
}, Re = {
noAuto: Ch,
config: Y,
dom: Th,
parse: _h,
library: ru,
findIconDefinition: no,
toHtml: Bn
}, Ih = function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const {
autoReplaceSvgRoot: t = ve
} = e;
(Object.keys(qe.styles).length > 0 || Y.autoFetchSvg) && it && Y.autoReplaceSvg && Re.dom.i2svg({
node: t
});
};
function Lr(e, t) {
return Object.defineProperty(e, "abstract", {
get: t
}), Object.defineProperty(e, "html", {
get: function() {
return e.abstract.map((n) => Bn(n));
}
}), Object.defineProperty(e, "node", {
get: function() {
if (!it) return;
const n = ve.createElement("div");
return n.innerHTML = e.html, n.children;
}
}), e;
}
function Nh(e) {
let {
children: t,
main: n,
mask: r,
attributes: a,
styles: o,
transform: i
} = e;
if (Xo(i) && n.found && !r.found) {
const {
width: s,
height: c
} = n, l = {
x: s / c / 2,
y: 0.5
};
a.style = Dr(O(O({}, o), {}, {
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
}));
}
return [{
tag: "svg",
attributes: a,
children: t
}];
}
function Rh(e) {
let {
prefix: t,
iconName: n,
children: r,
attributes: a,
symbol: o
} = e;
const i = o === !0 ? "".concat(t, "-").concat(Y.cssPrefix, "-").concat(n) : o;
return [{
tag: "svg",
attributes: {
style: "display: none;"
},
children: [{
tag: "symbol",
attributes: O(O({}, a), {}, {
id: i
}),
children: r
}]
}];
}
function Zo(e) {
const {
icons: {
main: t,
mask: n
},
prefix: r,
iconName: a,
transform: o,
symbol: i,
title: s,
maskId: c,
titleId: l,
extra: u,
watchable: f = !1
} = e, {
width: d,
height: y
} = n.found ? n : t, v = Rp.includes(r), m = [Y.replacementClass, a ? "".concat(Y.cssPrefix, "-").concat(a) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" ");
let p = {
children: [],
attributes: O(O({}, u.attributes), {}, {
"data-prefix": r,
"data-icon": a,
class: m,
role: u.attributes.role || "img",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 ".concat(d, " ").concat(y)
})
};
const b = v && !~u.classes.indexOf("fa-fw") ? {
width: "".concat(d / y * 16 * 0.0625, "em")
} : {};
f && (p.attributes[Nt] = ""), s && (p.children.push({
tag: "title",
attributes: {
id: p.attributes["aria-labelledby"] || "title-".concat(l || Nn())
},
children: [s]
}), delete p.attributes.title);
const A = O(O({}, p), {}, {
prefix: r,
iconName: a,
main: t,
mask: n,
maskId: c,
transform: o,
symbol: i,
styles: O(O({}, b), u.styles)
}), {
children: w,
attributes: P
} = n.found && t.found ? At("generateAbstractMask", A) || {
children: [],
attributes: {}
} : At("generateAbstractIcon", A) || {
children: [],
attributes: {}
};
return A.children = w, A.attributes = P, i ? Rh(A) : Nh(A);
}
function cs(e) {
const {
content: t,
width: n,
height: r,
transform: a,
title: o,
extra: i,
watchable: s = !1
} = e, c = O(O(O({}, i.attributes), o ? {
title: o
} : {}), {}, {
class: i.classes.join(" ")
});
s && (c[Nt] = "");
const l = O({}, i.styles);
Xo(a) && (l.transform = sh({
transform: a,
startCentered: !0,
width: n,
height: r
}), l["-webkit-transform"] = l.transform);
const u = Dr(l);
u.length > 0 && (c.style = u);
const f = [];
return f.push({
tag: "span",
attributes: c,
children: [t]
}), o && f.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [o]
}), f;
}
function Mh(e) {
const {
content: t,
title: n,
extra: r
} = e, a = O(O(O({}, r.attributes), n ? {
title: n
} : {}), {}, {
class: r.classes.join(" ")
}), o = Dr(r.styles);
o.length > 0 && (a.style = o);
const i = [];
return i.push({
tag: "span",
attributes: a,
children: [t]
}), n && i.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [n]
}), i;
}
const {
styles: ha
} = qe;
function ro(e) {
const t = e[0], n = e[1], [r] = e.slice(4);
let a = null;
return Array.isArray(r) ? a = {
tag: "g",
attributes: {
class: "".concat(Y.cssPrefix, "-").concat(da.GROUP)
},
children: [{
tag: "path",
attributes: {
class: "".concat(Y.cssPrefix, "-").concat(da.SECONDARY),
fill: "currentColor",
d: r[0]
}
}, {
tag: "path",
attributes: {
class: "".concat(Y.cssPrefix, "-").concat(da.PRIMARY),
fill: "currentColor",
d: r[1]
}
}]
} : a = {
tag: "path",
attributes: {
fill: "currentColor",
d: r
}
}, {
found: !0,
width: t,
height: n,
icon: a
};
}
const Fh = {
found: !1,
width: 512,
height: 512
};
function Dh(e, t) {
!$c && !Y.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
}
function ao(e, t) {
let n = t;
return t === "fa" && Y.styleDefault !== null && (t = St()), new Promise((r, a) => {
if (n === "fa") {
const o = tu(e) || {};
e = o.iconName || e, t = o.prefix || t;
}
if (e && t && ha[t] && ha[t][e]) {
const o = ha[t][e];
return r(ro(o));
}
Dh(e, t), r(O(O({}, Fh), {}, {
icon: Y.showMissingIcons && e ? At("missingIconAbstract") || {} : {}
}));
});
}
const us = () => {
}, oo = Y.measurePerformance && nr && nr.mark && nr.measure ? nr : {
mark: us,
measure: us
}, bn = 'FA "6.7.2"', jh = (e) => (oo.mark("".concat(bn, " ").concat(e, " begins")), () => au(e)), au = (e) => {
oo.mark("".concat(bn, " ").concat(e, " ends")), oo.measure("".concat(bn, " ").concat(e), "".concat(bn, " ").concat(e, " begins"), "".concat(bn, " ").concat(e, " ends"));
};
var Jo = {
begin: jh,
end: au
};
const dr = () => {
};
function fs(e) {
return typeof (e.getAttribute ? e.getAttribute(Nt) : null) == "string";
}
function zh(e) {
const t = e.getAttribute ? e.getAttribute(Go) : null, n = e.getAttribute ? e.getAttribute(Bo) : null;
return t && n;
}
function Lh(e) {
return e && e.classList && e.classList.contains && e.classList.contains(Y.replacementClass);
}
function $h() {
return Y.autoReplaceSvg === !0 ? mr.replace : mr[Y.autoReplaceSvg] || mr.replace;
}
function Wh(e) {
return ve.createElementNS("http://www.w3.org/2000/svg", e);
}
function Uh(e) {
return ve.createElement(e);
}
function ou(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
ceFn: n = e.tag === "svg" ? Wh : Uh
} = t;
if (typeof e == "string")
return ve.createTextNode(e);
const r = n(e.tag);
return Object.keys(e.attributes || []).forEach(function(o) {
r.setAttribute(o, e.attributes[o]);
}), (e.children || []).forEach(function(o) {
r.appendChild(ou(o, {
ceFn: n
}));
}), r;
}
function Vh(e) {
let t = " ".concat(e.outerHTML, " ");
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
}
const mr = {
replace: function(e) {
const t = e[0];
if (t.parentNode)
if (e[1].forEach((n) => {
t.parentNode.insertBefore(ou(n), t);
}), t.getAttribute(Nt) === null && Y.keepOriginalSource) {
let n = ve.createComment(Vh(t));
t.parentNode.replaceChild(n, t);
} else
t.remove();
},
nest: function(e) {
const t = e[0], n = e[1];
if (~Ho(t).indexOf(Y.replacementClass))
return mr.replace(e);
const r = new RegExp("".concat(Y.cssPrefix, "-.*"));
if (delete n[0].attributes.id, n[0].attributes.class) {
const o = n[0].attributes.class.split(" ").reduce((i, s) => (s === Y.replacementClass || s.match(r) ? i.toSvg.push(s) : i.toNode.push(s), i), {
toNode: [],
toSvg: []
});
n[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
}
const a = n.map((o) => Bn(o)).join(`
`);
t.setAttribute(Nt, ""), t.innerHTML = a;
}
};
function ds(e) {
e();
}
function iu(e, t) {
const n = typeof t == "function" ? t : dr;
if (e.length === 0)
n();
else {
let r = ds;
Y.mutateApproach === Bp && (r = Et.requestAnimationFrame || ds), r(() => {
const a = $h(), o = Jo.begin("mutate");
e.map(a), o(), n();
});
}
}
let ei = !1;
function su() {
ei = !0;
}
function io() {
ei = !1;
}
let wr = null;
function ms(e) {
if (!Ji || !Y.observeMutations)
return;
const {
treeCallback: t = dr,
nodeCallback: n = dr,
pseudoElementsCallback: r = dr,
observeMutationsRoot: a = ve
} = e;
wr = new Ji((o) => {
if (ei) return;
const i = St();
on(o).forEach((s) => {
if (s.type === "childList" && s.addedNodes.length > 0 && !fs(s.addedNodes[0]) && (Y.searchPseudoElements && r(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Y.searchPseudoElements && r(s.target.parentNode), s.type === "attributes" && fs(s.target) && ~Zp.indexOf(s.attributeName))
if (s.attributeName === "class" && zh(s.target)) {
const {
prefix: c,
iconName: l
} = zr(Ho(s.target));
s.target.setAttribute(Go, c || i), l && s.target.setAttribute(Bo, l);
} else Lh(s.target) && n(s.target);
});
}), it && wr.observe(a, {
childList: !0,
attributes: !0,
characterData: !0,
subtree: !0
});
}
function Yh() {
wr && wr.disconnect();
}
function Gh(e) {
const t = e.getAttribute("style");
let n = [];
return t && (n = t.split(";").reduce((r, a) => {
const o = a.split(":"), i = o[0], s = o.slice(1);
return i && s.length > 0 && (r[i] = s.join(":").trim()), r;
}, {})), n;
}
function Bh(e) {
const t = e.getAttribute("data-prefix"), n = e.getAttribute("data-icon"), r = e.innerText !== void 0 ? e.innerText.trim() : "";
let a = zr(Ho(e));
return a.prefix || (a.prefix = St()), t && n && (a.prefix = t, a.iconName = n), a.iconName && a.prefix || (a.prefix && r.length > 0 && (a.iconName = yh(a.prefix, e.innerText) || Qo(a.prefix, Ja(e.innerText))), !a.iconName && Y.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
}
function qh(e) {
const t = on(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), n = e.getAttribute("title"), r = e.getAttribute("data-fa-title-id");
return Y.autoA11y && (n ? t["aria-labelledby"] = "".concat(Y.replacementClass, "-title-").concat(r || Nn()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
}
function Hh() {
return {
iconName: null,
title: null,
titleId: null,
prefix: null,
transform: Be,
symbol: !1,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
extra: {
classes: [],
styles: {},
attributes: {}
}
};
}
function ps(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
styleParser: !0
};
const {
iconName: n,
prefix: r,
rest: a
} = Bh(e), o = qh(e), i = to("parseNodeAttributes", {}, e);
let s = t.styleParser ? Gh(e) : [];
return O({
iconName: n,
title: e.getAttribute("title"),
titleId: e.getAttribute("data-fa-title-id"),
prefix: r,
transform: Be,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
symbol: !1,
extra: {
classes: a,
styles: s,
attributes: o
}
}, i);
}
const {
styles: Xh
} = qe;
function lu(e) {
const t = Y.autoReplaceSvg === "nest" ? ps(e, {
styleParser: !1
}) : ps(e);
return ~t.extra.classes.indexOf(Uc) ? At("generateLayersText", e, t) : At("generateSvgReplacementMutation", e, t);
}
function Kh() {
return [..._p, ...qa];
}
function hs(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
if (!it) return Promise.resolve();
const n = ve.documentElement.classList, r = (u) => n.add("".concat(ns, "-").concat(u)), a = (u) => n.remove("".concat(ns, "-").concat(u)), o = Y.autoFetchSvg ? Kh() : Fc.concat(Object.keys(Xh));
o.includes("fa") || o.push("fa");
const i = [".".concat(Uc, ":not([").concat(Nt, "])")].concat(o.map((u) => ".".concat(u, ":not([").concat(Nt, "])"))).join(", ");
if (i.length === 0)
return Promise.resolve();
let s = [];
try {
s = on(e.querySelectorAll(i));
} catch {
}
if (s.length > 0)
r("pending"), a("complete");
else
return Promise.resolve();
const c = Jo.begin("onTree"), l = s.reduce((u, f) => {
try {
const d = lu(f);
d && u.push(d);
} catch (d) {
$c || d.name === "MissingIcon" && console.error(d);
}
return u;
}, []);
return new Promise((u, f) => {
Promise.all(l).then((d) => {
iu(d, () => {
r("active"), r("complete"), a("pending"), typeof t == "function" && t(), c(), u();
});
}).catch((d) => {
c(), f(d);
});
});
}
function Qh(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
lu(e).then((n) => {
n && iu([n], t);
});
}
function Zh(e) {
return function(t) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const r = (t || {}).icon ? t : no(t || {});
let {
mask: a
} = n;
return a && (a = (a || {}).icon ? a : no(a || {})), e(r, O(O({}, n), {}, {
mask: a
}));
};
}
const Jh = function(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = Be,
symbol: r = !1,
mask: a = null,
maskId: o = null,
title: i = null,
titleId: s = null,
classes: c = [],
attributes: l = {},
styles: u = {}
} = t;
if (!e) return;
const {
prefix: f,
iconName: d,
icon: y
} = e;
return Lr(O({
type: "icon"
}, e), () => (Rt("beforeDOMElementCreation", {
iconDefinition: e,
params: t
}), Y.autoA11y && (i ? l["aria-labelledby"] = "".concat(Y.replacementClass, "-title-").concat(s || Nn()) : (l["aria-hidden"] = "true", l.focusable = "false")), Zo({
icons: {
main: ro(y),
mask: a ? ro(a.icon) : {
found: !1,
width: null,
height: null,
icon: {}
}
},
prefix: f,
iconName: d,
transform: O(O({}, Be), n),
symbol: r,
title: i,
maskId: o,
titleId: s,
extra: {
attributes: l,
styles: u,
classes: c
}
})));
};
var eg = {
mixout() {
return {
icon: Zh(Jh)
};
},
hooks() {
return {
mutationObserverCallbacks(e) {
return e.treeCallback = hs, e.nodeCallback = Qh, e;
}
};
},
provides(e) {
e.i2svg = function(t) {
const {
node: n = ve,
callback: r = () => {
}
} = t;
return hs(n, r);
}, e.generateSvgReplacementMutation = function(t, n) {
const {
iconName: r,
title: a,
titleId: o,
prefix: i,
transform: s,
symbol: c,
mask: l,
maskId: u,
extra: f
} = n;
return new Promise((d, y) => {
Promise.all([ao(r, i), l.iconName ? ao(l.iconName, l.prefix) : Promise.resolve({
found: !1,
width: 512,
height: 512,
icon: {}
})]).then((v) => {
let [m, p] = v;
d([t, Zo({
icons: {
main: m,
mask: p
},
prefix: i,
iconName: r,
transform: s,
symbol: c,
maskId: u,
title: a,
titleId: o,
extra: f,
watchable: !0
})]);
}).catch(y);
});
}, e.generateAbstractIcon = function(t) {
let {
children: n,
attributes: r,
main: a,
transform: o,
styles: i
} = t;
const s = Dr(i);
s.length > 0 && (r.style = s);
let c;
return Xo(o) && (c = At("generateAbstractTransformGrouping", {
main: a,
transform: o,
containerWidth: a.width,
iconWidth: a.width
})), n.push(c || a.icon), {
children: n,
attributes: r
};
};
}
}, tg = {
mixout() {
return {
layer(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
classes: n = []
} = t;
return Lr({
type: "layer"
}, () => {
Rt("beforeDOMElementCreation", {
assembler: e,
params: t
});
let r = [];
return e((a) => {
Array.isArray(a) ? a.map((o) => {
r = r.concat(o.abstract);
}) : r = r.concat(a.abstract);
}), [{
tag: "span",
attributes: {
class: ["".concat(Y.cssPrefix, "-layers"), ...n].join(" ")
},
children: r
}];
});
}
};
}
}, ng = {
mixout() {
return {
counter(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
title: n = null,
classes: r = [],
attributes: a = {},
styles: o = {}
} = t;
return Lr({
type: "counter",
content: e
}, () => (Rt("beforeDOMElementCreation", {
content: e,
params: t
}), Mh({
content: e.toString(),
title: n,
extra: {
attributes: a,
styles: o,
classes: ["".concat(Y.cssPrefix, "-layers-counter"), ...r]
}
})));
}
};
}
}, rg = {
mixout() {
return {
text(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = Be,
title: r = null,
classes: a = [],
attributes: o = {},
styles: i = {}
} = t;
return Lr({
type: "text",
content: e
}, () => (Rt("beforeDOMElementCreation", {
content: e,
params: t
}), cs({
content: e,
transform: O(O({}, Be), n),
title: r,
extra: {
attributes: o,
styles: i,
classes: ["".concat(Y.cssPrefix, "-layers-text"), ...a]
}
})));
}
};
},
provides(e) {
e.generateLayersText = function(t, n) {
const {
title: r,
transform: a,
extra: o
} = n;
let i = null, s = null;
if (Rc) {
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
i = l.width / c, s = l.height / c;
}
return Y.autoA11y && !r && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, cs({
content: t.innerHTML,
width: i,
height: s,
transform: a,
title: r,
extra: o,
watchable: !0
})]);
};
}
};
const ag = new RegExp('"', "ug"), gs = [1105920, 1112319], ys = O(O(O(O({}, {
FontAwesome: {
normal: "fas",
400: "fas"
}
}), Op), Yp), jp), so = Object.keys(ys).reduce((e, t) => (e[t.toLowerCase()] = ys[t], e), {}), og = Object.keys(so).reduce((e, t) => {
const n = so[t];
return e[t] = n[900] || [...Object.entries(n)][0][1], e;
}, {});
function ig(e) {
const t = e.replace(ag, ""), n = dh(t, 0), r = n >= gs[0] && n <= gs[1], a = t.length === 2 ? t[0] === t[1] : !1;
return {
value: Ja(a ? t[0] : t),
isSecondary: r || a
};
}
function sg(e, t) {
const n = e.replace(/^['"]|['"]$/g, "").toLowerCase(), r = parseInt(t), a = isNaN(r) ? "normal" : r;
return (so[n] || {})[a] || og[n];
}
function bs(e, t) {
const n = "".concat(Gp).concat(t.replace(":", "-"));
return new Promise((r, a) => {
if (e.getAttribute(n) !== null)
return r();
const i = on(e.children).filter((d) => d.getAttribute(Xa) === t)[0], s = Et.getComputedStyle(e, t), c = s.getPropertyValue("font-family"), l = c.match(Kp), u = s.getPropertyValue("font-weight"), f = s.getPropertyValue("content");
if (i && !l)
return e.removeChild(i), r();
if (l && f !== "none" && f !== "") {
const d = s.getPropertyValue("content");
let y = sg(c, u);
const {
value: v,
isSecondary: m
} = ig(d), p = l[0].startsWith("FontAwesome");
let b = Qo(y, v), A = b;
if (p) {
const w = bh(v);
w.iconName && w.prefix && (b = w.iconName, y = w.prefix);
}
if (b && !m && (!i || i.getAttribute(Go) !== y || i.getAttribute(Bo) !== A)) {
e.setAttribute(n, A), i && e.removeChild(i);
const w = Hh(), {
extra: P
} = w;
P.attributes[Xa] = t, ao(b, y).then((h) => {
const H = Zo(O(O({}, w), {}, {
icons: {
main: h,
mask: nu()
},
prefix: y,
iconName: A,
extra: P,
watchable: !0
})), j = ve.createElementNS("http://www.w3.org/2000/svg", "svg");
t === "::before" ? e.insertBefore(j, e.firstChild) : e.appendChild(j), j.outerHTML = H.map((K) => Bn(K)).join(`
`), e.removeAttribute(n), r();
}).catch(a);
} else
r();
} else
r();
});
}
function lg(e) {
return Promise.all([bs(e, "::before"), bs(e, "::after")]);
}
function cg(e) {
return e.parentNode !== document.head && !~qp.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Xa) && (!e.parentNode || e.parentNode.tagName !== "svg");
}
function vs(e) {
if (it)
return new Promise((t, n) => {
const r = on(e.querySelectorAll("*")).filter(cg).map(lg), a = Jo.begin("searchPseudoElements");
su(), Promise.all(r).then(() => {
a(), io(), t();
}).catch(() => {
a(), io(), n();
});
});
}
var ug = {
hooks() {
return {
mutationObserverCallbacks(e) {
return e.pseudoElementsCallback = vs, e;
}
};
},
provides(e) {
e.pseudoElements2svg = function(t) {
const {
node: n = ve
} = t;
Y.searchPseudoElements && vs(n);
};
}
};
let xs = !1;
var fg = {
mixout() {
return {
dom: {
unwatch() {
su(), xs = !0;
}
}
};
},
hooks() {
return {
bootstrap() {
ms(to("mutationObserverCallbacks", {}));
},
noAuto() {
Yh();
},
watch(e) {
const {
observeMutationsRoot: t
} = e;
xs ? io() : ms(to("mutationObserverCallbacks", {
observeMutationsRoot: t
}));
}
};
}
};
const ws = (e) => {
let t = {
size: 16,
x: 0,
y: 0,
flipX: !1,
flipY: !1,
rotate: 0
};
return e.toLowerCase().split(" ").reduce((n, r) => {
const a = r.toLowerCase().split("-"), o = a[0];
let i = a.slice(1).join("-");
if (o && i === "h")
return n.flipX = !0, n;
if (o && i === "v")
return n.flipY = !0, n;
if (i = parseFloat(i), isNaN(i))
return n;
switch (o) {
case "grow":
n.size = n.size + i;
break;
case "shrink":
n.size = n.size - i;
break;
case "left":
n.x = n.x - i;
break;
case "right":
n.x = n.x + i;
break;
case "up":
n.y = n.y - i;
break;
case "down":
n.y = n.y + i;
break;
case "rotate":
n.rotate = n.rotate + i;
break;
}
return n;
}, t);
};
var dg = {
mixout() {
return {
parse: {
transform: (e) => ws(e)
}
};
},
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-transform");
return n && (e.transform = ws(n)), e;
}
};
},
provides(e) {
e.generateAbstractTransformGrouping = function(t) {
let {
main: n,
transform: r,
containerWidth: a,
iconWidth: o
} = t;
const i = {
transform: "translate(".concat(a / 2, " 256)")
}, s = "translate(".concat(r.x * 32, ", ").concat(r.y * 32, ") "), c = "scale(".concat(r.size / 16 * (r.flipX ? -1 : 1), ", ").concat(r.size / 16 * (r.flipY ? -1 : 1), ") "), l = "rotate(".concat(r.rotate, " 0 0)"), u = {
transform: "".concat(s, " ").concat(c, " ").concat(l)
}, f = {
transform: "translate(".concat(o / 2 * -1, " -256)")
}, d = {
outer: i,
inner: u,
path: f
};
return {
tag: "g",
attributes: O({}, d.outer),
children: [{
tag: "g",
attributes: O({}, d.inner),
children: [{
tag: n.icon.tag,
children: n.icon.children,
attributes: O(O({}, n.icon.attributes), d.path)
}]
}]
};
};
}
};
const ga = {
x: 0,
y: 0,
width: "100%",
height: "100%"
};
function Es(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 mg(e) {
return e.tag === "g" ? e.children : [e];
}
var pg = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-mask"), r = n ? zr(n.split(" ").map((a) => a.trim())) : nu();
return r.prefix || (r.prefix = St()), e.mask = r, e.maskId = t.getAttribute("data-fa-mask-id"), e;
}
};
},
provides(e) {
e.generateAbstractMask = function(t) {
let {
children: n,
attributes: r,
main: a,
mask: o,
maskId: i,
transform: s
} = t;
const {
width: c,
icon: l
} = a, {
width: u,
icon: f
} = o, d = ih({
transform: s,
containerWidth: u,
iconWidth: c
}), y = {
tag: "rect",
attributes: O(O({}, ga), {}, {
fill: "white"
})
}, v = l.children ? {
children: l.children.map(Es)
} : {}, m = {
tag: "g",
attributes: O({}, d.inner),
children: [Es(O({
tag: l.tag,
attributes: O(O({}, l.attributes), d.path)
}, v))]
}, p = {
tag: "g",
attributes: O({}, d.outer),
children: [m]
}, b = "mask-".concat(i || Nn()), A = "clip-".concat(i || Nn()), w = {
tag: "mask",
attributes: O(O({}, ga), {}, {
id: b,
maskUnits: "userSpaceOnUse",
maskContentUnits: "userSpaceOnUse"
}),
children: [y, p]
}, P = {
tag: "defs",
children: [{
tag: "clipPath",
attributes: {
id: A
},
children: mg(f)
}, w]
};
return n.push(P, {
tag: "rect",
attributes: O({
fill: "currentColor",
"clip-path": "url(#".concat(A, ")"),
mask: "url(#".concat(b, ")")
}, ga)
}), {
children: n,
attributes: r
};
};
}
}, hg = {
provides(e) {
let t = !1;
Et.matchMedia && (t = Et.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
const n = [], r = {
fill: "currentColor"
}, a = {
attributeType: "XML",
repeatCount: "indefinite",
dur: "2s"
};
n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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 o = O(O({}, a), {}, {
attributeName: "opacity"
}), i = {
tag: "circle",
attributes: O(O({}, r), {}, {
cx: "256",
cy: "364",
r: "28"
}),
children: []
};
return t || i.children.push({
tag: "animate",
attributes: O(O({}, a), {}, {
attributeName: "r",
values: "28;14;28;28;14;28;"
})
}, {
tag: "animate",
attributes: O(O({}, o), {}, {
values: "1;0;1;1;0;1;"
})
}), n.push(i), n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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: O(O({}, o), {}, {
values: "1;0;0;0;0;1;"
})
}]
}), t || n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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: O(O({}, o), {}, {
values: "0;0;1;1;0;0;"
})
}]
}), {
tag: "g",
attributes: {
class: "missing"
},
children: n
};
};
}
}, gg = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-symbol"), r = n === null ? !1 : n === "" ? !0 : n;
return e.symbol = r, e;
}
};
}
}, yg = [ch, eg, tg, ng, rg, ug, fg, dg, pg, hg, gg];
Oh(yg, {
mixoutsTo: Re
});
Re.noAuto;
Re.config;
Re.library;
Re.dom;
const lo = Re.parse;
Re.findIconDefinition;
Re.toHtml;
const bg = Re.icon;
Re.layer;
Re.text;
Re.counter;
function vg(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var ar = { exports: {} }, or = { exports: {} }, fe = {};
/** @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 Ss;
function xg() {
if (Ss) return fe;
Ss = 1;
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, A = e ? Symbol.for("react.scope") : 60119;
function w(h) {
if (typeof h == "object" && h !== null) {
var H = h.$$typeof;
switch (H) {
case t:
switch (h = h.type, h) {
case c:
case l:
case r:
case o:
case a:
case f:
return h;
default:
switch (h = h && h.$$typeof, h) {
case s:
case u:
case v:
case y:
case i:
return h;
default:
return H;
}
}
case n:
return H;
}
}
}
function P(h) {
return w(h) === l;
}
return fe.AsyncMode = c, fe.ConcurrentMode = l, fe.ContextConsumer = s, fe.ContextProvider = i, fe.Element = t, fe.ForwardRef = u, fe.Fragment = r, fe.Lazy = v, fe.Memo = y, fe.Portal = n, fe.Profiler = o, fe.StrictMode = a, fe.Suspense = f, fe.isAsyncMode = function(h) {
return P(h) || w(h) === c;
}, fe.isConcurrentMode = P, fe.isContextConsumer = function(h) {
return w(h) === s;
}, fe.isContextProvider = function(h) {
return w(h) === i;
}, fe.isElement = function(h) {
return typeof h == "object" && h !== null && h.$$typeof === t;
}, fe.isForwardRef = function(h) {
return w(h) === u;
}, fe.isFragment = function(h) {
return w(h) === r;
}, fe.isLazy = function(h) {
return w(h) === v;
}, fe.isMemo = function(h) {
return w(h) === y;
}, fe.isPortal = function(h) {
return w(h) === n;
}, fe.isProfiler = function(h) {
return w(h) === o;
}, fe.isStrictMode = function(h) {
return w(h) === a;
}, fe.isSuspense = function(h) {
return w(h) === f;
}, fe.isValidElementType = function(h) {
return typeof h == "string" || typeof h == "function" || h === r || h === l || h === o || h === a || h === f || h === d || typeof h == "object" && h !== null && (h.$$typeof === v || h.$$typeof === y || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === p || h.$$typeof === b || h.$$typeof === A || h.$$typeof === m);
}, fe.typeOf = w, fe;
}
var de = {};
/** @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 As;
function wg() {
return As || (As = 1, process.env.NODE_ENV !== "production" && function() {
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, A = e ? Symbol.for("react.scope") : 60119;
function w(E) {
return typeof E == "string" || typeof E == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
E === r || E === l || E === o || E === a || E === f || E === d || typeof E == "object" && E !== null && (E.$$typeof === v || E.$$typeof === y || E.$$typeof === i || E.$$typeof === s || E.$$typeof === u || E.$$typeof === p || E.$$typeof === b || E.$$typeof === A || E.$$typeof === m);
}
function P(E) {
if (typeof E == "object" && E !== null) {
var we = E.$$typeof;
switch (we) {
case t:
var Se = E.type;
switch (Se) {
case c:
case l:
case r:
case o:
case a:
case f:
return Se;
default:
var Ze = Se && Se.$$typeof;
switch (Ze) {
case s:
case u:
case v:
case y:
case i:
return Ze;
default:
return we;
}
}
case n:
return we;
}
}
}
var h = c, H = l, j = s, K = i, J = t, oe = u, le = r, U = v, ge = y, $ = n, k = o, L = a, Q = f, B = !1;
function ie(E) {
return B || (B = !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.")), g(E) || P(E) === c;
}
function g(E) {
return P(E) === l;
}
function x(E) {
return P(E) === s;
}
function _(E) {
return P(E) === i;
}
function D(E) {
return typeof E == "object" && E !== null && E.$$typeof === t;
}
function I(E) {
return P(E) === u;
}
function F(E) {
return P(E) === r;
}
function R(E) {
return P(E) === v;
}
function N(E) {
return P(E) === y;
}
function z(E) {
return P(E) === n;
}
function M(E) {
return P(E) === o;
}
function W(E) {
return P(E) === a;
}
function ce(E) {
return P(E) === f;
}
de.AsyncMode = h, de.ConcurrentMode = H, de.ContextConsumer = j, de.ContextProvider = K, de.Element = J, de.ForwardRef = oe, de.Fragment = le, de.Lazy = U, de.Memo = ge, de.Portal = $, de.Profiler = k, de.StrictMode = L, de.Suspense = Q, de.isAsyncMode = ie, de.isConcurrentMode = g, de.isContextConsumer = x, de.isContextProvider = _, de.isElement = D, de.isForwardRef = I, de.isFragment = F, de.isLazy = R, de.isMemo = N, de.isPortal = z, de.isProfiler = M, de.isStrictMode = W, de.isSuspense = ce, de.isValidElementType = w, de.typeOf = P;
}()), de;
}
var Ps;
function cu() {
return Ps || (Ps = 1, process.env.NODE_ENV === "production" ? or.exports = xg() : or.exports = wg()), or.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var ya, ks;
function Eg() {
if (ks) return ya;
ks = 1;
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable;
function r(o) {
if (o == null)
throw new TypeError("Object.assign cannot be called with null or undefined");
return Object(o);
}
function a() {
try {
if (!Object.assign)
return !1;
var o = new String("abc");
if (o[5] = "de", Object.getOwnPropertyNames(o)[0] === "5")
return !1;
for (var i = {}, s = 0; s < 10; s++)
i["_" + String.fromCharCode(s)] = s;
var c = Object.getOwnPropertyNames(i).map(function(u) {
return i[u];
});
if (c.join("") !== "0123456789")
return !1;
var l = {};
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
l[u] = u;
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
} catch {
return !1;
}
}
return ya = a() ? Object.assign : function(o, i) {
for (var s, c = r(o), l, u = 1; u < arguments.length; u++) {
s = Object(arguments[u]);
for (var f in s)
t.call(s, f) && (c[f] = s[f]);
if (e) {
l = e(s);
for (var d = 0; d < l.length; d++)
n.call(s, l[d]) && (c[l[d]] = s[l[d]]);
}
}
return c;
}, ya;
}
var ba, Os;
function ti() {
if (Os) return ba;
Os = 1;
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
return ba = e, ba;
}
var va, Cs;
function uu() {
return Cs || (Cs = 1, va = Function.call.bind(Object.prototype.hasOwnProperty)), va;
}
var xa, Ts;
function Sg() {
if (Ts) return xa;
Ts = 1;
var e = function() {
};
if (process.env.NODE_ENV !== "production") {
var t = /* @__PURE__ */ ti(), n = {}, r = /* @__PURE__ */ uu();
e = function(o) {
var i = "Warning: " + o;
typeof console < "u" && console.error(i);
try {
throw new Error(i);
} catch {
}
};
}
function a(o, i, s, c, l) {
if (process.env.NODE_ENV !== "production") {
for (var u in o)
if (r(o, u)) {
var f;
try {
if (typeof o[u] != "function") {
var d = Error(
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
);
throw d.name = "Invariant Violation", d;
}
f = o[u](i, u, c, s, null, t);
} catch (v) {
f = v;
}
if (f && !(f instanceof Error) && e(
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
), f instanceof Error && !(f.message in n)) {
n[f.message] = !0;
var y = l ? l() : "";
e(
"Failed " + s + " type: " + f.message + (y ?? "")
);
}
}
}
}
return a.resetWarningCache = function() {
process.env.NODE_ENV !== "production" && (n = {});
}, xa = a, xa;
}
var wa, _s;
function Ag() {
if (_s) return wa;
_s = 1;
var e = cu(), t = Eg(), n = /* @__PURE__ */ ti(), r = /* @__PURE__ */ uu(), a = /* @__PURE__ */ Sg(), o = function() {
};
process.env.NODE_ENV !== "production" && (o = function(s) {
var c = "Warning: " + s;
typeof console < "u" && console.error(c);
try {
throw new Error(c);
} catch {
}
});
function i() {
return null;
}
return wa = function(s, c) {
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
function f(g) {
var x = g && (l && g[l] || g[u]);
if (typeof x == "function")
return x;
}
var d = "<<anonymous>>", y = {
array: b("array"),
bigint: b("bigint"),
bool: b("boolean"),
func: b("function"),
number: b("number"),
object: b("object"),
string: b("string"),
symbol: b("symbol"),
any: A(),
arrayOf: w,
element: P(),
elementType: h(),
instanceOf: H,
node: oe(),
objectOf: K,
oneOf: j,
oneOfType: J,
shape: U,
exact: ge
};
function v(g, x) {
return g === x ? g !== 0 || 1 / g === 1 / x : g !== g && x !== x;
}
function m(g, x) {
this.message = g, this.data = x && typeof x == "object" ? x : {}, this.stack = "";
}
m.prototype = Error.prototype;
function p(g) {
if (process.env.NODE_ENV !== "production")
var x = {}, _ = 0;
function D(F, R, N, z, M, W, ce) {
if (z = z || d, W = W || N, ce !== n) {
if (c) {
var E = 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 E.name = "Invariant Violation", E;
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
var we = z + ":" + N;
!x[we] && // Avoid spamming the console because they are often not actionable except for lib authors
_ < 3 && (o(
"You are manually calling a React.PropTypes validation function for the `" + W + "` prop on `" + z + "`. 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."
), x[we] = !0, _++);
}
}
return R[N] == null ? F ? R[N] === null ? new m("The " + M + " `" + W + "` is marked as required " + ("in `" + z + "`, but its value is `null`.")) : new m("The " + M + " `" + W + "` is marked as required in " + ("`" + z + "`, but its value is `undefined`.")) : null : g(R, N, z, M, W);
}
var I = D.bind(null, !1);
return I.isRequired = D.bind(null, !0), I;
}
function b(g) {
function x(_, D, I, F, R, N) {
var z = _[D], M = L(z);
if (M !== g) {
var W = Q(z);
return new m(
"Invalid " + F + " `" + R + "` of type " + ("`" + W + "` supplied to `" + I + "`, expected ") + ("`" + g + "`."),
{ expectedType: g }
);
}
return null;
}
return p(x);
}
function A() {
return p(i);
}
function w(g) {
function x(_, D, I, F, R) {
if (typeof g != "function")
return new m("Property `" + R + "` of component `" + I + "` has invalid PropType notation inside arrayOf.");
var N = _[D];
if (!Array.isArray(N)) {
var z = L(N);
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected an array."));
}
for (var M = 0; M < N.length; M++) {
var W = g(N, M, I, F, R + "[" + M + "]", n);
if (W instanceof Error)
return W;
}
return null;
}
return p(x);
}
function P() {
function g(x, _, D, I, F) {
var R = x[_];
if (!s(R)) {
var N = L(R);
return new m("Invalid " + I + " `" + F + "` of type " + ("`" + N + "` supplied to `" + D + "`, expected a single ReactElement."));
}
return null;
}
return p(g);
}
function h() {
function g(x, _, D, I, F) {
var R = x[_];
if (!e.isValidElementType(R)) {
var N = L(R);
return new m("Invalid " + I + " `" + F + "` of type " + ("`" + N + "` supplied to `" + D + "`, expected a single ReactElement type."));
}
return null;
}
return p(g);
}
function H(g) {
function x(_, D, I, F, R) {
if (!(_[D] instanceof g)) {
var N = g.name || d, z = ie(_[D]);
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected ") + ("instance of `" + N + "`."));
}
return null;
}
return p(x);
}
function j(g) {
if (!Array.isArray(g))
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
"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])."
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
function x(_, D, I, F, R) {
for (var N = _[D], z = 0; z < g.length; z++)
if (v(N, g[z]))
return null;
var M = JSON.stringify(g, function(ce, E) {
var we = Q(E);
return we === "symbol" ? String(E) : E;
});
return new m("Invalid " + F + " `" + R + "` of value `" + String(N) + "` " + ("supplied to `" + I + "`, expected one of " + M + "."));
}
return p(x);
}
function K(g) {
function x(_, D, I, F, R) {
if (typeof g != "function")
return new m("Property `" + R + "` of component `" + I + "` has invalid PropType notation inside objectOf.");
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected an object."));
for (var M in N)
if (r(N, M)) {
var W = g(N, M, I, F, R + "." + M, n);
if (W instanceof Error)
return W;
}
return null;
}
return p(x);
}
function J(g) {
if (!Array.isArray(g))
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
for (var x = 0; x < g.length; x++) {
var _ = g[x];
if (typeof _ != "function")
return o(
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + B(_) + " at index " + x + "."
), i;
}
function D(I, F, R, N, z) {
for (var M = [], W = 0; W < g.length; W++) {
var ce = g[W], E = ce(I, F, R, N, z, n);
if (E == null)
return null;
E.data && r(E.data, "expectedType") && M.push(E.data.expectedType);
}
var we = M.length > 0 ? ", expected one of type [" + M.join(", ") + "]" : "";
return new m("Invalid " + N + " `" + z + "` supplied to " + ("`" + R + "`" + we + "."));
}
return p(D);
}
function oe() {
function g(x, _, D, I, F) {
return $(x[_]) ? null : new m("Invalid " + I + " `" + F + "` supplied to " + ("`" + D + "`, expected a ReactNode."));
}
return p(g);
}
function le(g, x, _, D, I) {
return new m(
(g || "React class") + ": " + x + " type `" + _ + "." + D + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + I + "`."
);
}
function U(g) {
function x(_, D, I, F, R) {
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type `" + z + "` " + ("supplied to `" + I + "`, expected `object`."));
for (var M in g) {
var W = g[M];
if (typeof W != "function")
return le(I, F, R, M, Q(W));
var ce = W(N, M, I, F, R + "." + M, n);
if (ce)
return ce;
}
return null;
}
return p(x);
}
function ge(g) {
function x(_, D, I, F, R) {
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type `" + z + "` " + ("supplied to `" + I + "`, expected `object`."));
var M = t({}, _[D], g);
for (var W in M) {
var ce = g[W];
if (r(g, W) && typeof ce != "function")
return le(I, F, R, W, Q(ce));
if (!ce)
return new m(
"Invalid " + F + " `" + R + "` key `" + W + "` supplied to `" + I + "`.\nBad object: " + JSON.stringify(_[D], null, " ") + `
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
);
var E = ce(N, W, I, F, R + "." + W, n);
if (E)
return E;
}
return null;
}
return p(x);
}
function $(g) {
switch (typeof g) {
case "number":
case "string":
case "undefined":
return !0;
case "boolean":
return !g;
case "object":
if (Array.isArray(g))
return g.every($);
if (g === null || s(g))
return !0;
var x = f(g);
if (x) {
var _ = x.call(g), D;
if (x !== g.entries) {
for (; !(D = _.next()).done; )
if (!$(D.value))
return !1;
} else
for (; !(D = _.next()).done; ) {
var I = D.value;
if (I && !$(I[1]))
return !1;
}
} else
return !1;
return !0;
default:
return !1;
}
}
function k(g, x) {
return g === "symbol" ? !0 : x ? x["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && x instanceof Symbol : !1;
}
function L(g) {
var x = typeof g;
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : k(x, g) ? "symbol" : x;
}
function Q(g) {
if (typeof g > "u" || g === null)
return "" + g;
var x = L(g);
if (x === "object") {
if (g instanceof Date)
return "date";
if (g instanceof RegExp)
return "regexp";
}
return x;
}
function B(g) {
var x = Q(g);
switch (x) {
case "array":
case "object":
return "an " + x;
case "boolean":
case "date":
case "regexp":
return "a " + x;
default:
return x;
}
}
function ie(g) {
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
}
return y.checkPropTypes = a, y.resetWarningCache = a.resetWarningCache, y.PropTypes = y, y;
}, wa;
}
var Ea, Is;
function Pg() {
if (Is) return Ea;
Is = 1;
var e = /* @__PURE__ */ ti();
function t() {
}
function n() {
}
return n.resetWarningCache = t, Ea = function() {
function r(i, s, c, l, u, f) {
if (f !== e) {
var d = 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 d.name = "Invariant Violation", d;
}
}
r.isRequired = r;
function a() {
return r;
}
var o = {
array: r,
bigint: r,
bool: r,
func: r,
number: r,
object: r,
string: r,
symbol: r,
any: r,
arrayOf: a,
element: r,
elementType: r,
instanceOf: a,
node: r,
objectOf: a,
oneOf: a,
oneOfType: a,
shape: a,
exact: a,
checkPropTypes: n,
resetWarningCache: t
};
return o.PropTypes = o, o;
}, Ea;
}
var Ns;
function kg() {
if (Ns) return ar.exports;
if (Ns = 1, process.env.NODE_ENV !== "production") {
var e = cu(), t = !0;
ar.exports = /* @__PURE__ */ Ag()(e.isElement, t);
} else
ar.exports = /* @__PURE__ */ Pg()();
return ar.exports;
}
var Og = /* @__PURE__ */ kg();
const re = /* @__PURE__ */ vg(Og);
function Rs(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(a) {
return Object.getOwnPropertyDescriptor(e, a).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function Ve(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? Rs(Object(n), !0).forEach(function(r) {
Yt(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Rs(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function Er(e) {
"@babel/helpers - typeof";
return Er = 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;
}, Er(e);
}
function Yt(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function Cg(e, t) {
if (e == null) return {};
var n = {}, r = Object.keys(e), a, o;
for (o = 0; o < r.length; o++)
a = r[o], !(t.indexOf(a) >= 0) && (n[a] = e[a]);
return n;
}
function Tg(e, t) {
if (e == null) return {};
var n = Cg(e, t), r, a;
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
for (a = 0; a < o.length; a++)
r = o[a], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
}
return n;
}
function co(e) {
return _g(e) || Ig(e) || Ng(e) || Rg();
}
function _g(e) {
if (Array.isArray(e)) return uo(e);
}
function Ig(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
function Ng(e, t) {
if (e) {
if (typeof e == "string") return uo(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(e);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return uo(e, t);
}
}
function uo(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r;
}
function Rg() {
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 Mg(e) {
var t, n = e.beat, r = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, v = e.border, m = e.listItem, p = e.flip, b = e.size, A = e.rotation, w = e.pull, P = (t = {
"fa-beat": n,
"fa-fade": r,
"fa-beat-fade": a,
"fa-bounce": o,
"fa-shake": i,
"fa-flash": s,
"fa-spin": c,
"fa-spin-reverse": u,
"fa-spin-pulse": l,
"fa-pulse": f,
"fa-fw": d,
"fa-inverse": y,
"fa-border": v,
"fa-li": m,
"fa-flip": p === !0,
"fa-flip-horizontal": p === "horizontal" || p === "both",
"fa-flip-vertical": p === "vertical" || p === "both"
}, Yt(t, "fa-".concat(b), typeof b < "u" && b !== null), Yt(t, "fa-rotate-".concat(A), typeof A < "u" && A !== null && A !== 0), Yt(t, "fa-pull-".concat(w), typeof w < "u" && w !== null), Yt(t, "fa-swap-opacity", e.swapOpacity), t);
return Object.keys(P).map(function(h) {
return P[h] ? h : null;
}).filter(function(h) {
return h;
});
}
function Fg(e) {
return e = e - 0, e === e;
}
function fu(e) {
return Fg(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, n) {
return n ? n.toUpperCase() : "";
}), e.substr(0, 1).toLowerCase() + e.substr(1));
}
var Dg = ["style"];
function jg(e) {
return e.charAt(0).toUpperCase() + e.slice(1);
}
function zg(e) {
return e.split(";").map(function(t) {
return t.trim();
}).filter(function(t) {
return t;
}).reduce(function(t, n) {
var r = n.indexOf(":"), a = fu(n.slice(0, r)), o = n.slice(r + 1).trim();
return a.startsWith("webkit") ? t[jg(a)] = o : t[a] = o, t;
}, {});
}
function du(e, t) {
var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (typeof t == "string")
return t;
var r = (t.children || []).map(function(c) {
return du(e, c);
}), a = Object.keys(t.attributes || {}).reduce(function(c, l) {
var u = t.attributes[l];
switch (l) {
case "class":
c.attrs.className = u, delete t.attributes.class;
break;
case "style":
c.attrs.style = zg(u);
break;
default:
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[fu(l)] = u;
}
return c;
}, {
attrs: {}
}), o = n.style, i = o === void 0 ? {} : o, s = Tg(n, Dg);
return a.attrs.style = Ve(Ve({}, a.attrs.style), i), e.apply(void 0, [t.tag, Ve(Ve({}, a.attrs), s)].concat(co(r)));
}
var mu = !1;
try {
mu = process.env.NODE_ENV === "production";
} catch {
}
function Lg() {
if (!mu && console && typeof console.error == "function") {
var e;
(e = console).error.apply(e, arguments);
}
}
function Ms(e) {
if (e && Er(e) === "object" && e.prefix && e.iconName && e.icon)
return e;
if (lo.icon)
return lo.icon(e);
if (e === null)
return null;
if (e && Er(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 Sa(e, t) {
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Yt({}, e, t) : {};
}
var Fs = {
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
}, Mn = /* @__PURE__ */ Ir.forwardRef(function(e, t) {
var n = Ve(Ve({}, Fs), e), r = n.icon, a = n.mask, o = n.symbol, i = n.className, s = n.title, c = n.titleId, l = n.maskId, u = Ms(r), f = Sa("classes", [].concat(co(Mg(n)), co((i || "").split(" ")))), d = Sa("transform", typeof n.transform == "string" ? lo.transform(n.transform) : n.transform), y = Sa("mask", Ms(a)), v = bg(u, Ve(Ve(Ve(Ve({}, f), d), y), {}, {
symbol: o,
title: s,
titleId: c,
maskId: l
}));
if (!v)
return Lg("Could not find icon", u), null;
var m = v.abstract, p = {
ref: t
};
return Object.keys(n).forEach(function(b) {
Fs.hasOwnProperty(b) || (p[b] = n[b]);
}), $g(m[0], p);
});
Mn.displayName = "FontAwesomeIcon";
Mn.propTypes = {
beat: re.bool,
border: re.bool,
beatFade: re.bool,
bounce: re.bool,
className: re.string,
fade: re.bool,
flash: re.bool,
mask: re.oneOfType([re.object, re.array, re.string]),
maskId: re.string,
fixedWidth: re.bool,
inverse: re.bool,
flip: re.oneOf([!0, !1, "horizontal", "vertical", "both"]),
icon: re.oneOfType([re.object, re.array, re.string]),
listItem: re.bool,
pull: re.oneOf(["right", "left"]),
pulse: re.bool,
rotation: re.oneOf([0, 90, 180, 270]),
shake: re.bool,
size: re.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
spin: re.bool,
spinPulse: re.bool,
spinReverse: re.bool,
symbol: re.oneOfType([re.bool, re.string]),
title: re.string,
titleId: re.string,
transform: re.oneOfType([re.string, re.object]),
swapOpacity: re.bool
};
var $g = du.bind(null, Ir.createElement);
/*!
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
const Wg = {
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 Ug(e, t, n) {
return (t = Yg(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function Ds(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(a) {
return Object.getOwnPropertyDescriptor(e, a).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function C(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? Ds(Object(n), !0).forEach(function(r) {
Ug(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ds(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function Vg(e, t) {
if (typeof e != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
if (typeof r != "object") return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
function Yg(e) {
var t = Vg(e, "string");
return typeof t == "symbol" ? t : t + "";
}
const js = () => {
};
let ni = {}, pu = {}, hu = null, gu = {
mark: js,
measure: js
};
try {
typeof window < "u" && (ni = window), typeof document < "u" && (pu = document), typeof MutationObserver < "u" && (hu = MutationObserver), typeof performance < "u" && (gu = performance);
} catch {
}
const {
userAgent: zs = ""
} = ni.navigator || {}, Pt = ni, xe = pu, Ls = hu, ir = gu;
Pt.document;
const st = !!xe.documentElement && !!xe.head && typeof xe.addEventListener == "function" && typeof xe.createElement == "function", yu = ~zs.indexOf("MSIE") || ~zs.indexOf("Trident/");
var Gg = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Bg = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, bu = {
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"
}
}, qg = {
GROUP: "duotone-group",
PRIMARY: "primary",
SECONDARY: "secondary"
}, vu = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ke = "classic", $r = "duotone", Hg = "sharp", Xg = "sharp-duotone", xu = [ke, $r, Hg, Xg], Kg = {
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"
}
}, Qg = {
"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"
}
}, Zg = /* @__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
}]]), Jg = {
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"
}
}, ey = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], $s = {
kit: {
fak: "kit",
"fa-kit": "kit"
},
"kit-duotone": {
fakd: "kit-duotone",
"fa-kit-duotone": "kit-duotone"
}
}, ty = ["kit"], ny = {
kit: {
"fa-kit": "fak"
}
}, ry = ["fak", "fakd"], ay = {
kit: {
fak: "fa-kit"
}
}, Ws = {
kit: {
kit: "fak"
},
"kit-duotone": {
"kit-duotone": "fakd"
}
}, sr = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
}, oy = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], iy = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], sy = {
"Font Awesome Kit": {
400: "fak",
normal: "fak"
},
"Font Awesome Kit Duotone": {
400: "fakd",
normal: "fakd"
}
}, ly = {
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"
}
}, cy = {
classic: ["fas", "far", "fal", "fat", "fad"],
duotone: ["fadr", "fadl", "fadt"],
sharp: ["fass", "fasr", "fasl", "fast"],
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
}, fo = {
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"
}
}, uy = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], mo = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...oy, ...uy], fy = ["solid", "regular", "light", "thin", "duotone", "brands"], wu = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dy = wu.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), my = [...Object.keys(cy), ...fy, "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", sr.GROUP, sr.SWAP_OPACITY, sr.PRIMARY, sr.SECONDARY].concat(wu.map((e) => "".concat(e, "x"))).concat(dy.map((e) => "w-".concat(e))), py = {
"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 at = "___FONT_AWESOME___", po = 16, Eu = "fa", Su = "svg-inline--fa", Mt = "data-fa-i2svg", ho = "data-fa-pseudo-element", hy = "data-fa-pseudo-element-pending", ri = "data-prefix", ai = "data-icon", Us = "fontawesome-i2svg", gy = "async", yy = ["HTML", "HEAD", "STYLE", "SCRIPT"], Au = (() => {
try {
return process.env.NODE_ENV === "production";
} catch {
return !1;
}
})();
function qn(e) {
return new Proxy(e, {
get(t, n) {
return n in t ? t[n] : t[ke];
}
});
}
const Pu = C({}, bu);
Pu[ke] = C(C(C(C({}, {
"fa-duotone": "duotone"
}), bu[ke]), $s.kit), $s["kit-duotone"]);
const by = qn(Pu), go = C({}, Jg);
go[ke] = C(C(C(C({}, {
duotone: "fad"
}), go[ke]), Ws.kit), Ws["kit-duotone"]);
const Vs = qn(go), yo = C({}, fo);
yo[ke] = C(C({}, yo[ke]), ay.kit);
const oi = qn(yo), bo = C({}, ly);
bo[ke] = C(C({}, bo[ke]), ny.kit);
qn(bo);
const vy = Gg, ku = "fa-layers-text", xy = Bg, wy = C({}, Kg);
qn(wy);
const Ey = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Aa = qg, Sy = [...ty, ...my], An = Pt.FontAwesomeConfig || {};
function Ay(e) {
var t = xe.querySelector("script[" + e + "]");
if (t)
return t.getAttribute(e);
}
function Py(e) {
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
}
xe && typeof xe.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, n] = e;
const r = Py(Ay(t));
r != null && (An[n] = r);
});
const Ou = {
styleDefault: "solid",
familyDefault: ke,
cssPrefix: Eu,
replacementClass: Su,
autoReplaceSvg: !0,
autoAddCss: !0,
autoA11y: !0,
searchPseudoElements: !1,
observeMutations: !0,
mutateApproach: "async",
keepOriginalSource: !0,
measurePerformance: !1,
showMissingIcons: !0
};
An.familyPrefix && (An.cssPrefix = An.familyPrefix);
const nn = C(C({}, Ou), An);
nn.autoReplaceSvg || (nn.observeMutations = !1);
const G = {};
Object.keys(Ou).forEach((e) => {
Object.defineProperty(G, e, {
enumerable: !0,
set: function(t) {
nn[e] = t, Pn.forEach((n) => n(G));
},
get: function() {
return nn[e];
}
});
});
Object.defineProperty(G, "familyPrefix", {
enumerable: !0,
set: function(e) {
nn.cssPrefix = e, Pn.forEach((t) => t(G));
},
get: function() {
return nn.cssPrefix;
}
});
Pt.FontAwesomeConfig = G;
const Pn = [];
function ky(e) {
return Pn.push(e), () => {
Pn.splice(Pn.indexOf(e), 1);
};
}
const ft = po, He = {
size: 16,
x: 0,
y: 0,
rotate: 0,
flipX: !1,
flipY: !1
};
function Oy(e) {
if (!e || !st)
return;
const t = xe.createElement("style");
t.setAttribute("type", "text/css"), t.innerHTML = e;
const n = xe.head.childNodes;
let r = null;
for (let a = n.length - 1; a > -1; a--) {
const o = n[a], i = (o.tagName || "").toUpperCase();
["STYLE", "LINK"].indexOf(i) > -1 && (r = o);
}
return xe.head.insertBefore(t, r), e;
}
const Cy = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function Fn() {
let e = 12, t = "";
for (; e-- > 0; )
t += Cy[Math.random() * 62 | 0];
return t;
}
function sn(e) {
const t = [];
for (let n = (e || []).length >>> 0; n--; )
t[n] = e[n];
return t;
}
function ii(e) {
return e.classList ? sn(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
}
function Cu(e) {
return "".concat(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function Ty(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, '="').concat(Cu(e[n]), '" '), "").trim();
}
function Wr(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, ": ").concat(e[n].trim(), ";"), "");
}
function si(e) {
return e.size !== He.size || e.x !== He.x || e.y !== He.y || e.rotate !== He.rotate || e.flipX || e.flipY;
}
function _y(e) {
let {
transform: t,
containerWidth: n,
iconWidth: r
} = e;
const a = {
transform: "translate(".concat(n / 2, " 256)")
}, o = "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)"), c = {
transform: "".concat(o, " ").concat(i, " ").concat(s)
}, l = {
transform: "translate(".concat(r / 2 * -1, " -256)")
};
return {
outer: a,
inner: c,
path: l
};
}
function Iy(e) {
let {
transform: t,
width: n = po,
height: r = po,
startCentered: a = !1
} = e, o = "";
return a && yu ? o += "translate(".concat(t.x / ft - n / 2, "em, ").concat(t.y / ft - r / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / ft, "em), calc(-50% + ").concat(t.y / ft, "em)) ") : o += "translate(".concat(t.x / ft, "em, ").concat(t.y / ft, "em) "), o += "scale(".concat(t.size / ft * (t.flipX ? -1 : 1), ", ").concat(t.size / ft * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
}
var Ny = `: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 Tu() {
const e = Eu, t = Su, n = G.cssPrefix, r = G.replacementClass;
let a = Ny;
if (n !== e || r !== t) {
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
a = a.replace(o, ".".concat(n, "-")).replace(i, "--".concat(n, "-")).replace(s, ".".concat(r));
}
return a;
}
let Ys = !1;
function Pa() {
G.autoAddCss && !Ys && (Oy(Tu()), Ys = !0);
}
var Ry = {
mixout() {
return {
dom: {
css: Tu,
insertCss: Pa
}
};
},
hooks() {
return {
beforeDOMElementCreation() {
Pa();
},
beforeI2svg() {
Pa();
}
};
}
};
const ot = Pt || {};
ot[at] || (ot[at] = {});
ot[at].styles || (ot[at].styles = {});
ot[at].hooks || (ot[at].hooks = {});
ot[at].shims || (ot[at].shims = []);
var Xe = ot[at];
const _u = [], Iu = function() {
xe.removeEventListener("DOMContentLoaded", Iu), Sr = 1, _u.map((e) => e());
};
let Sr = !1;
st && (Sr = (xe.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(xe.readyState), Sr || xe.addEventListener("DOMContentLoaded", Iu));
function My(e) {
st && (Sr ? setTimeout(e, 0) : _u.push(e));
}
function Hn(e) {
const {
tag: t,
attributes: n = {},
children: r = []
} = e;
return typeof e == "string" ? Cu(e) : "<".concat(t, " ").concat(Ty(n), ">").concat(r.map(Hn).join(""), "</").concat(t, ">");
}
function Gs(e, t, n) {
if (e && e[t] && e[t][n])
return {
prefix: t,
iconName: n,
icon: e[t][n]
};
}
var ka = function(e, t, n, r) {
var a = Object.keys(e), o = a.length, i = t, s, c, l;
for (n === void 0 ? (s = 1, l = e[a[0]]) : (s = 0, l = n); s < o; s++)
c = a[s], l = i(l, e[c], c, e);
return l;
};
function Fy(e) {
const t = [];
let n = 0;
const r = e.length;
for (; n < r; ) {
const a = e.charCodeAt(n++);
if (a >= 55296 && a <= 56319 && n < r) {
const o = e.charCodeAt(n++);
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), n--);
} else
t.push(a);
}
return t;
}
function Nu(e) {
const t = Fy(e);
return t.length === 1 ? t[0].toString(16) : null;
}
function Dy(e, t) {
const n = e.length;
let r = e.charCodeAt(t), a;
return r >= 55296 && r <= 56319 && n > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (r - 55296) * 1024 + a - 56320 + 65536 : r;
}
function Bs(e) {
return Object.keys(e).reduce((t, n) => {
const r = e[n];
return r.icon ? t[r.iconName] = r.icon : t[n] = r, t;
}, {});
}
function vo(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
const {
skipHooks: r = !1
} = n, a = Bs(t);
typeof Xe.hooks.addPack == "function" && !r ? Xe.hooks.addPack(e, Bs(t)) : Xe.styles[e] = C(C({}, Xe.styles[e] || {}), a), e === "fas" && vo("fa", t);
}
const {
styles: Dn,
shims: jy
} = Xe, Ru = Object.keys(oi), zy = Ru.reduce((e, t) => (e[t] = Object.keys(oi[t]), e), {});
let li = null, Mu = {}, Fu = {}, Du = {}, ju = {}, zu = {};
function Ly(e) {
return ~Sy.indexOf(e);
}
function $y(e, t) {
const n = t.split("-"), r = n[0], a = n.slice(1).join("-");
return r === e && a !== "" && !Ly(a) ? a : null;
}
const Lu = () => {
const e = (r) => ka(Dn, (a, o, i) => (a[i] = ka(o, r, {}), a), {});
Mu = e((r, a, o) => (a[3] && (r[a[3]] = o), a[2] && a[2].filter((i) => typeof i == "number").forEach((i) => {
r[i.toString(16)] = o;
}), r)), Fu = e((r, a, o) => (r[o] = o, a[2] && a[2].filter((i) => typeof i == "string").forEach((i) => {
r[i] = o;
}), r)), zu = e((r, a, o) => {
const i = a[2];
return r[o] = o, i.forEach((s) => {
r[s] = o;
}), r;
});
const t = "far" in Dn || G.autoFetchSvg, n = ka(jy, (r, a) => {
const o = a[0];
let i = a[1];
const s = a[2];
return i === "far" && !t && (i = "fas"), typeof o == "string" && (r.names[o] = {
prefix: i,
iconName: s
}), typeof o == "number" && (r.unicodes[o.toString(16)] = {
prefix: i,
iconName: s
}), r;
}, {
names: {},
unicodes: {}
});
Du = n.names, ju = n.unicodes, li = Ur(G.styleDefault, {
family: G.familyDefault
});
};
ky((e) => {
li = Ur(e.styleDefault, {
family: G.familyDefault
});
});
Lu();
function ci(e, t) {
return (Mu[e] || {})[t];
}
function Wy(e, t) {
return (Fu[e] || {})[t];
}
function _t(e, t) {
return (zu[e] || {})[t];
}
function $u(e) {
return Du[e] || {
prefix: null,
iconName: null
};
}
function Uy(e) {
const t = ju[e], n = ci("fas", e);
return t || (n ? {
prefix: "fas",
iconName: n
} : null) || {
prefix: null,
iconName: null
};
}
function kt() {
return li;
}
const Wu = () => ({
prefix: null,
iconName: null,
rest: []
});
function Vy(e) {
let t = ke;
const n = Ru.reduce((r, a) => (r[a] = "".concat(G.cssPrefix, "-").concat(a), r), {});
return xu.forEach((r) => {
(e.includes(n[r]) || e.some((a) => zy[r].includes(a))) && (t = r);
}), t;
}
function Ur(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
family: n = ke
} = t, r = by[n][e];
if (n === $r && !e)
return "fad";
const a = Vs[n][e] || Vs[n][r], o = e in Xe.styles ? e : null;
return a || o || null;
}
function Yy(e) {
let t = [], n = null;
return e.forEach((r) => {
const a = $y(G.cssPrefix, r);
a ? n = a : r && t.push(r);
}), {
iconName: n,
rest: t
};
}
function qs(e) {
return e.sort().filter((t, n, r) => r.indexOf(t) === n);
}
function Vr(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
skipLookups: n = !1
} = t;
let r = null;
const a = mo.concat(iy), o = qs(e.filter((f) => a.includes(f))), i = qs(e.filter((f) => !mo.includes(f))), s = o.filter((f) => (r = f, !vu.includes(f))), [c = null] = s, l = Vy(o), u = C(C({}, Yy(i)), {}, {
prefix: Ur(c, {
family: l
})
});
return C(C(C({}, u), Hy({
values: e,
family: l,
styles: Dn,
config: G,
canonical: u,
givenPrefix: r
})), Gy(n, r, u));
}
function Gy(e, t, n) {
let {
prefix: r,
iconName: a
} = n;
if (e || !r || !a)
return {
prefix: r,
iconName: a
};
const o = t === "fa" ? $u(a) : {}, i = _t(r, a);
return a = o.iconName || i || a, r = o.prefix || r, r === "far" && !Dn.far && Dn.fas && !G.autoFetchSvg && (r = "fas"), {
prefix: r,
iconName: a
};
}
const By = xu.filter((e) => e !== ke || e !== $r), qy = Object.keys(fo).filter((e) => e !== ke).map((e) => Object.keys(fo[e])).flat();
function Hy(e) {
const {
values: t,
family: n,
canonical: r,
givenPrefix: a = "",
styles: o = {},
config: i = {}
} = e, s = n === $r, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = r.prefix === "fad" || r.prefix === "fa-duotone";
if (!s && (c || l || u) && (r.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (r.prefix = "fab"), !r.prefix && By.includes(n) && (Object.keys(o).find((f) => qy.includes(f)) || i.autoFetchSvg)) {
const f = Zg.get(n).defaultShortPrefixId;
r.prefix = f, r.iconName = _t(r.prefix, r.iconName) || r.iconName;
}
return (r.prefix === "fa" || a === "fa") && (r.prefix = kt() || "fas"), r;
}
class Xy {
constructor() {
this.definitions = {};
}
add() {
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
const a = n.reduce(this._pullDefinitions, {});
Object.keys(a).forEach((o) => {
this.definitions[o] = C(C({}, this.definitions[o] || {}), a[o]), vo(o, a[o]);
const i = oi[ke][o];
i && vo(i, a[o]), Lu();
});
}
reset() {
this.definitions = {};
}
_pullDefinitions(t, n) {
const r = n.prefix && n.iconName && n.icon ? {
0: n
} : n;
return Object.keys(r).map((a) => {
const {
prefix: o,
iconName: i,
icon: s
} = r[a], c = s[2];
t[o] || (t[o] = {}), c.length > 0 && c.forEach((l) => {
typeof l == "string" && (t[o][l] = s);
}), t[o][i] = s;
}), t;
}
}
let Hs = [], Gt = {};
const Qt = {}, Ky = Object.keys(Qt);
function Qy(e, t) {
let {
mixoutsTo: n
} = t;
return Hs = e, Gt = {}, Object.keys(Qt).forEach((r) => {
Ky.indexOf(r) === -1 && delete Qt[r];
}), Hs.forEach((r) => {
const a = r.mixout ? r.mixout() : {};
if (Object.keys(a).forEach((o) => {
typeof a[o] == "function" && (n[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
n[o] || (n[o] = {}), n[o][i] = a[o][i];
});
}), r.hooks) {
const o = r.hooks();
Object.keys(o).forEach((i) => {
Gt[i] || (Gt[i] = []), Gt[i].push(o[i]);
});
}
r.provides && r.provides(Qt);
}), n;
}
function xo(e, t) {
for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), a = 2; a < n; a++)
r[a - 2] = arguments[a];
return (Gt[e] || []).forEach((o) => {
t = o.apply(null, [t, ...r]);
}), t;
}
function Ft(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
n[r - 1] = arguments[r];
(Gt[e] || []).forEach((a) => {
a.apply(null, n);
});
}
function Ot() {
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
return Qt[e] ? Qt[e].apply(null, t) : void 0;
}
function wo(e) {
e.prefix === "fa" && (e.prefix = "fas");
let {
iconName: t
} = e;
const n = e.prefix || kt();
if (t)
return t = _t(n, t) || t, Gs(Uu.definitions, n, t) || Gs(Xe.styles, n, t);
}
const Uu = new Xy(), Zy = () => {
G.autoReplaceSvg = !1, G.observeMutations = !1, Ft("noAuto");
}, Jy = {
i2svg: function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return st ? (Ft("beforeI2svg", e), Ot("pseudoElements2svg", e), Ot("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;
G.autoReplaceSvg === !1 && (G.autoReplaceSvg = !0), G.observeMutations = !0, My(() => {
tb({
autoReplaceSvgRoot: t
}), Ft("watch", e);
});
}
}, eb = {
icon: (e) => {
if (e === null)
return null;
if (typeof e == "object" && e.prefix && e.iconName)
return {
prefix: e.prefix,
iconName: _t(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], n = Ur(e[0]);
return {
prefix: n,
iconName: _t(n, t) || t
};
}
if (typeof e == "string" && (e.indexOf("".concat(G.cssPrefix, "-")) > -1 || e.match(vy))) {
const t = Vr(e.split(" "), {
skipLookups: !0
});
return {
prefix: t.prefix || kt(),
iconName: _t(t.prefix, t.iconName) || t.iconName
};
}
if (typeof e == "string") {
const t = kt();
return {
prefix: t,
iconName: _t(t, e) || e
};
}
}
}, Me = {
noAuto: Zy,
config: G,
dom: Jy,
parse: eb,
library: Uu,
findIconDefinition: wo,
toHtml: Hn
}, tb = function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const {
autoReplaceSvgRoot: t = xe
} = e;
(Object.keys(Xe.styles).length > 0 || G.autoFetchSvg) && st && G.autoReplaceSvg && Me.dom.i2svg({
node: t
});
};
function Yr(e, t) {
return Object.defineProperty(e, "abstract", {
get: t
}), Object.defineProperty(e, "html", {
get: function() {
return e.abstract.map((n) => Hn(n));
}
}), Object.defineProperty(e, "node", {
get: function() {
if (!st) return;
const n = xe.createElement("div");
return n.innerHTML = e.html, n.children;
}
}), e;
}
function nb(e) {
let {
children: t,
main: n,
mask: r,
attributes: a,
styles: o,
transform: i
} = e;
if (si(i) && n.found && !r.found) {
const {
width: s,
height: c
} = n, l = {
x: s / c / 2,
y: 0.5
};
a.style = Wr(C(C({}, o), {}, {
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
}));
}
return [{
tag: "svg",
attributes: a,
children: t
}];
}
function rb(e) {
let {
prefix: t,
iconName: n,
children: r,
attributes: a,
symbol: o
} = e;
const i = o === !0 ? "".concat(t, "-").concat(G.cssPrefix, "-").concat(n) : o;
return [{
tag: "svg",
attributes: {
style: "display: none;"
},
children: [{
tag: "symbol",
attributes: C(C({}, a), {}, {
id: i
}),
children: r
}]
}];
}
function ui(e) {
const {
icons: {
main: t,
mask: n
},
prefix: r,
iconName: a,
transform: o,
symbol: i,
title: s,
maskId: c,
titleId: l,
extra: u,
watchable: f = !1
} = e, {
width: d,
height: y
} = n.found ? n : t, v = ry.includes(r), m = [G.replacementClass, a ? "".concat(G.cssPrefix, "-").concat(a) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" ");
let p = {
children: [],
attributes: C(C({}, u.attributes), {}, {
"data-prefix": r,
"data-icon": a,
class: m,
role: u.attributes.role || "img",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 ".concat(d, " ").concat(y)
})
};
const b = v && !~u.classes.indexOf("fa-fw") ? {
width: "".concat(d / y * 16 * 0.0625, "em")
} : {};
f && (p.attributes[Mt] = ""), s && (p.children.push({
tag: "title",
attributes: {
id: p.attributes["aria-labelledby"] || "title-".concat(l || Fn())
},
children: [s]
}), delete p.attributes.title);
const A = C(C({}, p), {}, {
prefix: r,
iconName: a,
main: t,
mask: n,
maskId: c,
transform: o,
symbol: i,
styles: C(C({}, b), u.styles)
}), {
children: w,
attributes: P
} = n.found && t.found ? Ot("generateAbstractMask", A) || {
children: [],
attributes: {}
} : Ot("generateAbstractIcon", A) || {
children: [],
attributes: {}
};
return A.children = w, A.attributes = P, i ? rb(A) : nb(A);
}
function Xs(e) {
const {
content: t,
width: n,
height: r,
transform: a,
title: o,
extra: i,
watchable: s = !1
} = e, c = C(C(C({}, i.attributes), o ? {
title: o
} : {}), {}, {
class: i.classes.join(" ")
});
s && (c[Mt] = "");
const l = C({}, i.styles);
si(a) && (l.transform = Iy({
transform: a,
startCentered: !0,
width: n,
height: r
}), l["-webkit-transform"] = l.transform);
const u = Wr(l);
u.length > 0 && (c.style = u);
const f = [];
return f.push({
tag: "span",
attributes: c,
children: [t]
}), o && f.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [o]
}), f;
}
function ab(e) {
const {
content: t,
title: n,
extra: r
} = e, a = C(C(C({}, r.attributes), n ? {
title: n
} : {}), {}, {
class: r.classes.join(" ")
}), o = Wr(r.styles);
o.length > 0 && (a.style = o);
const i = [];
return i.push({
tag: "span",
attributes: a,
children: [t]
}), n && i.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [n]
}), i;
}
const {
styles: Oa
} = Xe;
function Eo(e) {
const t = e[0], n = e[1], [r] = e.slice(4);
let a = null;
return Array.isArray(r) ? a = {
tag: "g",
attributes: {
class: "".concat(G.cssPrefix, "-").concat(Aa.GROUP)
},
children: [{
tag: "path",
attributes: {
class: "".concat(G.cssPrefix, "-").concat(Aa.SECONDARY),
fill: "currentColor",
d: r[0]
}
}, {
tag: "path",
attributes: {
class: "".concat(G.cssPrefix, "-").concat(Aa.PRIMARY),
fill: "currentColor",
d: r[1]
}
}]
} : a = {
tag: "path",
attributes: {
fill: "currentColor",
d: r
}
}, {
found: !0,
width: t,
height: n,
icon: a
};
}
const ob = {
found: !1,
width: 512,
height: 512
};
function ib(e, t) {
!Au && !G.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
}
function So(e, t) {
let n = t;
return t === "fa" && G.styleDefault !== null && (t = kt()), new Promise((r, a) => {
if (n === "fa") {
const o = $u(e) || {};
e = o.iconName || e, t = o.prefix || t;
}
if (e && t && Oa[t] && Oa[t][e]) {
const o = Oa[t][e];
return r(Eo(o));
}
ib(e, t), r(C(C({}, ob), {}, {
icon: G.showMissingIcons && e ? Ot("missingIconAbstract") || {} : {}
}));
});
}
const Ks = () => {
}, Ao = G.measurePerformance && ir && ir.mark && ir.measure ? ir : {
mark: Ks,
measure: Ks
}, vn = 'FA "6.7.2"', sb = (e) => (Ao.mark("".concat(vn, " ").concat(e, " begins")), () => Vu(e)), Vu = (e) => {
Ao.mark("".concat(vn, " ").concat(e, " ends")), Ao.measure("".concat(vn, " ").concat(e), "".concat(vn, " ").concat(e, " begins"), "".concat(vn, " ").concat(e, " ends"));
};
var fi = {
begin: sb,
end: Vu
};
const pr = () => {
};
function Qs(e) {
return typeof (e.getAttribute ? e.getAttribute(Mt) : null) == "string";
}
function lb(e) {
const t = e.getAttribute ? e.getAttribute(ri) : null, n = e.getAttribute ? e.getAttribute(ai) : null;
return t && n;
}
function cb(e) {
return e && e.classList && e.classList.contains && e.classList.contains(G.replacementClass);
}
function ub() {
return G.autoReplaceSvg === !0 ? hr.replace : hr[G.autoReplaceSvg] || hr.replace;
}
function fb(e) {
return xe.createElementNS("http://www.w3.org/2000/svg", e);
}
function db(e) {
return xe.createElement(e);
}
function Yu(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
ceFn: n = e.tag === "svg" ? fb : db
} = t;
if (typeof e == "string")
return xe.createTextNode(e);
const r = n(e.tag);
return Object.keys(e.attributes || []).forEach(function(a) {
r.setAttribute(a, e.attributes[a]);
}), (e.children || []).forEach(function(a) {
r.appendChild(Yu(a, {
ceFn: n
}));
}), r;
}
function mb(e) {
let t = " ".concat(e.outerHTML, " ");
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
}
const hr = {
replace: function(e) {
const t = e[0];
if (t.parentNode)
if (e[1].forEach((n) => {
t.parentNode.insertBefore(Yu(n), t);
}), t.getAttribute(Mt) === null && G.keepOriginalSource) {
let n = xe.createComment(mb(t));
t.parentNode.replaceChild(n, t);
} else
t.remove();
},
nest: function(e) {
const t = e[0], n = e[1];
if (~ii(t).indexOf(G.replacementClass))
return hr.replace(e);
const r = new RegExp("".concat(G.cssPrefix, "-.*"));
if (delete n[0].attributes.id, n[0].attributes.class) {
const o = n[0].attributes.class.split(" ").reduce((i, s) => (s === G.replacementClass || s.match(r) ? i.toSvg.push(s) : i.toNode.push(s), i), {
toNode: [],
toSvg: []
});
n[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
}
const a = n.map((o) => Hn(o)).join(`
`);
t.setAttribute(Mt, ""), t.innerHTML = a;
}
};
function Zs(e) {
e();
}
function Gu(e, t) {
const n = typeof t == "function" ? t : pr;
if (e.length === 0)
n();
else {
let r = Zs;
G.mutateApproach === gy && (r = Pt.requestAnimationFrame || Zs), r(() => {
const a = ub(), o = fi.begin("mutate");
e.map(a), o(), n();
});
}
}
let di = !1;
function Bu() {
di = !0;
}
function Po() {
di = !1;
}
let Ar = null;
function Js(e) {
if (!Ls || !G.observeMutations)
return;
const {
treeCallback: t = pr,
nodeCallback: n = pr,
pseudoElementsCallback: r = pr,
observeMutationsRoot: a = xe
} = e;
Ar = new Ls((o) => {
if (di) return;
const i = kt();
sn(o).forEach((s) => {
if (s.type === "childList" && s.addedNodes.length > 0 && !Qs(s.addedNodes[0]) && (G.searchPseudoElements && r(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && G.searchPseudoElements && r(s.target.parentNode), s.type === "attributes" && Qs(s.target) && ~Ey.indexOf(s.attributeName))
if (s.attributeName === "class" && lb(s.target)) {
const {
prefix: c,
iconName: l
} = Vr(ii(s.target));
s.target.setAttribute(ri, c || i), l && s.target.setAttribute(ai, l);
} else cb(s.target) && n(s.target);
});
}), st && Ar.observe(a, {
childList: !0,
attributes: !0,
characterData: !0,
subtree: !0
});
}
function pb() {
Ar && Ar.disconnect();
}
function hb(e) {
const t = e.getAttribute("style");
let n = [];
return t && (n = t.split(";").reduce((r, a) => {
const o = a.split(":"), i = o[0], s = o.slice(1);
return i && s.length > 0 && (r[i] = s.join(":").trim()), r;
}, {})), n;
}
function gb(e) {
const t = e.getAttribute("data-prefix"), n = e.getAttribute("data-icon"), r = e.innerText !== void 0 ? e.innerText.trim() : "";
let a = Vr(ii(e));
return a.prefix || (a.prefix = kt()), t && n && (a.prefix = t, a.iconName = n), a.iconName && a.prefix || (a.prefix && r.length > 0 && (a.iconName = Wy(a.prefix, e.innerText) || ci(a.prefix, Nu(e.innerText))), !a.iconName && G.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
}
function yb(e) {
const t = sn(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), n = e.getAttribute("title"), r = e.getAttribute("data-fa-title-id");
return G.autoA11y && (n ? t["aria-labelledby"] = "".concat(G.replacementClass, "-title-").concat(r || Fn()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
}
function bb() {
return {
iconName: null,
title: null,
titleId: null,
prefix: null,
transform: He,
symbol: !1,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
extra: {
classes: [],
styles: {},
attributes: {}
}
};
}
function el(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
styleParser: !0
};
const {
iconName: n,
prefix: r,
rest: a
} = gb(e), o = yb(e), i = xo("parseNodeAttributes", {}, e);
let s = t.styleParser ? hb(e) : [];
return C({
iconName: n,
title: e.getAttribute("title"),
titleId: e.getAttribute("data-fa-title-id"),
prefix: r,
transform: He,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
symbol: !1,
extra: {
classes: a,
styles: s,
attributes: o
}
}, i);
}
const {
styles: vb
} = Xe;
function qu(e) {
const t = G.autoReplaceSvg === "nest" ? el(e, {
styleParser: !1
}) : el(e);
return ~t.extra.classes.indexOf(ku) ? Ot("generateLayersText", e, t) : Ot("generateSvgReplacementMutation", e, t);
}
function xb() {
return [...ey, ...mo];
}
function tl(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
if (!st) return Promise.resolve();
const n = xe.documentElement.classList, r = (u) => n.add("".concat(Us, "-").concat(u)), a = (u) => n.remove("".concat(Us, "-").concat(u)), o = G.autoFetchSvg ? xb() : vu.concat(Object.keys(vb));
o.includes("fa") || o.push("fa");
const i = [".".concat(ku, ":not([").concat(Mt, "])")].concat(o.map((u) => ".".concat(u, ":not([").concat(Mt, "])"))).join(", ");
if (i.length === 0)
return Promise.resolve();
let s = [];
try {
s = sn(e.querySelectorAll(i));
} catch {
}
if (s.length > 0)
r("pending"), a("complete");
else
return Promise.resolve();
const c = fi.begin("onTree"), l = s.reduce((u, f) => {
try {
const d = qu(f);
d && u.push(d);
} catch (d) {
Au || d.name === "MissingIcon" && console.error(d);
}
return u;
}, []);
return new Promise((u, f) => {
Promise.all(l).then((d) => {
Gu(d, () => {
r("active"), r("complete"), a("pending"), typeof t == "function" && t(), c(), u();
});
}).catch((d) => {
c(), f(d);
});
});
}
function wb(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
qu(e).then((n) => {
n && Gu([n], t);
});
}
function Eb(e) {
return function(t) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const r = (t || {}).icon ? t : wo(t || {});
let {
mask: a
} = n;
return a && (a = (a || {}).icon ? a : wo(a || {})), e(r, C(C({}, n), {}, {
mask: a
}));
};
}
const Sb = function(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = He,
symbol: r = !1,
mask: a = null,
maskId: o = null,
title: i = null,
titleId: s = null,
classes: c = [],
attributes: l = {},
styles: u = {}
} = t;
if (!e) return;
const {
prefix: f,
iconName: d,
icon: y
} = e;
return Yr(C({
type: "icon"
}, e), () => (Ft("beforeDOMElementCreation", {
iconDefinition: e,
params: t
}), G.autoA11y && (i ? l["aria-labelledby"] = "".concat(G.replacementClass, "-title-").concat(s || Fn()) : (l["aria-hidden"] = "true", l.focusable = "false")), ui({
icons: {
main: Eo(y),
mask: a ? Eo(a.icon) : {
found: !1,
width: null,
height: null,
icon: {}
}
},
prefix: f,
iconName: d,
transform: C(C({}, He), n),
symbol: r,
title: i,
maskId: o,
titleId: s,
extra: {
attributes: l,
styles: u,
classes: c
}
})));
};
var Ab = {
mixout() {
return {
icon: Eb(Sb)
};
},
hooks() {
return {
mutationObserverCallbacks(e) {
return e.treeCallback = tl, e.nodeCallback = wb, e;
}
};
},
provides(e) {
e.i2svg = function(t) {
const {
node: n = xe,
callback: r = () => {
}
} = t;
return tl(n, r);
}, e.generateSvgReplacementMutation = function(t, n) {
const {
iconName: r,
title: a,
titleId: o,
prefix: i,
transform: s,
symbol: c,
mask: l,
maskId: u,
extra: f
} = n;
return new Promise((d, y) => {
Promise.all([So(r, i), l.iconName ? So(l.iconName, l.prefix) : Promise.resolve({
found: !1,
width: 512,
height: 512,
icon: {}
})]).then((v) => {
let [m, p] = v;
d([t, ui({
icons: {
main: m,
mask: p
},
prefix: i,
iconName: r,
transform: s,
symbol: c,
maskId: u,
title: a,
titleId: o,
extra: f,
watchable: !0
})]);
}).catch(y);
});
}, e.generateAbstractIcon = function(t) {
let {
children: n,
attributes: r,
main: a,
transform: o,
styles: i
} = t;
const s = Wr(i);
s.length > 0 && (r.style = s);
let c;
return si(o) && (c = Ot("generateAbstractTransformGrouping", {
main: a,
transform: o,
containerWidth: a.width,
iconWidth: a.width
})), n.push(c || a.icon), {
children: n,
attributes: r
};
};
}
}, Pb = {
mixout() {
return {
layer(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
classes: n = []
} = t;
return Yr({
type: "layer"
}, () => {
Ft("beforeDOMElementCreation", {
assembler: e,
params: t
});
let r = [];
return e((a) => {
Array.isArray(a) ? a.map((o) => {
r = r.concat(o.abstract);
}) : r = r.concat(a.abstract);
}), [{
tag: "span",
attributes: {
class: ["".concat(G.cssPrefix, "-layers"), ...n].join(" ")
},
children: r
}];
});
}
};
}
}, kb = {
mixout() {
return {
counter(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
title: n = null,
classes: r = [],
attributes: a = {},
styles: o = {}
} = t;
return Yr({
type: "counter",
content: e
}, () => (Ft("beforeDOMElementCreation", {
content: e,
params: t
}), ab({
content: e.toString(),
title: n,
extra: {
attributes: a,
styles: o,
classes: ["".concat(G.cssPrefix, "-layers-counter"), ...r]
}
})));
}
};
}
}, Ob = {
mixout() {
return {
text(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = He,
title: r = null,
classes: a = [],
attributes: o = {},
styles: i = {}
} = t;
return Yr({
type: "text",
content: e
}, () => (Ft("beforeDOMElementCreation", {
content: e,
params: t
}), Xs({
content: e,
transform: C(C({}, He), n),
title: r,
extra: {
attributes: o,
styles: i,
classes: ["".concat(G.cssPrefix, "-layers-text"), ...a]
}
})));
}
};
},
provides(e) {
e.generateLayersText = function(t, n) {
const {
title: r,
transform: a,
extra: o
} = n;
let i = null, s = null;
if (yu) {
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
i = l.width / c, s = l.height / c;
}
return G.autoA11y && !r && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, Xs({
content: t.innerHTML,
width: i,
height: s,
transform: a,
title: r,
extra: o,
watchable: !0
})]);
};
}
};
const Cb = new RegExp('"', "ug"), nl = [1105920, 1112319], rl = C(C(C(C({}, {
FontAwesome: {
normal: "fas",
400: "fas"
}
}), Qg), py), sy), ko = Object.keys(rl).reduce((e, t) => (e[t.toLowerCase()] = rl[t], e), {}), Tb = Object.keys(ko).reduce((e, t) => {
const n = ko[t];
return e[t] = n[900] || [...Object.entries(n)][0][1], e;
}, {});
function _b(e) {
const t = e.replace(Cb, ""), n = Dy(t, 0), r = n >= nl[0] && n <= nl[1], a = t.length === 2 ? t[0] === t[1] : !1;
return {
value: Nu(a ? t[0] : t),
isSecondary: r || a
};
}
function Ib(e, t) {
const n = e.replace(/^['"]|['"]$/g, "").toLowerCase(), r = parseInt(t), a = isNaN(r) ? "normal" : r;
return (ko[n] || {})[a] || Tb[n];
}
function al(e, t) {
const n = "".concat(hy).concat(t.replace(":", "-"));
return new Promise((r, a) => {
if (e.getAttribute(n) !== null)
return r();
const o = sn(e.children).filter((f) => f.getAttribute(ho) === t)[0], i = Pt.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(xy), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
if (o && !c)
return e.removeChild(o), r();
if (c && u !== "none" && u !== "") {
const f = i.getPropertyValue("content");
let d = Ib(s, l);
const {
value: y,
isSecondary: v
} = _b(f), m = c[0].startsWith("FontAwesome");
let p = ci(d, y), b = p;
if (m) {
const A = Uy(y);
A.iconName && A.prefix && (p = A.iconName, d = A.prefix);
}
if (p && !v && (!o || o.getAttribute(ri) !== d || o.getAttribute(ai) !== b)) {
e.setAttribute(n, b), o && e.removeChild(o);
const A = bb(), {
extra: w
} = A;
w.attributes[ho] = t, So(p, d).then((P) => {
const h = ui(C(C({}, A), {}, {
icons: {
main: P,
mask: Wu()
},
prefix: d,
iconName: b,
extra: w,
watchable: !0
})), H = xe.createElementNS("http://www.w3.org/2000/svg", "svg");
t === "::before" ? e.insertBefore(H, e.firstChild) : e.appendChild(H), H.outerHTML = h.map((j) => Hn(j)).join(`
`), e.removeAttribute(n), r();
}).catch(a);
} else
r();
} else
r();
});
}
function Nb(e) {
return Promise.all([al(e, "::before"), al(e, "::after")]);
}
function Rb(e) {
return e.parentNode !== document.head && !~yy.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(ho) && (!e.parentNode || e.parentNode.tagName !== "svg");
}
function ol(e) {
if (st)
return new Promise((t, n) => {
const r = sn(e.querySelectorAll("*")).filter(Rb).map(Nb), a = fi.begin("searchPseudoElements");
Bu(), Promise.all(r).then(() => {
a(), Po(), t();
}).catch(() => {
a(), Po(), n();
});
});
}
var Mb = {
hooks() {
return {
mutationObserverCallbacks(e) {
return e.pseudoElementsCallback = ol, e;
}
};
},
provides(e) {
e.pseudoElements2svg = function(t) {
const {
node: n = xe
} = t;
G.searchPseudoElements && ol(n);
};
}
};
let il = !1;
var Fb = {
mixout() {
return {
dom: {
unwatch() {
Bu(), il = !0;
}
}
};
},
hooks() {
return {
bootstrap() {
Js(xo("mutationObserverCallbacks", {}));
},
noAuto() {
pb();
},
watch(e) {
const {
observeMutationsRoot: t
} = e;
il ? Po() : Js(xo("mutationObserverCallbacks", {
observeMutationsRoot: t
}));
}
};
}
};
const sl = (e) => {
let t = {
size: 16,
x: 0,
y: 0,
flipX: !1,
flipY: !1,
rotate: 0
};
return e.toLowerCase().split(" ").reduce((n, r) => {
const a = r.toLowerCase().split("-"), o = a[0];
let i = a.slice(1).join("-");
if (o && i === "h")
return n.flipX = !0, n;
if (o && i === "v")
return n.flipY = !0, n;
if (i = parseFloat(i), isNaN(i))
return n;
switch (o) {
case "grow":
n.size = n.size + i;
break;
case "shrink":
n.size = n.size - i;
break;
case "left":
n.x = n.x - i;
break;
case "right":
n.x = n.x + i;
break;
case "up":
n.y = n.y - i;
break;
case "down":
n.y = n.y + i;
break;
case "rotate":
n.rotate = n.rotate + i;
break;
}
return n;
}, t);
};
var Db = {
mixout() {
return {
parse: {
transform: (e) => sl(e)
}
};
},
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-transform");
return n && (e.transform = sl(n)), e;
}
};
},
provides(e) {
e.generateAbstractTransformGrouping = function(t) {
let {
main: n,
transform: r,
containerWidth: a,
iconWidth: o
} = t;
const i = {
transform: "translate(".concat(a / 2, " 256)")
}, s = "translate(".concat(r.x * 32, ", ").concat(r.y * 32, ") "), c = "scale(".concat(r.size / 16 * (r.flipX ? -1 : 1), ", ").concat(r.size / 16 * (r.flipY ? -1 : 1), ") "), l = "rotate(".concat(r.rotate, " 0 0)"), u = {
transform: "".concat(s, " ").concat(c, " ").concat(l)
}, f = {
transform: "translate(".concat(o / 2 * -1, " -256)")
}, d = {
outer: i,
inner: u,
path: f
};
return {
tag: "g",
attributes: C({}, d.outer),
children: [{
tag: "g",
attributes: C({}, d.inner),
children: [{
tag: n.icon.tag,
children: n.icon.children,
attributes: C(C({}, n.icon.attributes), d.path)
}]
}]
};
};
}
};
const Ca = {
x: 0,
y: 0,
width: "100%",
height: "100%"
};
function ll(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 jb(e) {
return e.tag === "g" ? e.children : [e];
}
var zb = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-mask"), r = n ? Vr(n.split(" ").map((a) => a.trim())) : Wu();
return r.prefix || (r.prefix = kt()), e.mask = r, e.maskId = t.getAttribute("data-fa-mask-id"), e;
}
};
},
provides(e) {
e.generateAbstractMask = function(t) {
let {
children: n,
attributes: r,
main: a,
mask: o,
maskId: i,
transform: s
} = t;
const {
width: c,
icon: l
} = a, {
width: u,
icon: f
} = o, d = _y({
transform: s,
containerWidth: u,
iconWidth: c
}), y = {
tag: "rect",
attributes: C(C({}, Ca), {}, {
fill: "white"
})
}, v = l.children ? {
children: l.children.map(ll)
} : {}, m = {
tag: "g",
attributes: C({}, d.inner),
children: [ll(C({
tag: l.tag,
attributes: C(C({}, l.attributes), d.path)
}, v))]
}, p = {
tag: "g",
attributes: C({}, d.outer),
children: [m]
}, b = "mask-".concat(i || Fn()), A = "clip-".concat(i || Fn()), w = {
tag: "mask",
attributes: C(C({}, Ca), {}, {
id: b,
maskUnits: "userSpaceOnUse",
maskContentUnits: "userSpaceOnUse"
}),
children: [y, p]
}, P = {
tag: "defs",
children: [{
tag: "clipPath",
attributes: {
id: A
},
children: jb(f)
}, w]
};
return n.push(P, {
tag: "rect",
attributes: C({
fill: "currentColor",
"clip-path": "url(#".concat(A, ")"),
mask: "url(#".concat(b, ")")
}, Ca)
}), {
children: n,
attributes: r
};
};
}
}, Lb = {
provides(e) {
let t = !1;
Pt.matchMedia && (t = Pt.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
const n = [], r = {
fill: "currentColor"
}, a = {
attributeType: "XML",
repeatCount: "indefinite",
dur: "2s"
};
n.push({
tag: "path",
attributes: C(C({}, r), {}, {
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 o = C(C({}, a), {}, {
attributeName: "opacity"
}), i = {
tag: "circle",
attributes: C(C({}, r), {}, {
cx: "256",
cy: "364",
r: "28"
}),
children: []
};
return t || i.children.push({
tag: "animate",
attributes: C(C({}, a), {}, {
attributeName: "r",
values: "28;14;28;28;14;28;"
})
}, {
tag: "animate",
attributes: C(C({}, o), {}, {
values: "1;0;1;1;0;1;"
})
}), n.push(i), n.push({
tag: "path",
attributes: C(C({}, r), {}, {
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: C(C({}, o), {}, {
values: "1;0;0;0;0;1;"
})
}]
}), t || n.push({
tag: "path",
attributes: C(C({}, r), {}, {
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: C(C({}, o), {}, {
values: "0;0;1;1;0;0;"
})
}]
}), {
tag: "g",
attributes: {
class: "missing"
},
children: n
};
};
}
}, $b = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-symbol"), r = n === null ? !1 : n === "" ? !0 : n;
return e.symbol = r, e;
}
};
}
}, Wb = [Ry, Ab, Pb, kb, Ob, Mb, Fb, Db, zb, Lb, $b];
Qy(Wb, {
mixoutsTo: Me
});
Me.noAuto;
Me.config;
Me.library;
Me.dom;
const Oo = Me.parse;
Me.findIconDefinition;
Me.toHtml;
const Ub = Me.icon;
Me.layer;
Me.text;
Me.counter;
function Vb(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var lr = { exports: {} }, Ta = { exports: {} }, me = {};
/** @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 cl;
function Yb() {
if (cl) return me;
cl = 1;
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, A = e ? Symbol.for("react.scope") : 60119;
function w(h) {
if (typeof h == "object" && h !== null) {
var H = h.$$typeof;
switch (H) {
case t:
switch (h = h.type, h) {
case c:
case l:
case r:
case o:
case a:
case f:
return h;
default:
switch (h = h && h.$$typeof, h) {
case s:
case u:
case v:
case y:
case i:
return h;
default:
return H;
}
}
case n:
return H;
}
}
}
function P(h) {
return w(h) === l;
}
return me.AsyncMode = c, me.ConcurrentMode = l, me.ContextConsumer = s, me.ContextProvider = i, me.Element = t, me.ForwardRef = u, me.Fragment = r, me.Lazy = v, me.Memo = y, me.Portal = n, me.Profiler = o, me.StrictMode = a, me.Suspense = f, me.isAsyncMode = function(h) {
return P(h) || w(h) === c;
}, me.isConcurrentMode = P, me.isContextConsumer = function(h) {
return w(h) === s;
}, me.isContextProvider = function(h) {
return w(h) === i;
}, me.isElement = function(h) {
return typeof h == "object" && h !== null && h.$$typeof === t;
}, me.isForwardRef = function(h) {
return w(h) === u;
}, me.isFragment = function(h) {
return w(h) === r;
}, me.isLazy = function(h) {
return w(h) === v;
}, me.isMemo = function(h) {
return w(h) === y;
}, me.isPortal = function(h) {
return w(h) === n;
}, me.isProfiler = function(h) {
return w(h) === o;
}, me.isStrictMode = function(h) {
return w(h) === a;
}, me.isSuspense = function(h) {
return w(h) === f;
}, me.isValidElementType = function(h) {
return typeof h == "string" || typeof h == "function" || h === r || h === l || h === o || h === a || h === f || h === d || typeof h == "object" && h !== null && (h.$$typeof === v || h.$$typeof === y || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === p || h.$$typeof === b || h.$$typeof === A || h.$$typeof === m);
}, me.typeOf = w, me;
}
var pe = {};
/** @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 ul;
function Gb() {
return ul || (ul = 1, process.env.NODE_ENV !== "production" && function() {
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, A = e ? Symbol.for("react.scope") : 60119;
function w(E) {
return typeof E == "string" || typeof E == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
E === r || E === l || E === o || E === a || E === f || E === d || typeof E == "object" && E !== null && (E.$$typeof === v || E.$$typeof === y || E.$$typeof === i || E.$$typeof === s || E.$$typeof === u || E.$$typeof === p || E.$$typeof === b || E.$$typeof === A || E.$$typeof === m);
}
function P(E) {
if (typeof E == "object" && E !== null) {
var we = E.$$typeof;
switch (we) {
case t:
var Se = E.type;
switch (Se) {
case c:
case l:
case r:
case o:
case a:
case f:
return Se;
default:
var Ze = Se && Se.$$typeof;
switch (Ze) {
case s:
case u:
case v:
case y:
case i:
return Ze;
default:
return we;
}
}
case n:
return we;
}
}
}
var h = c, H = l, j = s, K = i, J = t, oe = u, le = r, U = v, ge = y, $ = n, k = o, L = a, Q = f, B = !1;
function ie(E) {
return B || (B = !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.")), g(E) || P(E) === c;
}
function g(E) {
return P(E) === l;
}
function x(E) {
return P(E) === s;
}
function _(E) {
return P(E) === i;
}
function D(E) {
return typeof E == "object" && E !== null && E.$$typeof === t;
}
function I(E) {
return P(E) === u;
}
function F(E) {
return P(E) === r;
}
function R(E) {
return P(E) === v;
}
function N(E) {
return P(E) === y;
}
function z(E) {
return P(E) === n;
}
function M(E) {
return P(E) === o;
}
function W(E) {
return P(E) === a;
}
function ce(E) {
return P(E) === f;
}
pe.AsyncMode = h, pe.ConcurrentMode = H, pe.ContextConsumer = j, pe.ContextProvider = K, pe.Element = J, pe.ForwardRef = oe, pe.Fragment = le, pe.Lazy = U, pe.Memo = ge, pe.Portal = $, pe.Profiler = k, pe.StrictMode = L, pe.Suspense = Q, pe.isAsyncMode = ie, pe.isConcurrentMode = g, pe.isContextConsumer = x, pe.isContextProvider = _, pe.isElement = D, pe.isForwardRef = I, pe.isFragment = F, pe.isLazy = R, pe.isMemo = N, pe.isPortal = z, pe.isProfiler = M, pe.isStrictMode = W, pe.isSuspense = ce, pe.isValidElementType = w, pe.typeOf = P;
}()), pe;
}
var fl;
function Hu() {
return fl || (fl = 1, process.env.NODE_ENV === "production" ? Ta.exports = Yb() : Ta.exports = Gb()), Ta.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var _a, dl;
function Bb() {
if (dl) return _a;
dl = 1;
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable;
function r(o) {
if (o == null)
throw new TypeError("Object.assign cannot be called with null or undefined");
return Object(o);
}
function a() {
try {
if (!Object.assign)
return !1;
var o = new String("abc");
if (o[5] = "de", Object.getOwnPropertyNames(o)[0] === "5")
return !1;
for (var i = {}, s = 0; s < 10; s++)
i["_" + String.fromCharCode(s)] = s;
var c = Object.getOwnPropertyNames(i).map(function(u) {
return i[u];
});
if (c.join("") !== "0123456789")
return !1;
var l = {};
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
l[u] = u;
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
} catch {
return !1;
}
}
return _a = a() ? Object.assign : function(o, i) {
for (var s, c = r(o), l, u = 1; u < arguments.length; u++) {
s = Object(arguments[u]);
for (var f in s)
t.call(s, f) && (c[f] = s[f]);
if (e) {
l = e(s);
for (var d = 0; d < l.length; d++)
n.call(s, l[d]) && (c[l[d]] = s[l[d]]);
}
}
return c;
}, _a;
}
var Ia, ml;
function mi() {
if (ml) return Ia;
ml = 1;
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
return Ia = e, Ia;
}
var pl, hl;
function Xu() {
return hl || (hl = 1, pl = Function.call.bind(Object.prototype.hasOwnProperty)), pl;
}
var Na, gl;
function qb() {
if (gl) return Na;
gl = 1;
var e = function() {
};
if (process.env.NODE_ENV !== "production") {
var t = /* @__PURE__ */ mi(), n = {}, r = /* @__PURE__ */ Xu();
e = function(o) {
var i = "Warning: " + o;
typeof console < "u" && console.error(i);
try {
throw new Error(i);
} catch {
}
};
}
function a(o, i, s, c, l) {
if (process.env.NODE_ENV !== "production") {
for (var u in o)
if (r(o, u)) {
var f;
try {
if (typeof o[u] != "function") {
var d = Error(
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
);
throw d.name = "Invariant Violation", d;
}
f = o[u](i, u, c, s, null, t);
} catch (v) {
f = v;
}
if (f && !(f instanceof Error) && e(
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
), f instanceof Error && !(f.message in n)) {
n[f.message] = !0;
var y = l ? l() : "";
e(
"Failed " + s + " type: " + f.message + (y ?? "")
);
}
}
}
}
return a.resetWarningCache = function() {
process.env.NODE_ENV !== "production" && (n = {});
}, Na = a, Na;
}
var Ra, yl;
function Hb() {
if (yl) return Ra;
yl = 1;
var e = Hu(), t = Bb(), n = /* @__PURE__ */ mi(), r = /* @__PURE__ */ Xu(), a = /* @__PURE__ */ qb(), o = function() {
};
process.env.NODE_ENV !== "production" && (o = function(s) {
var c = "Warning: " + s;
typeof console < "u" && console.error(c);
try {
throw new Error(c);
} catch {
}
});
function i() {
return null;
}
return Ra = function(s, c) {
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
function f(g) {
var x = g && (l && g[l] || g[u]);
if (typeof x == "function")
return x;
}
var d = "<<anonymous>>", y = {
array: b("array"),
bigint: b("bigint"),
bool: b("boolean"),
func: b("function"),
number: b("number"),
object: b("object"),
string: b("string"),
symbol: b("symbol"),
any: A(),
arrayOf: w,
element: P(),
elementType: h(),
instanceOf: H,
node: oe(),
objectOf: K,
oneOf: j,
oneOfType: J,
shape: U,
exact: ge
};
function v(g, x) {
return g === x ? g !== 0 || 1 / g === 1 / x : g !== g && x !== x;
}
function m(g, x) {
this.message = g, this.data = x && typeof x == "object" ? x : {}, this.stack = "";
}
m.prototype = Error.prototype;
function p(g) {
if (process.env.NODE_ENV !== "production")
var x = {}, _ = 0;
function D(F, R, N, z, M, W, ce) {
if (z = z || d, W = W || N, ce !== n) {
if (c) {
var E = 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 E.name = "Invariant Violation", E;
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
var we = z + ":" + N;
!x[we] && // Avoid spamming the console because they are often not actionable except for lib authors
_ < 3 && (o(
"You are manually calling a React.PropTypes validation function for the `" + W + "` prop on `" + z + "`. 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."
), x[we] = !0, _++);
}
}
return R[N] == null ? F ? R[N] === null ? new m("The " + M + " `" + W + "` is marked as required " + ("in `" + z + "`, but its value is `null`.")) : new m("The " + M + " `" + W + "` is marked as required in " + ("`" + z + "`, but its value is `undefined`.")) : null : g(R, N, z, M, W);
}
var I = D.bind(null, !1);
return I.isRequired = D.bind(null, !0), I;
}
function b(g) {
function x(_, D, I, F, R, N) {
var z = _[D], M = L(z);
if (M !== g) {
var W = Q(z);
return new m(
"Invalid " + F + " `" + R + "` of type " + ("`" + W + "` supplied to `" + I + "`, expected ") + ("`" + g + "`."),
{ expectedType: g }
);
}
return null;
}
return p(x);
}
function A() {
return p(i);
}
function w(g) {
function x(_, D, I, F, R) {
if (typeof g != "function")
return new m("Property `" + R + "` of component `" + I + "` has invalid PropType notation inside arrayOf.");
var N = _[D];
if (!Array.isArray(N)) {
var z = L(N);
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected an array."));
}
for (var M = 0; M < N.length; M++) {
var W = g(N, M, I, F, R + "[" + M + "]", n);
if (W instanceof Error)
return W;
}
return null;
}
return p(x);
}
function P() {
function g(x, _, D, I, F) {
var R = x[_];
if (!s(R)) {
var N = L(R);
return new m("Invalid " + I + " `" + F + "` of type " + ("`" + N + "` supplied to `" + D + "`, expected a single ReactElement."));
}
return null;
}
return p(g);
}
function h() {
function g(x, _, D, I, F) {
var R = x[_];
if (!e.isValidElementType(R)) {
var N = L(R);
return new m("Invalid " + I + " `" + F + "` of type " + ("`" + N + "` supplied to `" + D + "`, expected a single ReactElement type."));
}
return null;
}
return p(g);
}
function H(g) {
function x(_, D, I, F, R) {
if (!(_[D] instanceof g)) {
var N = g.name || d, z = ie(_[D]);
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected ") + ("instance of `" + N + "`."));
}
return null;
}
return p(x);
}
function j(g) {
if (!Array.isArray(g))
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
"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])."
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
function x(_, D, I, F, R) {
for (var N = _[D], z = 0; z < g.length; z++)
if (v(N, g[z]))
return null;
var M = JSON.stringify(g, function(W, ce) {
var E = Q(ce);
return E === "symbol" ? String(ce) : ce;
});
return new m("Invalid " + F + " `" + R + "` of value `" + String(N) + "` " + ("supplied to `" + I + "`, expected one of " + M + "."));
}
return p(x);
}
function K(g) {
function x(_, D, I, F, R) {
if (typeof g != "function")
return new m("Property `" + R + "` of component `" + I + "` has invalid PropType notation inside objectOf.");
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type " + ("`" + z + "` supplied to `" + I + "`, expected an object."));
for (var M in N)
if (r(N, M)) {
var W = g(N, M, I, F, R + "." + M, n);
if (W instanceof Error)
return W;
}
return null;
}
return p(x);
}
function J(g) {
if (!Array.isArray(g))
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
for (var x = 0; x < g.length; x++) {
var _ = g[x];
if (typeof _ != "function")
return o(
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + B(_) + " at index " + x + "."
), i;
}
function D(I, F, R, N, z) {
for (var M = [], W = 0; W < g.length; W++) {
var ce = g[W], E = ce(I, F, R, N, z, n);
if (E == null)
return null;
E.data && r(E.data, "expectedType") && M.push(E.data.expectedType);
}
var we = M.length > 0 ? ", expected one of type [" + M.join(", ") + "]" : "";
return new m("Invalid " + N + " `" + z + "` supplied to " + ("`" + R + "`" + we + "."));
}
return p(D);
}
function oe() {
function g(x, _, D, I, F) {
return $(x[_]) ? null : new m("Invalid " + I + " `" + F + "` supplied to " + ("`" + D + "`, expected a ReactNode."));
}
return p(g);
}
function le(g, x, _, D, I) {
return new m(
(g || "React class") + ": " + x + " type `" + _ + "." + D + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + I + "`."
);
}
function U(g) {
function x(_, D, I, F, R) {
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type `" + z + "` " + ("supplied to `" + I + "`, expected `object`."));
for (var M in g) {
var W = g[M];
if (typeof W != "function")
return le(I, F, R, M, Q(W));
var ce = W(N, M, I, F, R + "." + M, n);
if (ce)
return ce;
}
return null;
}
return p(x);
}
function ge(g) {
function x(_, D, I, F, R) {
var N = _[D], z = L(N);
if (z !== "object")
return new m("Invalid " + F + " `" + R + "` of type `" + z + "` " + ("supplied to `" + I + "`, expected `object`."));
var M = t({}, _[D], g);
for (var W in M) {
var ce = g[W];
if (r(g, W) && typeof ce != "function")
return le(I, F, R, W, Q(ce));
if (!ce)
return new m(
"Invalid " + F + " `" + R + "` key `" + W + "` supplied to `" + I + "`.\nBad object: " + JSON.stringify(_[D], null, " ") + `
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
);
var E = ce(N, W, I, F, R + "." + W, n);
if (E)
return E;
}
return null;
}
return p(x);
}
function $(g) {
switch (typeof g) {
case "number":
case "string":
case "undefined":
return !0;
case "boolean":
return !g;
case "object":
if (Array.isArray(g))
return g.every($);
if (g === null || s(g))
return !0;
var x = f(g);
if (x) {
var _ = x.call(g), D;
if (x !== g.entries) {
for (; !(D = _.next()).done; )
if (!$(D.value))
return !1;
} else
for (; !(D = _.next()).done; ) {
var I = D.value;
if (I && !$(I[1]))
return !1;
}
} else
return !1;
return !0;
default:
return !1;
}
}
function k(g, x) {
return g === "symbol" ? !0 : x ? x["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && x instanceof Symbol : !1;
}
function L(g) {
var x = typeof g;
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : k(x, g) ? "symbol" : x;
}
function Q(g) {
if (typeof g > "u" || g === null)
return "" + g;
var x = L(g);
if (x === "object") {
if (g instanceof Date)
return "date";
if (g instanceof RegExp)
return "regexp";
}
return x;
}
function B(g) {
var x = Q(g);
switch (x) {
case "array":
case "object":
return "an " + x;
case "boolean":
case "date":
case "regexp":
return "a " + x;
default:
return x;
}
}
function ie(g) {
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
}
return y.checkPropTypes = a, y.resetWarningCache = a.resetWarningCache, y.PropTypes = y, y;
}, Ra;
}
var Ma, bl;
function Xb() {
if (bl) return Ma;
bl = 1;
var e = /* @__PURE__ */ mi();
function t() {
}
function n() {
}
return n.resetWarningCache = t, Ma = function() {
function r(i, s, c, l, u, f) {
if (f !== e) {
var d = 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 d.name = "Invariant Violation", d;
}
}
r.isRequired = r;
function a() {
return r;
}
var o = {
array: r,
bigint: r,
bool: r,
func: r,
number: r,
object: r,
string: r,
symbol: r,
any: r,
arrayOf: a,
element: r,
elementType: r,
instanceOf: a,
node: r,
objectOf: a,
oneOf: a,
oneOfType: a,
shape: a,
exact: a,
checkPropTypes: n,
resetWarningCache: t
};
return o.PropTypes = o, o;
}, Ma;
}
var vl;
function Kb() {
if (vl) return lr.exports;
if (vl = 1, process.env.NODE_ENV !== "production") {
var e = Hu(), t = !0;
lr.exports = /* @__PURE__ */ Hb()(e.isElement, t);
} else
lr.exports = /* @__PURE__ */ Xb()();
return lr.exports;
}
var Qb = /* @__PURE__ */ Kb();
const ae = /* @__PURE__ */ Vb(Qb);
function xl(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(a) {
return Object.getOwnPropertyDescriptor(e, a).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function Ye(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? xl(Object(n), !0).forEach(function(r) {
Bt(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : xl(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function Pr(e) {
"@babel/helpers - typeof";
return Pr = 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;
}, Pr(e);
}
function Bt(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function Zb(e, t) {
if (e == null) return {};
var n = {}, r = Object.keys(e), a, o;
for (o = 0; o < r.length; o++)
a = r[o], !(t.indexOf(a) >= 0) && (n[a] = e[a]);
return n;
}
function Jb(e, t) {
if (e == null) return {};
var n = Zb(e, t), r, a;
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
for (a = 0; a < o.length; a++)
r = o[a], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
}
return n;
}
function Co(e) {
return ev(e) || tv(e) || nv(e) || rv();
}
function ev(e) {
if (Array.isArray(e)) return To(e);
}
function tv(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
function nv(e, t) {
if (e) {
if (typeof e == "string") return To(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(e);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return To(e, t);
}
}
function To(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r;
}
function rv() {
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 av(e) {
var t, n = e.beat, r = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, v = e.border, m = e.listItem, p = e.flip, b = e.size, A = e.rotation, w = e.pull, P = (t = {
"fa-beat": n,
"fa-fade": r,
"fa-beat-fade": a,
"fa-bounce": o,
"fa-shake": i,
"fa-flash": s,
"fa-spin": c,
"fa-spin-reverse": u,
"fa-spin-pulse": l,
"fa-pulse": f,
"fa-fw": d,
"fa-inverse": y,
"fa-border": v,
"fa-li": m,
"fa-flip": p === !0,
"fa-flip-horizontal": p === "horizontal" || p === "both",
"fa-flip-vertical": p === "vertical" || p === "both"
}, Bt(t, "fa-".concat(b), typeof b < "u" && b !== null), Bt(t, "fa-rotate-".concat(A), typeof A < "u" && A !== null && A !== 0), Bt(t, "fa-pull-".concat(w), typeof w < "u" && w !== null), Bt(t, "fa-swap-opacity", e.swapOpacity), t);
return Object.keys(P).map(function(h) {
return P[h] ? h : null;
}).filter(function(h) {
return h;
});
}
function ov(e) {
return e = e - 0, e === e;
}
function Ku(e) {
return ov(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, n) {
return n ? n.toUpperCase() : "";
}), e.substr(0, 1).toLowerCase() + e.substr(1));
}
var iv = ["style"];
function sv(e) {
return e.charAt(0).toUpperCase() + e.slice(1);
}
function lv(e) {
return e.split(";").map(function(t) {
return t.trim();
}).filter(function(t) {
return t;
}).reduce(function(t, n) {
var r = n.indexOf(":"), a = Ku(n.slice(0, r)), o = n.slice(r + 1).trim();
return a.startsWith("webkit") ? t[sv(a)] = o : t[a] = o, t;
}, {});
}
function Qu(e, t) {
var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (typeof t == "string")
return t;
var r = (t.children || []).map(function(c) {
return Qu(e, c);
}), a = Object.keys(t.attributes || {}).reduce(function(c, l) {
var u = t.attributes[l];
switch (l) {
case "class":
c.attrs.className = u, delete t.attributes.class;
break;
case "style":
c.attrs.style = lv(u);
break;
default:
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[Ku(l)] = u;
}
return c;
}, {
attrs: {}
}), o = n.style, i = o === void 0 ? {} : o, s = Jb(n, iv);
return a.attrs.style = Ye(Ye({}, a.attrs.style), i), e.apply(void 0, [t.tag, Ye(Ye({}, a.attrs), s)].concat(Co(r)));
}
var Zu = !1;
try {
Zu = process.env.NODE_ENV === "production";
} catch {
}
function cv() {
if (!Zu && console && typeof console.error == "function") {
var e;
(e = console).error.apply(e, arguments);
}
}
function wl(e) {
if (e && Pr(e) === "object" && e.prefix && e.iconName && e.icon)
return e;
if (Oo.icon)
return Oo.icon(e);
if (e === null)
return null;
if (e && Pr(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 Fa(e, t) {
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Bt({}, e, t) : {};
}
var El = {
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
}, pi = /* @__PURE__ */ Ir.forwardRef(function(e, t) {
var n = Ye(Ye({}, El), e), r = n.icon, a = n.mask, o = n.symbol, i = n.className, s = n.title, c = n.titleId, l = n.maskId, u = wl(r), f = Fa("classes", [].concat(Co(av(n)), Co((i || "").split(" ")))), d = Fa("transform", typeof n.transform == "string" ? Oo.transform(n.transform) : n.transform), y = Fa("mask", wl(a)), v = Ub(u, Ye(Ye(Ye(Ye({}, f), d), y), {}, {
symbol: o,
title: s,
titleId: c,
maskId: l
}));
if (!v)
return cv("Could not find icon", u), null;
var m = v.abstract, p = {
ref: t
};
return Object.keys(n).forEach(function(b) {
El.hasOwnProperty(b) || (p[b] = n[b]);
}), uv(m[0], p);
});
pi.displayName = "FontAwesomeIcon";
pi.propTypes = {
beat: ae.bool,
border: ae.bool,
beatFade: ae.bool,
bounce: ae.bool,
className: ae.string,
fade: ae.bool,
flash: ae.bool,
mask: ae.oneOfType([ae.object, ae.array, ae.string]),
maskId: ae.string,
fixedWidth: ae.bool,
inverse: ae.bool,
flip: ae.oneOf([!0, !1, "horizontal", "vertical", "both"]),
icon: ae.oneOfType([ae.object, ae.array, ae.string]),
listItem: ae.bool,
pull: ae.oneOf(["right", "left"]),
pulse: ae.bool,
rotation: ae.oneOf([0, 90, 180, 270]),
shake: ae.bool,
size: ae.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
spin: ae.bool,
spinPulse: ae.bool,
spinReverse: ae.bool,
symbol: ae.oneOfType([ae.bool, ae.string]),
title: ae.string,
titleId: ae.string,
transform: ae.oneOfType([ae.string, ae.object]),
swapOpacity: ae.bool
};
var uv = Qu.bind(null, Ir.createElement);
const hi = "-", fv = (e) => {
const t = mv(e), {
conflictingClassGroups: n,
conflictingClassGroupModifiers: r
} = e;
return {
getClassGroupId: (a) => {
const o = a.split(hi);
return o[0] === "" && o.length !== 1 && o.shift(), Ju(o, t) || dv(a);
},
getConflictingClassGroupIds: (a, o) => {
const i = n[a] || [];
return o && r[a] ? [...i, ...r[a]] : i;
}
};
}, Ju = (e, t) => {
var n;
if (e.length === 0)
return t.classGroupId;
const r = e[0], a = t.nextPart.get(r), o = a ? Ju(e.slice(1), a) : void 0;
if (o)
return o;
if (t.validators.length === 0)
return;
const i = e.join(hi);
return (n = t.validators.find(({
validator: s
}) => s(i))) == null ? void 0 : n.classGroupId;
}, Sl = /^\[(.+)\]$/, dv = (e) => {
if (Sl.test(e)) {
const t = Sl.exec(e)[1], n = t == null ? void 0 : t.substring(0, t.indexOf(":"));
if (n)
return "arbitrary.." + n;
}
}, mv = (e) => {
const {
theme: t,
prefix: n
} = e, r = {
nextPart: /* @__PURE__ */ new Map(),
validators: []
};
return hv(Object.entries(e.classGroups), n).forEach(([a, o]) => {
_o(o, r, a, t);
}), r;
}, _o = (e, t, n, r) => {
e.forEach((a) => {
if (typeof a == "string") {
const o = a === "" ? t : Al(t, a);
o.classGroupId = n;
return;
}
if (typeof a == "function") {
if (pv(a)) {
_o(a(r), t, n, r);
return;
}
t.validators.push({
validator: a,
classGroupId: n
});
return;
}
Object.entries(a).forEach(([o, i]) => {
_o(i, Al(t, o), n, r);
});
});
}, Al = (e, t) => {
let n = e;
return t.split(hi).forEach((r) => {
n.nextPart.has(r) || n.nextPart.set(r, {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}), n = n.nextPart.get(r);
}), n;
}, pv = (e) => e.isThemeGetter, hv = (e, t) => t ? e.map(([n, r]) => {
const a = r.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
return [n, a];
}) : e, gv = (e) => {
if (e < 1)
return {
get: () => {
},
set: () => {
}
};
let t = 0, n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
const a = (o, i) => {
n.set(o, i), t++, t > e && (t = 0, r = n, n = /* @__PURE__ */ new Map());
};
return {
get(o) {
let i = n.get(o);
if (i !== void 0)
return i;
if ((i = r.get(o)) !== void 0)
return a(o, i), i;
},
set(o, i) {
n.has(o) ? n.set(o, i) : a(o, i);
}
};
}, ef = "!", yv = (e) => {
const {
separator: t,
experimentalParseClassName: n
} = e, r = t.length === 1, a = t[0], o = t.length, i = (s) => {
const c = [];
let l = 0, u = 0, f;
for (let p = 0; p < s.length; p++) {
let b = s[p];
if (l === 0) {
if (b === a && (r || s.slice(p, p + o) === t)) {
c.push(s.slice(u, p)), u = p + o;
continue;
}
if (b === "/") {
f = p;
continue;
}
}
b === "[" ? l++ : b === "]" && l--;
}
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(ef), v = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
return {
modifiers: c,
hasImportantModifier: y,
baseClassName: v,
maybePostfixModifierPosition: m
};
};
return n ? (s) => n({
className: s,
parseClassName: i
}) : i;
}, bv = (e) => {
if (e.length <= 1)
return e;
const t = [];
let n = [];
return e.forEach((r) => {
r[0] === "[" ? (t.push(...n.sort(), r), n = []) : n.push(r);
}), t.push(...n.sort()), t;
}, vv = (e) => ({
cache: gv(e.cacheSize),
parseClassName: yv(e),
...fv(e)
}), xv = /\s+/, wv = (e, t) => {
const {
parseClassName: n,
getClassGroupId: r,
getConflictingClassGroupIds: a
} = t, o = [], i = e.trim().split(xv);
let s = "";
for (let c = i.length - 1; c >= 0; c -= 1) {
const l = i[c], {
modifiers: u,
hasImportantModifier: f,
baseClassName: d,
maybePostfixModifierPosition: y
} = n(l);
let v = !!y, m = r(v ? d.substring(0, y) : d);
if (!m) {
if (!v) {
s = l + (s.length > 0 ? " " + s : s);
continue;
}
if (m = r(d), !m) {
s = l + (s.length > 0 ? " " + s : s);
continue;
}
v = !1;
}
const p = bv(u).join(":"), b = f ? p + ef : p, A = b + m;
if (o.includes(A))
continue;
o.push(A);
const w = a(m, v);
for (let P = 0; P < w.length; ++P) {
const h = w[P];
o.push(b + h);
}
s = l + (s.length > 0 ? " " + s : s);
}
return s;
};
function Ev() {
let e = 0, t, n, r = "";
for (; e < arguments.length; )
(t = arguments[e++]) && (n = tf(t)) && (r && (r += " "), r += n);
return r;
}
const tf = (e) => {
if (typeof e == "string")
return e;
let t, n = "";
for (let r = 0; r < e.length; r++)
e[r] && (t = tf(e[r])) && (n && (n += " "), n += t);
return n;
};
function Sv(e, ...t) {
let n, r, a, o = i;
function i(c) {
const l = t.reduce((u, f) => f(u), e());
return n = vv(l), r = n.cache.get, a = n.cache.set, o = s, s(c);
}
function s(c) {
const l = r(c);
if (l)
return l;
const u = wv(c, n);
return a(c, u), u;
}
return function() {
return o(Ev.apply(null, arguments));
};
}
const be = (e) => {
const t = (n) => n[e] || [];
return t.isThemeGetter = !0, t;
}, nf = /^\[(?:([a-z-]+):)?(.+)\]$/i, Av = /^\d+\/\d+$/, Pv = /* @__PURE__ */ new Set(["px", "full", "screen"]), kv = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Ov = /\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$/, Cv = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Tv = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, _v = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, et = (e) => Zt(e) || Pv.has(e) || Av.test(e), dt = (e) => ln(e, "length", zv), Zt = (e) => !!e && !Number.isNaN(Number(e)), Da = (e) => ln(e, "number", Zt), dn = (e) => !!e && Number.isInteger(Number(e)), Iv = (e) => e.endsWith("%") && Zt(e.slice(0, -1)), te = (e) => nf.test(e), mt = (e) => kv.test(e), Nv = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Rv = (e) => ln(e, Nv, rf), Mv = (e) => ln(e, "position", rf), Fv = /* @__PURE__ */ new Set(["image", "url"]), Dv = (e) => ln(e, Fv, $v), jv = (e) => ln(e, "", Lv), mn = () => !0, ln = (e, t, n) => {
const r = nf.exec(e);
return r ? r[1] ? typeof t == "string" ? r[1] === t : t.has(r[1]) : n(r[2]) : !1;
}, zv = (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.
Ov.test(e) && !Cv.test(e)
), rf = () => !1, Lv = (e) => Tv.test(e), $v = (e) => _v.test(e), Wv = () => {
const e = be("colors"), t = be("spacing"), n = be("blur"), r = be("brightness"), a = be("borderColor"), o = be("borderRadius"), i = be("borderSpacing"), s = be("borderWidth"), c = be("contrast"), l = be("grayscale"), u = be("hueRotate"), f = be("invert"), d = be("gap"), y = be("gradientColorStops"), v = be("gradientColorStopPositions"), m = be("inset"), p = be("margin"), b = be("opacity"), A = be("padding"), w = be("saturate"), P = be("scale"), h = be("sepia"), H = be("skew"), j = be("space"), K = be("translate"), J = () => ["auto", "contain", "none"], oe = () => ["auto", "hidden", "clip", "visible", "scroll"], le = () => ["auto", te, t], U = () => [te, t], ge = () => ["", et, dt], $ = () => ["auto", Zt, te], k = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], L = () => ["solid", "dashed", "dotted", "double", "none"], Q = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], B = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ie = () => ["", "0", te], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], x = () => [Zt, te];
return {
cacheSize: 500,
separator: ":",
theme: {
colors: [mn],
spacing: [et, dt],
blur: ["none", "", mt, te],
brightness: x(),
borderColor: [e],
borderRadius: ["none", "", "full", mt, te],
borderSpacing: U(),
borderWidth: ge(),
contrast: x(),
grayscale: ie(),
hueRotate: x(),
invert: ie(),
gap: U(),
gradientColorStops: [e],
gradientColorStopPositions: [Iv, dt],
inset: le(),
margin: le(),
opacity: x(),
padding: U(),
saturate: x(),
scale: x(),
sepia: ie(),
skew: x(),
space: U(),
translate: U()
},
classGroups: {
// Layout
/**
* Aspect Ratio
* @see https://tailwindcss.com/docs/aspect-ratio
*/
aspect: [{
aspect: ["auto", "square", "video", te]
}],
/**
* Container
* @see https://tailwindcss.com/docs/container
*/
container: ["container"],
/**
* Columns
* @see https://tailwindcss.com/docs/columns
*/
columns: [{
columns: [mt]
}],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/
"break-after": [{
"break-after": g()
}],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/
"break-before": [{
"break-before": g()
}],
/**
* 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: [...k(), te]
}],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/
overflow: [{
overflow: oe()
}],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-x": [{
"overflow-x": oe()
}],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-y": [{
"overflow-y": oe()
}],
/**
* Overscroll Behavior
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
overscroll: [{
overscroll: J()
}],
/**
* Overscroll Behavior X
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-x": [{
"overscroll-x": J()
}],
/**
* Overscroll Behavior Y
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-y": [{
"overscroll-y": J()
}],
/**
* 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", dn, te]
}],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/
basis: [{
basis: le()
}],
/**
* 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", te]
}],
/**
* Flex Grow
* @see https://tailwindcss.com/docs/flex-grow
*/
grow: [{
grow: ie()
}],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/
shrink: [{
shrink: ie()
}],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/
order: [{
order: ["first", "last", "none", dn, te]
}],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/
"grid-cols": [{
"grid-cols": [mn]
}],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start-end": [{
col: ["auto", {
span: ["full", dn, te]
}, te]
}],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start": [{
"col-start": $()
}],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-end": [{
"col-end": $()
}],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/
"grid-rows": [{
"grid-rows": [mn]
}],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start-end": [{
row: ["auto", {
span: [dn, te]
}, te]
}],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start": [{
"row-start": $()
}],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-end": [{
"row-end": $()
}],
/**
* 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", te]
}],
/**
* Grid Auto Rows
* @see https://tailwindcss.com/docs/grid-auto-rows
*/
"auto-rows": [{
"auto-rows": ["auto", "min", "max", "fr", te]
}],
/**
* Gap
* @see https://tailwindcss.com/docs/gap
*/
gap: [{
gap: [d]
}],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/
"gap-x": [{
"gap-x": [d]
}],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/
"gap-y": [{
"gap-y": [d]
}],
/**
* Justify Content
* @see https://tailwindcss.com/docs/justify-content
*/
"justify-content": [{
justify: ["normal", ...B()]
}],
/**
* 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", ...B(), "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": [...B(), "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: [A]
}],
/**
* Padding X
* @see https://tailwindcss.com/docs/padding
*/
px: [{
px: [A]
}],
/**
* Padding Y
* @see https://tailwindcss.com/docs/padding
*/
py: [{
py: [A]
}],
/**
* Padding Start
* @see https://tailwindcss.com/docs/padding
*/
ps: [{
ps: [A]
}],
/**
* Padding End
* @see https://tailwindcss.com/docs/padding
*/
pe: [{
pe: [A]
}],
/**
* Padding Top
* @see https://tailwindcss.com/docs/padding
*/
pt: [{
pt: [A]
}],
/**
* Padding Right
* @see https://tailwindcss.com/docs/padding
*/
pr: [{
pr: [A]
}],
/**
* Padding Bottom
* @see https://tailwindcss.com/docs/padding
*/
pb: [{
pb: [A]
}],
/**
* Padding Left
* @see https://tailwindcss.com/docs/padding
*/
pl: [{
pl: [A]
}],
/**
* Margin
* @see https://tailwindcss.com/docs/margin
*/
m: [{
m: [p]
}],
/**
* Margin X
* @see https://tailwindcss.com/docs/margin
*/
mx: [{
mx: [p]
}],
/**
* Margin Y
* @see https://tailwindcss.com/docs/margin
*/
my: [{
my: [p]
}],
/**
* Margin Start
* @see https://tailwindcss.com/docs/margin
*/
ms: [{
ms: [p]
}],
/**
* Margin End
* @see https://tailwindcss.com/docs/margin
*/
me: [{
me: [p]
}],
/**
* Margin Top
* @see https://tailwindcss.com/docs/margin
*/
mt: [{
mt: [p]
}],
/**
* Margin Right
* @see https://tailwindcss.com/docs/margin
*/
mr: [{
mr: [p]
}],
/**
* Margin Bottom
* @see https://tailwindcss.com/docs/margin
*/
mb: [{
mb: [p]
}],
/**
* Margin Left
* @see https://tailwindcss.com/docs/margin
*/
ml: [{
ml: [p]
}],
/**
* Space Between X
* @see https://tailwindcss.com/docs/space
*/
"space-x": [{
"space-x": [j]
}],
/**
* 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": [j]
}],
/**
* 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", te, t]
}],
/**
* Min-Width
* @see https://tailwindcss.com/docs/min-width
*/
"min-w": [{
"min-w": [te, t, "min", "max", "fit"]
}],
/**
* Max-Width
* @see https://tailwindcss.com/docs/max-width
*/
"max-w": [{
"max-w": [te, t, "none", "full", "min", "max", "fit", "prose", {
screen: [mt]
}, mt]
}],
/**
* Height
* @see https://tailwindcss.com/docs/height
*/
h: [{
h: [te, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Min-Height
* @see https://tailwindcss.com/docs/min-height
*/
"min-h": [{
"min-h": [te, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Max-Height
* @see https://tailwindcss.com/docs/max-height
*/
"max-h": [{
"max-h": [te, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Size
* @see https://tailwindcss.com/docs/size
*/
size: [{
size: [te, t, "auto", "min", "max", "fit"]
}],
// Typography
/**
* Font Size
* @see https://tailwindcss.com/docs/font-size
*/
"font-size": [{
text: ["base", mt, dt]
}],
/**
* 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", Da]
}],
/**
* Font Family
* @see https://tailwindcss.com/docs/font-family
*/
"font-family": [{
font: [mn]
}],
/**
* 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", te]
}],
/**
* Line Clamp
* @see https://tailwindcss.com/docs/line-clamp
*/
"line-clamp": [{
"line-clamp": ["none", Zt, Da]
}],
/**
* Line Height
* @see https://tailwindcss.com/docs/line-height
*/
leading: [{
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", et, te]
}],
/**
* List Style Image
* @see https://tailwindcss.com/docs/list-style-image
*/
"list-image": [{
"list-image": ["none", te]
}],
/**
* List Style Type
* @see https://tailwindcss.com/docs/list-style-type
*/
"list-style-type": [{
list: ["none", "disc", "decimal", te]
}],
/**
* 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": [b]
}],
/**
* 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": [b]
}],
/**
* 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: [...L(), "wavy"]
}],
/**
* Text Decoration Thickness
* @see https://tailwindcss.com/docs/text-decoration-thickness
*/
"text-decoration-thickness": [{
decoration: ["auto", "from-font", et, dt]
}],
/**
* Text Underline Offset
* @see https://tailwindcss.com/docs/text-underline-offset
*/
"underline-offset": [{
"underline-offset": ["auto", et, te]
}],
/**
* 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: U()
}],
/**
* Vertical Alignment
* @see https://tailwindcss.com/docs/vertical-align
*/
"vertical-align": [{
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", te]
}],
/**
* 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", te]
}],
// 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": [b]
}],
/**
* 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: [...k(), Mv]
}],
/**
* 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", Rv]
}],
/**
* Background Image
* @see https://tailwindcss.com/docs/background-image
*/
"bg-image": [{
bg: ["none", {
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
}, Dv]
}],
/**
* 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: [v]
}],
/**
* Gradient Color Stops Via Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via-pos": [{
via: [v]
}],
/**
* Gradient Color Stops To Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to-pos": [{
to: [v]
}],
/**
* Gradient Color Stops From
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-from": [{
from: [y]
}],
/**
* Gradient Color Stops Via
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via": [{
via: [y]
}],
/**
* Gradient Color Stops To
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to": [{
to: [y]
}],
// Borders
/**
* Border Radius
* @see https://tailwindcss.com/docs/border-radius
*/
rounded: [{
rounded: [o]
}],
/**
* Border Radius Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-s": [{
"rounded-s": [o]
}],
/**
* Border Radius End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-e": [{
"rounded-e": [o]
}],
/**
* Border Radius Top
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-t": [{
"rounded-t": [o]
}],
/**
* Border Radius Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-r": [{
"rounded-r": [o]
}],
/**
* Border Radius Bottom
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-b": [{
"rounded-b": [o]
}],
/**
* Border Radius Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-l": [{
"rounded-l": [o]
}],
/**
* Border Radius Start Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ss": [{
"rounded-ss": [o]
}],
/**
* Border Radius Start End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-se": [{
"rounded-se": [o]
}],
/**
* Border Radius End End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ee": [{
"rounded-ee": [o]
}],
/**
* Border Radius End Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-es": [{
"rounded-es": [o]
}],
/**
* Border Radius Top Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tl": [{
"rounded-tl": [o]
}],
/**
* Border Radius Top Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tr": [{
"rounded-tr": [o]
}],
/**
* Border Radius Bottom Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-br": [{
"rounded-br": [o]
}],
/**
* Border Radius Bottom Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-bl": [{
"rounded-bl": [o]
}],
/**
* 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": [b]
}],
/**
* Border Style
* @see https://tailwindcss.com/docs/border-style
*/
"border-style": [{
border: [...L(), "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": [b]
}],
/**
* Divide Style
* @see https://tailwindcss.com/docs/divide-style
*/
"divide-style": [{
divide: L()
}],
/**
* Border Color
* @see https://tailwindcss.com/docs/border-color
*/
"border-color": [{
border: [a]
}],
/**
* Border Color X
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-x": [{
"border-x": [a]
}],
/**
* Border Color Y
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-y": [{
"border-y": [a]
}],
/**
* Border Color S
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-s": [{
"border-s": [a]
}],
/**
* Border Color E
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-e": [{
"border-e": [a]
}],
/**
* Border Color Top
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-t": [{
"border-t": [a]
}],
/**
* Border Color Right
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-r": [{
"border-r": [a]
}],
/**
* Border Color Bottom
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-b": [{
"border-b": [a]
}],
/**
* Border Color Left
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-l": [{
"border-l": [a]
}],
/**
* Divide Color
* @see https://tailwindcss.com/docs/divide-color
*/
"divide-color": [{
divide: [a]
}],
/**
* Outline Style
* @see https://tailwindcss.com/docs/outline-style
*/
"outline-style": [{
outline: ["", ...L()]
}],
/**
* Outline Offset
* @see https://tailwindcss.com/docs/outline-offset
*/
"outline-offset": [{
"outline-offset": [et, te]
}],
/**
* Outline Width
* @see https://tailwindcss.com/docs/outline-width
*/
"outline-w": [{
outline: [et, dt]
}],
/**
* 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: ge()
}],
/**
* 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": [b]
}],
/**
* Ring Offset Width
* @see https://tailwindcss.com/docs/ring-offset-width
*/
"ring-offset-w": [{
"ring-offset": [et, dt]
}],
/**
* 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", mt, jv]
}],
/**
* Box Shadow Color
* @see https://tailwindcss.com/docs/box-shadow-color
*/
"shadow-color": [{
shadow: [mn]
}],
/**
* Opacity
* @see https://tailwindcss.com/docs/opacity
*/
opacity: [{
opacity: [b]
}],
/**
* Mix Blend Mode
* @see https://tailwindcss.com/docs/mix-blend-mode
*/
"mix-blend": [{
"mix-blend": [...Q(), "plus-lighter", "plus-darker"]
}],
/**
* Background Blend Mode
* @see https://tailwindcss.com/docs/background-blend-mode
*/
"bg-blend": [{
"bg-blend": Q()
}],
// 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: [n]
}],
/**
* Brightness
* @see https://tailwindcss.com/docs/brightness
*/
brightness: [{
brightness: [r]
}],
/**
* Contrast
* @see https://tailwindcss.com/docs/contrast
*/
contrast: [{
contrast: [c]
}],
/**
* Drop Shadow
* @see https://tailwindcss.com/docs/drop-shadow
*/
"drop-shadow": [{
"drop-shadow": ["", "none", mt, te]
}],
/**
* Grayscale
* @see https://tailwindcss.com/docs/grayscale
*/
grayscale: [{
grayscale: [l]
}],
/**
* Hue Rotate
* @see https://tailwindcss.com/docs/hue-rotate
*/
"hue-rotate": [{
"hue-rotate": [u]
}],
/**
* Invert
* @see https://tailwindcss.com/docs/invert
*/
invert: [{
invert: [f]
}],
/**
* Saturate
* @see https://tailwindcss.com/docs/saturate
*/
saturate: [{
saturate: [w]
}],
/**
* Sepia
* @see https://tailwindcss.com/docs/sepia
*/
sepia: [{
sepia: [h]
}],
/**
* 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": [n]
}],
/**
* Backdrop Brightness
* @see https://tailwindcss.com/docs/backdrop-brightness
*/
"backdrop-brightness": [{
"backdrop-brightness": [r]
}],
/**
* Backdrop Contrast
* @see https://tailwindcss.com/docs/backdrop-contrast
*/
"backdrop-contrast": [{
"backdrop-contrast": [c]
}],
/**
* Backdrop Grayscale
* @see https://tailwindcss.com/docs/backdrop-grayscale
*/
"backdrop-grayscale": [{
"backdrop-grayscale": [l]
}],
/**
* Backdrop Hue Rotate
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
*/
"backdrop-hue-rotate": [{
"backdrop-hue-rotate": [u]
}],
/**
* Backdrop Invert
* @see https://tailwindcss.com/docs/backdrop-invert
*/
"backdrop-invert": [{
"backdrop-invert": [f]
}],
/**
* Backdrop Opacity
* @see https://tailwindcss.com/docs/backdrop-opacity
*/
"backdrop-opacity": [{
"backdrop-opacity": [b]
}],
/**
* Backdrop Saturate
* @see https://tailwindcss.com/docs/backdrop-saturate
*/
"backdrop-saturate": [{
"backdrop-saturate": [w]
}],
/**
* Backdrop Sepia
* @see https://tailwindcss.com/docs/backdrop-sepia
*/
"backdrop-sepia": [{
"backdrop-sepia": [h]
}],
// 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", te]
}],
/**
* Transition Duration
* @see https://tailwindcss.com/docs/transition-duration
*/
duration: [{
duration: x()
}],
/**
* Transition Timing Function
* @see https://tailwindcss.com/docs/transition-timing-function
*/
ease: [{
ease: ["linear", "in", "out", "in-out", te]
}],
/**
* Transition Delay
* @see https://tailwindcss.com/docs/transition-delay
*/
delay: [{
delay: x()
}],
/**
* Animation
* @see https://tailwindcss.com/docs/animation
*/
animate: [{
animate: ["none", "spin", "ping", "pulse", "bounce", te]
}],
// Transforms
/**
* Transform
* @see https://tailwindcss.com/docs/transform
*/
transform: [{
transform: ["", "gpu", "none"]
}],
/**
* Scale
* @see https://tailwindcss.com/docs/scale
*/
scale: [{
scale: [P]
}],
/**
* Scale X
* @see https://tailwindcss.com/docs/scale
*/
"scale-x": [{
"scale-x": [P]
}],
/**
* Scale Y
* @see https://tailwindcss.com/docs/scale
*/
"scale-y": [{
"scale-y": [P]
}],
/**
* Rotate
* @see https://tailwindcss.com/docs/rotate
*/
rotate: [{
rotate: [dn, te]
}],
/**
* Translate X
* @see https://tailwindcss.com/docs/translate
*/
"translate-x": [{
"translate-x": [K]
}],
/**
* Translate Y
* @see https://tailwindcss.com/docs/translate
*/
"translate-y": [{
"translate-y": [K]
}],
/**
* Skew X
* @see https://tailwindcss.com/docs/skew
*/
"skew-x": [{
"skew-x": [H]
}],
/**
* Skew Y
* @see https://tailwindcss.com/docs/skew
*/
"skew-y": [{
"skew-y": [H]
}],
/**
* 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", te]
}],
// 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", te]
}],
/**
* 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": U()
}],
/**
* Scroll Margin X
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mx": [{
"scroll-mx": U()
}],
/**
* Scroll Margin Y
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-my": [{
"scroll-my": U()
}],
/**
* Scroll Margin Start
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ms": [{
"scroll-ms": U()
}],
/**
* Scroll Margin End
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-me": [{
"scroll-me": U()
}],
/**
* Scroll Margin Top
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mt": [{
"scroll-mt": U()
}],
/**
* Scroll Margin Right
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mr": [{
"scroll-mr": U()
}],
/**
* Scroll Margin Bottom
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mb": [{
"scroll-mb": U()
}],
/**
* Scroll Margin Left
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ml": [{
"scroll-ml": U()
}],
/**
* Scroll Padding
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-p": [{
"scroll-p": U()
}],
/**
* Scroll Padding X
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-px": [{
"scroll-px": U()
}],
/**
* Scroll Padding Y
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-py": [{
"scroll-py": U()
}],
/**
* Scroll Padding Start
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-ps": [{
"scroll-ps": U()
}],
/**
* Scroll Padding End
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pe": [{
"scroll-pe": U()
}],
/**
* Scroll Padding Top
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pt": [{
"scroll-pt": U()
}],
/**
* Scroll Padding Right
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pr": [{
"scroll-pr": U()
}],
/**
* Scroll Padding Bottom
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pb": [{
"scroll-pb": U()
}],
/**
* Scroll Padding Left
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pl": [{
"scroll-pl": U()
}],
/**
* 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", te]
}],
// SVG
/**
* Fill
* @see https://tailwindcss.com/docs/fill
*/
fill: [{
fill: [e, "none"]
}],
/**
* Stroke Width
* @see https://tailwindcss.com/docs/stroke-width
*/
"stroke-w": [{
stroke: [et, dt, Da]
}],
/**
* 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"]
}
};
}, Uv = /* @__PURE__ */ Sv(Wv), Vv = ({
onClick: e,
className: t,
size: n = "md"
}) => /* @__PURE__ */ V(
"button",
{
onClick: e,
className: Uv(
"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"
}[n],
t
),
children: /* @__PURE__ */ V(pi, { icon: Wg })
}
);
var gi = Kn(), Z = (e) => Xn(e, gi), yi = Kn();
Z.write = (e) => Xn(e, yi);
var Gr = Kn();
Z.onStart = (e) => Xn(e, Gr);
var bi = Kn();
Z.onFrame = (e) => Xn(e, bi);
var vi = Kn();
Z.onFinish = (e) => Xn(e, vi);
var Jt = [];
Z.setTimeout = (e, t) => {
const n = Z.now() + t, r = () => {
const o = Jt.findIndex((i) => i.cancel == r);
~o && Jt.splice(o, 1), vt -= ~o ? 1 : 0;
}, a = { time: n, handler: e, cancel: r };
return Jt.splice(af(n), 0, a), vt += 1, of(), a;
};
var af = (e) => ~(~Jt.findIndex((t) => t.time > e) || ~Jt.length);
Z.cancel = (e) => {
Gr.delete(e), bi.delete(e), vi.delete(e), gi.delete(e), yi.delete(e);
};
Z.sync = (e) => {
Io = !0, Z.batchedUpdates(e), Io = !1;
};
Z.throttle = (e) => {
let t;
function n() {
try {
e(...t);
} finally {
t = null;
}
}
function r(...a) {
t = a, Z.onStart(n);
}
return r.handler = e, r.cancel = () => {
Gr.delete(n), t = null;
}, r;
};
var xi = typeof window < "u" ? window.requestAnimationFrame : (
// eslint-disable-next-line @typescript-eslint/no-empty-function
() => {
}
);
Z.use = (e) => xi = e;
Z.now = typeof performance < "u" ? () => performance.now() : Date.now;
Z.batchedUpdates = (e) => e();
Z.catch = console.error;
Z.frameLoop = "always";
Z.advance = () => {
Z.frameLoop !== "demand" ? console.warn(
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
) : lf();
};
var bt = -1, vt = 0, Io = !1;
function Xn(e, t) {
Io ? (t.delete(e), e(0)) : (t.add(e), of());
}
function of() {
bt < 0 && (bt = 0, Z.frameLoop !== "demand" && xi(sf));
}
function Yv() {
bt = -1;
}
function sf() {
~bt && (xi(sf), Z.batchedUpdates(lf));
}
function lf() {
const e = bt;
bt = Z.now();
const t = af(bt);
if (t && (cf(Jt.splice(0, t), (n) => n.handler()), vt -= t), !vt) {
Yv();
return;
}
Gr.flush(), gi.flush(e ? Math.min(64, bt - e) : 16.667), bi.flush(), yi.flush(), vi.flush();
}
function Kn() {
let e = /* @__PURE__ */ new Set(), t = e;
return {
add(n) {
vt += t == e && !e.has(n) ? 1 : 0, e.add(n);
},
delete(n) {
return vt -= t == e && e.has(n) ? 1 : 0, e.delete(n);
},
flush(n) {
t.size && (e = /* @__PURE__ */ new Set(), vt -= t.size, cf(t, (r) => r(n) && e.add(r)), vt += e.size, t = e);
}
};
}
function cf(e, t) {
e.forEach((n) => {
try {
t(n);
} catch (r) {
Z.catch(r);
}
});
}
var Gv = Object.defineProperty, Bv = (e, t) => {
for (var n in t)
Gv(e, n, { get: t[n], enumerable: !0 });
}, Le = {};
Bv(Le, {
assign: () => Hv,
colors: () => wt,
createStringInterpolator: () => Ei,
skipAnimation: () => ff,
to: () => uf,
willAdvance: () => Si
});
function No() {
}
var qv = (e, t, n) => Object.defineProperty(e, t, { value: n, writable: !0, configurable: !0 }), T = {
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 tt(e, t) {
if (T.arr(e)) {
if (!T.arr(t) || e.length !== t.length) return !1;
for (let n = 0; n < e.length; n++)
if (e[n] !== t[n]) return !1;
return !0;
}
return e === t;
}
var ne = (e, t) => e.forEach(t);
function Ke(e, t, n) {
if (T.arr(e)) {
for (let r = 0; r < e.length; r++)
t.call(n, e[r], `${r}`);
return;
}
for (const r in e)
e.hasOwnProperty(r) && t.call(n, e[r], r);
}
var Te = (e) => T.und(e) ? [] : T.arr(e) ? e : [e];
function kn(e, t) {
if (e.size) {
const n = Array.from(e);
e.clear(), ne(n, t);
}
}
var xn = (e, ...t) => kn(e, (n) => n(...t)), wi = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), Ei, uf, wt = null, ff = !1, Si = No, Hv = (e) => {
e.to && (uf = e.to), e.now && (Z.now = e.now), e.colors !== void 0 && (wt = e.colors), e.skipAnimation != null && (ff = e.skipAnimation), e.createStringInterpolator && (Ei = e.createStringInterpolator), e.requestAnimationFrame && Z.use(e.requestAnimationFrame), e.batchedUpdates && (Z.batchedUpdates = e.batchedUpdates), e.willAdvance && (Si = e.willAdvance), e.frameLoop && (Z.frameLoop = e.frameLoop);
}, On = /* @__PURE__ */ new Set(), De = [], ja = [], kr = 0, Br = {
get idle() {
return !On.size && !De.length;
},
/** Advance the given animation on every frame until idle. */
start(e) {
kr > e.priority ? (On.add(e), Z.onStart(Xv)) : (df(e), Z(Ro));
},
/** Advance all animations by the given time. */
advance: Ro,
/** Call this when an animation's priority changes. */
sort(e) {
if (kr)
Z.onFrame(() => Br.sort(e));
else {
const t = De.indexOf(e);
~t && (De.splice(t, 1), mf(e));
}
},
/**
* Clear all animations. For testing purposes.
*
* ☠️ Never call this from within the frameloop.
*/
clear() {
De = [], On.clear();
}
};
function Xv() {
On.forEach(df), On.clear(), Z(Ro);
}
function df(e) {
De.includes(e) || mf(e);
}
function mf(e) {
De.splice(
Kv(De, (t) => t.priority > e.priority),
0,
e
);
}
function Ro(e) {
const t = ja;
for (let n = 0; n < De.length; n++) {
const r = De[n];
kr = r.priority, r.idle || (Si(r), r.advance(e), r.idle || t.push(r));
}
return kr = 0, ja = De, ja.length = 0, De = t, De.length > 0;
}
function Kv(e, t) {
const n = e.findIndex(t);
return n < 0 ? e.length : n;
}
var Qv = {
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
}, ze = "[-+]?\\d*\\.?\\d+", Or = ze + "%";
function qr(...e) {
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
}
var Zv = new RegExp("rgb" + qr(ze, ze, ze)), Jv = new RegExp("rgba" + qr(ze, ze, ze, ze)), e0 = new RegExp("hsl" + qr(ze, Or, Or)), t0 = new RegExp(
"hsla" + qr(ze, Or, Or, ze)
), n0 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, r0 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, a0 = /^#([0-9a-fA-F]{6})$/, o0 = /^#([0-9a-fA-F]{8})$/;
function i0(e) {
let t;
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = a0.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : wt && wt[e] !== void 0 ? wt[e] : (t = Zv.exec(e)) ? (Ut(t[1]) << 24 | // r
Ut(t[2]) << 16 | // g
Ut(t[3]) << 8 | // b
255) >>> // a
0 : (t = Jv.exec(e)) ? (Ut(t[1]) << 24 | // r
Ut(t[2]) << 16 | // g
Ut(t[3]) << 8 | // b
Ol(t[4])) >>> // a
0 : (t = n0.exec(e)) ? parseInt(
t[1] + t[1] + // r
t[2] + t[2] + // g
t[3] + t[3] + // b
"ff",
// a
16
) >>> 0 : (t = o0.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = r0.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 = e0.exec(e)) ? (Pl(
kl(t[1]),
// h
cr(t[2]),
// s
cr(t[3])
// l
) | 255) >>> // a
0 : (t = t0.exec(e)) ? (Pl(
kl(t[1]),
// h
cr(t[2]),
// s
cr(t[3])
// l
) | Ol(t[4])) >>> // a
0 : null;
}
function za(e, t, n) {
return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;
}
function Pl(e, t, n) {
const r = n < 0.5 ? n * (1 + t) : n + t - n * t, a = 2 * n - r, o = za(a, r, e + 1 / 3), i = za(a, r, e), s = za(a, r, e - 1 / 3);
return Math.round(o * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
}
function Ut(e) {
const t = parseInt(e, 10);
return t < 0 ? 0 : t > 255 ? 255 : t;
}
function kl(e) {
return (parseFloat(e) % 360 + 360) % 360 / 360;
}
function Ol(e) {
const t = parseFloat(e);
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
}
function cr(e) {
const t = parseFloat(e);
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
}
function Cl(e) {
let t = i0(e);
if (t === null) return e;
t = t || 0;
const n = (t & 4278190080) >>> 24, r = (t & 16711680) >>> 16, a = (t & 65280) >>> 8, o = (t & 255) / 255;
return `rgba(${n}, ${r}, ${a}, ${o})`;
}
var jn = (e, t, n) => {
if (T.fun(e))
return e;
if (T.arr(e))
return jn({
range: e,
output: t,
extrapolate: n
});
if (T.str(e.output[0]))
return Ei(e);
const r = e, a = r.output, o = r.range || [0, 1], i = r.extrapolateLeft || r.extrapolate || "extend", s = r.extrapolateRight || r.extrapolate || "extend", c = r.easing || ((l) => l);
return (l) => {
const u = l0(l, o);
return s0(
l,
o[u],
o[u + 1],
a[u],
a[u + 1],
c,
i,
s,
r.map
);
};
};
function s0(e, t, n, r, a, o, i, s, c) {
let l = c ? c(e) : e;
if (l < t) {
if (i === "identity") return l;
i === "clamp" && (l = t);
}
if (l > n) {
if (s === "identity") return l;
s === "clamp" && (l = n);
}
return r === a ? r : t === n ? e <= t ? r : a : (t === -1 / 0 ? l = -l : n === 1 / 0 ? l = l - t : l = (l - t) / (n - t), l = o(l), r === -1 / 0 ? l = -l : a === 1 / 0 ? l = l + r : l = l * (a - r) + r, l);
}
function l0(e, t) {
for (var n = 1; n < t.length - 1 && !(t[n] >= e); ++n)
;
return n - 1;
}
var c0 = {
linear: (e) => e
}, zn = Symbol.for("FluidValue.get"), rn = Symbol.for("FluidValue.observers"), Fe = (e) => !!(e && e[zn]), _e = (e) => e && e[zn] ? e[zn]() : e, Tl = (e) => e[rn] || null;
function u0(e, t) {
e.eventObserved ? e.eventObserved(t) : e(t);
}
function Ln(e, t) {
const n = e[rn];
n && n.forEach((r) => {
u0(r, t);
});
}
var pf = class {
constructor(e) {
if (!e && !(e = this.get))
throw Error("Unknown getter");
f0(this, e);
}
}, f0 = (e, t) => hf(e, zn, t);
function cn(e, t) {
if (e[zn]) {
let n = e[rn];
n || hf(e, rn, n = /* @__PURE__ */ new Set()), n.has(t) || (n.add(t), e.observerAdded && e.observerAdded(n.size, t));
}
return t;
}
function $n(e, t) {
const n = e[rn];
if (n && n.has(t)) {
const r = n.size - 1;
r ? n.delete(t) : e[rn] = null, e.observerRemoved && e.observerRemoved(r, t);
}
}
var hf = (e, t, n) => Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
}), gr = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, d0 = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, _l = new RegExp(`(${gr.source})(%|[a-z]+)`, "i"), m0 = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, Hr = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, gf = (e) => {
const [t, n] = p0(e);
if (!t || wi())
return e;
const r = window.getComputedStyle(document.documentElement).getPropertyValue(t);
if (r)
return r.trim();
if (n && n.startsWith("--")) {
const a = window.getComputedStyle(document.documentElement).getPropertyValue(n);
return a || e;
} else {
if (n && Hr.test(n))
return gf(n);
if (n)
return n;
}
return e;
}, p0 = (e) => {
const t = Hr.exec(e);
if (!t) return [,];
const [, n, r] = t;
return [n, r];
}, La, h0 = (e, t, n, r, a) => `rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(r)}, ${a})`, yf = (e) => {
La || (La = wt ? (
// match color names, ignore partial matches
new RegExp(`(${Object.keys(wt).join("|")})(?!\\w)`, "g")
) : (
// never match
/^\b$/
));
const t = e.output.map((o) => _e(o).replace(Hr, gf).replace(d0, Cl).replace(La, Cl)), n = t.map((o) => o.match(gr).map(Number)), a = n[0].map(
(o, i) => n.map((s) => {
if (!(i in s))
throw Error('The arity of each "output" value must be equal');
return s[i];
})
).map(
(o) => jn({ ...e, output: o })
);
return (o) => {
var c;
const i = !_l.test(t[0]) && ((c = t.find((l) => _l.test(l))) == null ? void 0 : c.replace(gr, ""));
let s = 0;
return t[0].replace(
gr,
() => `${a[s++](o)}${i || ""}`
).replace(m0, h0);
};
}, Ai = "react-spring: ", bf = (e) => {
const t = e;
let n = !1;
if (typeof t != "function")
throw new TypeError(`${Ai}once requires a function parameter`);
return (...r) => {
n || (t(...r), n = !0);
};
}, g0 = bf(console.warn);
function y0() {
g0(
`${Ai}The "interpolate" function is deprecated in v9 (use "to" instead)`
);
}
var b0 = bf(console.warn);
function v0() {
b0(
`${Ai}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 Xr(e) {
return T.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
!wi() && Hr.test(e) || e in (wt || {}));
}
var qt = wi() ? Ae : Xf, x0 = () => {
const e = Ee(!1);
return qt(() => (e.current = !0, () => {
e.current = !1;
}), []), e;
};
function vf() {
const e = yt()[1], t = x0();
return () => {
t.current && e(Math.random());
};
}
var xf = (e) => Ae(e, w0), w0 = [];
function E0(e) {
const t = Ee(void 0);
return Ae(() => {
t.current = e;
}), t.current;
}
var Wn = Symbol.for("Animated:node"), S0 = (e) => !!e && e[Wn] === e, Ue = (e) => e && e[Wn], Pi = (e, t) => qv(e, Wn, t), Kr = (e) => e && e[Wn] && e[Wn].getPayload(), wf = class {
constructor() {
Pi(this, this);
}
/** Get every `AnimatedValue` used by this node. */
getPayload() {
return this.payload || [];
}
}, Qr = class Ef extends wf {
constructor(t) {
super(), this._value = t, this.done = !0, this.durationProgress = 0, T.num(this._value) && (this.lastPosition = this._value);
}
/** @internal */
static create(t) {
return new Ef(t);
}
getPayload() {
return [this];
}
getValue() {
return this._value;
}
setValue(t, n) {
return T.num(t) && (this.lastPosition = t, n && (t = Math.round(t / n) * n, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0);
}
reset() {
const { done: t } = this;
this.done = !1, T.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
}
}, Cr = class Sf extends Qr {
constructor(t) {
super(0), this._string = null, this._toString = jn({
output: [t, t]
});
}
/** @internal */
static create(t) {
return new Sf(t);
}
getValue() {
const t = this._string;
return t ?? (this._string = this._toString(this._value));
}
setValue(t) {
if (T.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 = jn({
output: [this.getValue(), t]
})), this._value = 0, super.reset();
}
}, Tr = { dependencies: null }, Zr = class extends wf {
constructor(e) {
super(), this.source = e, this.setValue(e);
}
getValue(e) {
const t = {};
return Ke(this.source, (n, r) => {
S0(n) ? t[r] = n.getValue(e) : Fe(n) ? t[r] = _e(n) : e || (t[r] = n);
}), t;
}
/** Replace the raw object data */
setValue(e) {
this.source = e, this.payload = this._makePayload(e);
}
reset() {
this.payload && ne(this.payload, (e) => e.reset());
}
/** Create a payload set. */
_makePayload(e) {
if (e) {
const t = /* @__PURE__ */ new Set();
return Ke(e, this._addToPayload, t), Array.from(t);
}
}
/** Add to a payload set. */
_addToPayload(e) {
Tr.dependencies && Fe(e) && Tr.dependencies.add(e);
const t = Kr(e);
t && ne(t, (n) => this.add(n));
}
}, A0 = class Af extends Zr {
constructor(t) {
super(t);
}
/** @internal */
static create(t) {
return new Af(t);
}
getValue() {
return this.source.map((t) => t.getValue());
}
setValue(t) {
const n = this.getPayload();
return t.length == n.length ? n.map((r, a) => r.setValue(t[a])).some(Boolean) : (super.setValue(t.map(P0)), !0);
}
};
function P0(e) {
return (Xr(e) ? Cr : Qr).create(e);
}
function Mo(e) {
const t = Ue(e);
return t ? t.constructor : T.arr(e) ? A0 : Xr(e) ? Cr : Qr;
}
var Il = (e, t) => {
const n = (
// Function components must use "forwardRef" to avoid being
// re-rendered on every animation frame.
!T.fun(e) || e.prototype && e.prototype.isReactComponent
);
return Kf((r, a) => {
const o = Ee(null), i = n && // eslint-disable-next-line react-hooks/rules-of-hooks
Qf(
(v) => {
o.current = C0(a, v);
},
[a]
), [s, c] = O0(r, t), l = vf(), u = () => {
const v = o.current;
if (n && !v)
return;
(v ? t.applyAnimatedValues(v, s.getValue(!0)) : !1) === !1 && l();
}, f = new k0(u, c), d = Ee(void 0);
qt(() => (d.current = f, ne(c, (v) => cn(v, f)), () => {
d.current && (ne(
d.current.deps,
(v) => $n(v, d.current)
), Z.cancel(d.current.update));
})), Ae(u, []), xf(() => () => {
const v = d.current;
ne(v.deps, (m) => $n(m, v));
});
const y = t.getComponentProps(s.getValue());
return /* @__PURE__ */ S.createElement(e, { ...y, ref: i });
});
}, k0 = class {
constructor(e, t) {
this.update = e, this.deps = t;
}
eventObserved(e) {
e.type == "change" && Z.write(this.update);
}
};
function O0(e, t) {
const n = /* @__PURE__ */ new Set();
return Tr.dependencies = n, e.style && (e = {
...e,
style: t.createAnimatedStyle(e.style)
}), e = new Zr(e), Tr.dependencies = null, [e, n];
}
function C0(e, t) {
return e && (T.fun(e) ? e(t) : e.current = t), t;
}
var Nl = Symbol.for("AnimatedComponent"), T0 = (e, {
applyAnimatedValues: t = () => !1,
createAnimatedStyle: n = (a) => new Zr(a),
getComponentProps: r = (a) => a
} = {}) => {
const a = {
applyAnimatedValues: t,
createAnimatedStyle: n,
getComponentProps: r
}, o = (i) => {
const s = Rl(i) || "Anonymous";
return T.str(i) ? i = o[i] || (o[i] = Il(i, a)) : i = i[Nl] || (i[Nl] = Il(i, a)), i.displayName = `Animated(${s})`, i;
};
return Ke(e, (i, s) => {
T.arr(e) && (s = Rl(i)), o[s] = o(i);
}), {
animated: o
};
}, Rl = (e) => T.str(e) ? e : e && T.str(e.displayName) ? e.displayName : T.fun(e) && e.name || null;
function Ie(e, ...t) {
return T.fun(e) ? e(...t) : e;
}
var Cn = (e, t) => e === !0 || !!(t && e && (T.fun(e) ? e(t) : Te(e).includes(t))), Pf = (e, t) => T.obj(e) ? t && e[t] : e, kf = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, _0 = (e) => e, ki = (e, t = _0) => {
let n = I0;
e.default && e.default !== !0 && (e = e.default, n = Object.keys(e));
const r = {};
for (const a of n) {
const o = t(e[a], a);
T.und(o) || (r[a] = o);
}
return r;
}, I0 = [
"config",
"onProps",
"onStart",
"onChange",
"onPause",
"onResume",
"onRest"
], N0 = {
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 R0(e) {
const t = {};
let n = 0;
if (Ke(e, (r, a) => {
N0[a] || (t[a] = r, n++);
}), n)
return t;
}
function Oi(e) {
const t = R0(e);
if (t) {
const n = { to: t };
return Ke(e, (r, a) => a in t || (n[a] = r)), n;
}
return { ...e };
}
function Un(e) {
return e = _e(e), T.arr(e) ? e.map(Un) : Xr(e) ? Le.createStringInterpolator({
range: [0, 1],
output: [e, e]
})(1) : e;
}
function M0(e) {
for (const t in e) return !0;
return !1;
}
function Fo(e) {
return T.fun(e) || T.arr(e) && T.obj(e[0]);
}
function Ml(e, t) {
var n;
(n = e.ref) == null || n.delete(e), t == null || t.delete(e);
}
function F0(e, t) {
var n;
t && e.ref !== t && ((n = e.ref) == null || n.delete(e), t.add(e), e.ref = t);
}
var D0 = {
default: { tension: 170, friction: 26 }
}, Do = {
...D0.default,
mass: 1,
damping: 1,
easing: c0.linear,
clamp: !1
}, j0 = class {
constructor() {
this.velocity = 0, Object.assign(this, Do);
}
};
function z0(e, t, n) {
n && (n = { ...n }, Fl(n, t), t = { ...n, ...t }), Fl(e, t), Object.assign(e, t);
for (const i in Do)
e[i] == null && (e[i] = Do[i]);
let { frequency: r, damping: a } = e;
const { mass: o } = e;
return T.und(r) || (r < 0.01 && (r = 0.01), a < 0 && (a = 0), e.tension = Math.pow(2 * Math.PI / r, 2) * o, e.friction = 4 * Math.PI * a * o / r), e;
}
function Fl(e, t) {
if (!T.und(t.decay))
e.duration = void 0;
else {
const n = !T.und(t.tension) || !T.und(t.friction);
(n || !T.und(t.frequency) || !T.und(t.damping) || !T.und(t.mass)) && (e.duration = void 0, e.decay = void 0), n && (e.frequency = void 0);
}
}
var Dl = [], L0 = class {
constructor() {
this.changed = !1, this.values = Dl, this.toValues = null, this.fromValues = Dl, this.config = new j0(), this.immediate = !1;
}
};
function Of(e, { key: t, props: n, defaultProps: r, state: a, actions: o }) {
return new Promise((i, s) => {
let c, l, u = Cn(n.cancel ?? (r == null ? void 0 : r.cancel), t);
if (u)
y();
else {
T.und(n.pause) || (a.paused = Cn(n.pause, t));
let v = r == null ? void 0 : r.pause;
v !== !0 && (v = a.paused || Cn(v, t)), c = Ie(n.delay || 0, t), v ? (a.resumeQueue.add(d), o.pause()) : (o.resume(), d());
}
function f() {
a.resumeQueue.add(d), a.timeouts.delete(l), l.cancel(), c = l.time - Z.now();
}
function d() {
c > 0 && !Le.skipAnimation ? (a.delayed = !0, l = Z.setTimeout(y, c), a.pauseQueue.add(f), a.timeouts.add(l)) : y();
}
function y() {
a.delayed && (a.delayed = !1), a.pauseQueue.delete(f), a.timeouts.delete(l), e <= (a.cancelId || 0) && (u = !0);
try {
o.start({ ...n, callId: e, cancel: u }, i);
} catch (v) {
s(v);
}
}
});
}
var Ci = (e, t) => t.length == 1 ? t[0] : t.some((n) => n.cancelled) ? en(e.get()) : t.every((n) => n.noop) ? Cf(e.get()) : je(
e.get(),
t.every((n) => n.finished)
), Cf = (e) => ({
value: e,
noop: !0,
finished: !0,
cancelled: !1
}), je = (e, t, n = !1) => ({
value: e,
finished: t,
cancelled: n
}), en = (e) => ({
value: e,
cancelled: !0,
finished: !1
});
function Tf(e, t, n, r) {
const { callId: a, parentId: o, onRest: i } = t, { asyncTo: s, promise: c } = n;
return !o && e === s && !t.reset ? c : n.promise = (async () => {
n.asyncId = a, n.asyncTo = e;
const l = ki(
t,
(p, b) => (
// The `onRest` prop is only called when the `runAsync` promise is resolved.
b === "onRest" ? void 0 : p
)
);
let u, f;
const d = new Promise(
(p, b) => (u = p, f = b)
), y = (p) => {
const b = (
// The `cancel` prop or `stop` method was used.
a <= (n.cancelId || 0) && en(r) || // The async `to` prop was replaced.
a !== n.asyncId && je(r, !1)
);
if (b)
throw p.result = b, f(p), p;
}, v = (p, b) => {
const A = new jl(), w = new zl();
return (async () => {
if (Le.skipAnimation)
throw Vn(n), w.result = je(r, !1), f(w), w;
y(A);
const P = T.obj(p) ? { ...p } : { ...b, to: p };
P.parentId = a, Ke(l, (H, j) => {
T.und(P[j]) && (P[j] = H);
});
const h = await r.start(P);
return y(A), n.paused && await new Promise((H) => {
n.resumeQueue.add(H);
}), h;
})();
};
let m;
if (Le.skipAnimation)
return Vn(n), je(r, !1);
try {
let p;
T.arr(e) ? p = (async (b) => {
for (const A of b)
await v(A);
})(e) : p = Promise.resolve(e(v, r.stop.bind(r))), await Promise.all([p.then(u), d]), m = je(r.get(), !0, !1);
} catch (p) {
if (p instanceof jl)
m = p.result;
else if (p instanceof zl)
m = p.result;
else
throw p;
} finally {
a == n.asyncId && (n.asyncId = o, n.asyncTo = o ? s : void 0, n.promise = o ? c : void 0);
}
return T.fun(i) && Z.batchedUpdates(() => {
i(m, r, r.item);
}), m;
})();
}
function Vn(e, t) {
kn(e.timeouts, (n) => n.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
}
var jl = 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."
);
}
}, zl = class extends Error {
constructor() {
super("SkipAnimationSignal");
}
}, jo = (e) => e instanceof Ti, $0 = 1, Ti = class extends pf {
constructor() {
super(...arguments), this.id = $0++, this._priority = 0;
}
get priority() {
return this._priority;
}
set priority(e) {
this._priority != e && (this._priority = e, this._onPriorityChange(e));
}
/** Get the current value */
get() {
const e = Ue(this);
return e && e.getValue();
}
/** Create a spring that maps our value to another value */
to(...e) {
return Le.to(this, e);
}
/** @deprecated Use the `to` method instead. */
interpolate(...e) {
return y0(), Le.to(this, e);
}
toJSON() {
return this.get();
}
observerAdded(e) {
e == 1 && this._attach();
}
observerRemoved(e) {
e == 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(e, t = !1) {
Ln(this, {
type: "change",
parent: this,
value: e,
idle: t
});
}
/** Tell our children about our new priority */
_onPriorityChange(e) {
this.idle || Br.sort(this), Ln(this, {
type: "priority",
parent: this,
priority: e
});
}
}, Dt = Symbol.for("SpringPhase"), _f = 1, If = 2, Nf = 4, $a = (e) => (e[Dt] & _f) > 0, pt = (e) => (e[Dt] & If) > 0, pn = (e) => (e[Dt] & Nf) > 0, Ll = (e, t) => t ? e[Dt] |= If | _f : e[Dt] &= -3, $l = (e, t) => t ? e[Dt] |= Nf : e[Dt] &= -5, W0 = class extends Ti {
constructor(e, t) {
if (super(), this.animation = new L0(), 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, !T.und(e) || !T.und(t)) {
const n = T.obj(e) ? { ...e } : { ...t, from: e };
T.und(n.default) && (n.default = !0), this.start(n);
}
}
/** Equals true when not advancing on each frame. */
get idle() {
return !(pt(this) || this._state.asyncTo) || pn(this);
}
get goal() {
return _e(this.animation.to);
}
get velocity() {
const e = Ue(this);
return e instanceof Qr ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0);
}
/**
* When true, this value has been animated at least once.
*/
get hasAnimated() {
return $a(this);
}
/**
* When true, this value has an unfinished animation,
* which is either active or paused.
*/
get isAnimating() {
return pt(this);
}
/**
* When true, all current and future animations are paused.
*/
get isPaused() {
return pn(this);
}
/**
*
*
*/
get isDelayed() {
return this._state.delayed;
}
/** Advance the current animation by a number of milliseconds */
advance(e) {
let t = !0, n = !1;
const r = this.animation;
let { toValues: a } = r;
const { config: o } = r, i = Kr(r.to);
!i && Fe(r.to) && (a = Te(_e(r.to))), r.values.forEach((l, u) => {
if (l.done) return;
const f = (
// Animated strings always go from 0 to 1.
l.constructor == Cr ? 1 : i ? i[u].lastPosition : a[u]
);
let d = r.immediate, y = f;
if (!d) {
if (y = l.lastPosition, o.tension <= 0) {
l.done = !0;
return;
}
let v = l.elapsedTime += e;
const m = r.fromValues[u], p = l.v0 != null ? l.v0 : l.v0 = T.arr(o.velocity) ? o.velocity[u] : o.velocity;
let b;
const A = o.precision || (m == f ? 5e-3 : Math.min(1, Math.abs(f - m) * 1e-3));
if (T.und(o.duration))
if (o.decay) {
const w = o.decay === !0 ? 0.998 : o.decay, P = Math.exp(-(1 - w) * v);
y = m + p / (1 - w) * (1 - P), d = Math.abs(l.lastPosition - y) <= A, b = p * P;
} else {
b = l.lastVelocity == null ? p : l.lastVelocity;
const w = o.restVelocity || A / 10, P = o.clamp ? 0 : o.bounce, h = !T.und(P), H = m == f ? l.v0 > 0 : m < f;
let j, K = !1;
const J = 1, oe = Math.ceil(e / J);
for (let le = 0; le < oe && (j = Math.abs(b) > w, !(!j && (d = Math.abs(f - y) <= A, d))); ++le) {
h && (K = y == f || y > f == H, K && (b = -b * P, y = f));
const U = -o.tension * 1e-6 * (y - f), ge = -o.friction * 1e-3 * b, $ = (U + ge) / o.mass;
b = b + $ * J, y = y + b * J;
}
}
else {
let w = 1;
o.duration > 0 && (this._memoizedDuration !== o.duration && (this._memoizedDuration = o.duration, l.durationProgress > 0 && (l.elapsedTime = o.duration * l.durationProgress, v = l.elapsedTime += e)), w = (o.progress || 0) + v / this._memoizedDuration, w = w > 1 ? 1 : w < 0 ? 0 : w, l.durationProgress = w), y = m + o.easing(w) * (f - m), b = (y - l.lastPosition) / e, d = w == 1;
}
l.lastVelocity = b, Number.isNaN(y) && (console.warn("Got NaN while animating:", this), d = !0);
}
i && !i[u].done && (d = !1), d ? l.done = !0 : t = !1, l.setValue(y, o.round) && (n = !0);
});
const s = Ue(this), c = s.getValue();
if (t) {
const l = _e(r.to);
(c !== l || n) && !o.decay ? (s.setValue(l), this._onChange(l)) : n && o.decay && this._onChange(c), this._stop();
} else n && this._onChange(c);
}
/** Set the current value, while stopping the current animation */
set(e) {
return Z.batchedUpdates(() => {
this._stop(), this._focus(e), this._set(e);
}), 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 (pt(this)) {
const { to: e, config: t } = this.animation;
Z.batchedUpdates(() => {
this._onStart(), t.decay || this._set(e, !1), this._stop();
});
}
return this;
}
/** Push props into the pending queue. */
update(e) {
return (this.queue || (this.queue = [])).push(e), this;
}
start(e, t) {
let n;
return T.und(e) ? (n = this.queue || [], this.queue = []) : n = [T.obj(e) ? e : { ...t, to: e }], Promise.all(
n.map((r) => this._update(r))
).then((r) => Ci(this, r));
}
/**
* Stop the current animation, and cancel any delayed updates.
*
* Pass `true` to call `onRest` with `cancelled: true`.
*/
stop(e) {
const { to: t } = this.animation;
return this._focus(this.get()), Vn(this._state, e && this._lastCallId), Z.batchedUpdates(() => this._stop(t, e)), this;
}
/** Restart the animation. */
reset() {
this._update({ reset: !0 });
}
/** @internal */
eventObserved(e) {
e.type == "change" ? this._start() : e.type == "priority" && (this.priority = e.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(e) {
const t = this.key || "";
let { to: n, from: r } = e;
n = T.obj(n) ? n[t] : n, (n == null || Fo(n)) && (n = void 0), r = T.obj(r) ? r[t] : r, r == null && (r = void 0);
const a = { to: n, from: r };
return $a(this) || (e.reverse && ([n, r] = [r, n]), r = _e(r), T.und(r) ? Ue(this) || this._set(n) : this._set(r)), a;
}
/** Every update is processed by this method before merging. */
_update({ ...e }, t) {
const { key: n, defaultProps: r } = this;
e.default && Object.assign(
r,
ki(
e,
(i, s) => /^on/.test(s) ? Pf(i, n) : i
)
), Ul(this, e, "onProps"), gn(this, "onProps", e, this);
const a = this._prepareNode(e);
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 o = this._state;
return Of(++this._lastCallId, {
key: n,
props: e,
defaultProps: r,
state: o,
actions: {
pause: () => {
pn(this) || ($l(this, !0), xn(o.pauseQueue), gn(
this,
"onPause",
je(this, hn(this, this.animation.to)),
this
));
},
resume: () => {
pn(this) && ($l(this, !1), pt(this) && this._resume(), xn(o.resumeQueue), gn(
this,
"onResume",
je(this, hn(this, this.animation.to)),
this
));
},
start: this._merge.bind(this, a)
}
}).then((i) => {
if (e.loop && i.finished && !(t && i.noop)) {
const s = Rf(e);
if (s)
return this._update(s, !0);
}
return i;
});
}
/** Merge props into the current animation */
_merge(e, t, n) {
if (t.cancel)
return this.stop(!0), n(en(this));
const r = !T.und(e.to), a = !T.und(e.from);
if (r || a)
if (t.callId > this._lastToId)
this._lastToId = t.callId;
else
return n(en(this));
const { key: o, defaultProps: i, animation: s } = this, { to: c, from: l } = s;
let { to: u = c, from: f = l } = e;
a && !r && (!t.default || T.und(u)) && (u = f), t.reverse && ([u, f] = [f, u]);
const d = !tt(f, l);
d && (s.from = f), f = _e(f);
const y = !tt(u, c);
y && this._focus(u);
const v = Fo(t.to), { config: m } = s, { decay: p, velocity: b } = m;
(r || a) && (m.velocity = 0), t.config && !v && z0(
m,
Ie(t.config, o),
// Avoid calling the same "config" prop twice.
t.config !== i.config ? Ie(i.config, o) : void 0
);
let A = Ue(this);
if (!A || T.und(u))
return n(je(this, !0));
const w = (
// 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.
T.und(t.reset) ? a && !t.default : !T.und(f) && Cn(t.reset, o)
), P = w ? f : this.get(), h = Un(u), H = T.num(h) || T.arr(h) || Xr(h), j = !v && (!H || Cn(i.immediate || t.immediate, o));
if (y) {
const le = Mo(u);
if (le !== A.constructor)
if (j)
A = this._set(h);
else
throw Error(
`Cannot animate between ${A.constructor.name} and ${le.name}, as the "to" prop suggests`
);
}
const K = A.constructor;
let J = Fe(u), oe = !1;
if (!J) {
const le = w || !$a(this) && d;
(y || le) && (oe = tt(Un(P), h), J = !oe), (!tt(s.immediate, j) && !j || !tt(m.decay, p) || !tt(m.velocity, b)) && (J = !0);
}
if (oe && pt(this) && (s.changed && !w ? J = !0 : J || this._stop(c)), !v && ((J || Fe(c)) && (s.values = A.getPayload(), s.toValues = Fe(u) ? null : K == Cr ? [1] : Te(h)), s.immediate != j && (s.immediate = j, !j && !w && this._set(c)), J)) {
const { onRest: le } = s;
ne(U0, (ge) => Ul(this, t, ge));
const U = je(this, hn(this, c));
xn(this._pendingCalls, U), this._pendingCalls.add(n), s.changed && Z.batchedUpdates(() => {
var ge;
s.changed = !w, le == null || le(U, this), w ? Ie(i.onRest, U) : (ge = s.onStart) == null || ge.call(s, U, this);
});
}
w && this._set(P), v ? n(Tf(t.to, t, this._state, this)) : J ? this._start() : pt(this) && !y ? this._pendingCalls.add(n) : n(Cf(P));
}
/** Update the `animation.to` value, which might be a `FluidValue` */
_focus(e) {
const t = this.animation;
e !== t.to && (Tl(this) && this._detach(), t.to = e, Tl(this) && this._attach());
}
_attach() {
let e = 0;
const { to: t } = this.animation;
Fe(t) && (cn(t, this), jo(t) && (e = t.priority + 1)), this.priority = e;
}
_detach() {
const { to: e } = this.animation;
Fe(e) && $n(e, this);
}
/**
* Update the current value from outside the frameloop,
* and return the `Animated` node.
*/
_set(e, t = !0) {
const n = _e(e);
if (!T.und(n)) {
const r = Ue(this);
if (!r || !tt(n, r.getValue())) {
const a = Mo(n);
!r || r.constructor != a ? Pi(this, a.create(n)) : r.setValue(n), r && Z.batchedUpdates(() => {
this._onChange(n, t);
});
}
}
return Ue(this);
}
_onStart() {
const e = this.animation;
e.changed || (e.changed = !0, gn(
this,
"onStart",
je(this, hn(this, e.to)),
this
));
}
_onChange(e, t) {
t || (this._onStart(), Ie(this.animation.onChange, e, this)), Ie(this.defaultProps.onChange, e, this), super._onChange(e, t);
}
// 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 e = this.animation;
Ue(this).reset(_e(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), pt(this) || (Ll(this, !0), pn(this) || this._resume());
}
_resume() {
Le.skipAnimation ? this.finish() : Br.start(this);
}
/**
* Exit the frameloop and notify `onRest` listeners.
*
* Always wrap `_stop` calls with `batchedUpdates`.
*/
_stop(e, t) {
if (pt(this)) {
Ll(this, !1);
const n = this.animation;
ne(n.values, (a) => {
a.done = !0;
}), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), Ln(this, {
type: "idle",
parent: this
});
const r = t ? en(this.get()) : je(this.get(), hn(this, e ?? n.to));
xn(this._pendingCalls, r), n.changed && (n.changed = !1, gn(this, "onRest", r, this));
}
}
};
function hn(e, t) {
const n = Un(t), r = Un(e.get());
return tt(r, n);
}
function Rf(e, t = e.loop, n = e.to) {
const r = Ie(t);
if (r) {
const a = r !== !0 && Oi(r), o = (a || e).reverse, i = !a || a.reset;
return _r({
...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: !o || Fo(n) ? n : 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.
...a
});
}
}
function _r(e) {
const { to: t, from: n } = e = Oi(e), r = /* @__PURE__ */ new Set();
return T.obj(t) && Wl(t, r), T.obj(n) && Wl(n, r), e.keys = r.size ? Array.from(r) : null, e;
}
function Wl(e, t) {
Ke(e, (n, r) => n != null && t.add(r));
}
var U0 = [
"onStart",
"onRest",
"onChange",
"onPause",
"onResume"
];
function Ul(e, t, n) {
e.animation[n] = t[n] !== kf(t, n) ? Pf(t[n], e.key) : void 0;
}
function gn(e, t, ...n) {
var r, a, o, i;
(a = (r = e.animation)[t]) == null || a.call(r, ...n), (i = (o = e.defaultProps)[t]) == null || i.call(o, ...n);
}
var V0 = ["onStart", "onChange", "onRest"], Y0 = 1, G0 = class {
constructor(e, t) {
this.id = Y0++, 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), t && (this._flush = t), e && this.start({ default: !0, ...e });
}
/**
* 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((e) => e.idle && !e.isDelayed && !e.isPaused);
}
get item() {
return this._item;
}
set item(e) {
this._item = e;
}
/** Get the current values of our springs */
get() {
const e = {};
return this.each((t, n) => e[n] = t.get()), e;
}
/** Set the current values without animating. */
set(e) {
for (const t in e) {
const n = e[t];
T.und(n) || this.springs[t].set(n);
}
}
/** Push an update onto the queue of each value. */
update(e) {
return e && this.queue.push(_r(e)), 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(e) {
let { queue: t } = this;
return e ? t = Te(e).map(_r) : this.queue = [], this._flush ? this._flush(this, t) : (jf(this, t), B0(this, t));
}
/** @internal */
stop(e, t) {
if (e !== !!e && (t = e), t) {
const n = this.springs;
ne(Te(t), (r) => n[r].stop(!!e));
} else
Vn(this._state, this._lastAsyncId), this.each((n) => n.stop(!!e));
return this;
}
/** Freeze the active animation in time */
pause(e) {
if (T.und(e))
this.start({ pause: !0 });
else {
const t = this.springs;
ne(Te(e), (n) => t[n].pause());
}
return this;
}
/** Resume the animation if paused. */
resume(e) {
if (T.und(e))
this.start({ pause: !1 });
else {
const t = this.springs;
ne(Te(e), (n) => t[n].resume());
}
return this;
}
/** Call a function once per spring value */
each(e) {
Ke(this.springs, e);
}
/** @internal Called at the end of every animation frame */
_onFrame() {
const { onStart: e, onChange: t, onRest: n } = this._events, r = this._active.size > 0, a = this._changed.size > 0;
(r && !this._started || a && !this._started) && (this._started = !0, kn(e, ([s, c]) => {
c.value = this.get(), s(c, this, this._item);
}));
const o = !r && this._started, i = a || o && n.size ? this.get() : null;
a && t.size && kn(t, ([s, c]) => {
c.value = i, s(c, this, this._item);
}), o && (this._started = !1, kn(n, ([s, c]) => {
c.value = i, s(c, this, this._item);
}));
}
/** @internal */
eventObserved(e) {
if (e.type == "change")
this._changed.add(e.parent), e.idle || this._active.add(e.parent);
else if (e.type == "idle")
this._active.delete(e.parent);
else return;
Z.onFrame(this._onFrame);
}
};
function B0(e, t) {
return Promise.all(t.map((n) => Mf(e, n))).then(
(n) => Ci(e, n)
);
}
async function Mf(e, t, n) {
const { keys: r, to: a, from: o, loop: i, onRest: s, onResolve: c } = t, l = T.obj(t.default) && t.default;
i && (t.loop = !1), a === !1 && (t.to = null), o === !1 && (t.from = null);
const u = T.arr(a) || T.fun(a) ? a : void 0;
u ? (t.to = void 0, t.onRest = void 0, l && (l.onRest = void 0)) : ne(V0, (m) => {
const p = t[m];
if (T.fun(p)) {
const b = e._events[m];
t[m] = ({ finished: A, cancelled: w }) => {
const P = b.get(p);
P ? (A || (P.finished = !1), w && (P.cancelled = !0)) : b.set(p, {
value: null,
finished: A || !1,
cancelled: w || !1
});
}, l && (l[m] = t[m]);
}
});
const f = e._state;
t.pause === !f.paused ? (f.paused = t.pause, xn(t.pause ? f.pauseQueue : f.resumeQueue)) : f.paused && (t.pause = !0);
const d = (r || Object.keys(e.springs)).map(
(m) => e.springs[m].start(t)
), y = t.cancel === !0 || kf(t, "cancel") === !0;
(u || y && f.asyncId) && d.push(
Of(++e._lastAsyncId, {
props: t,
state: f,
actions: {
pause: No,
resume: No,
start(m, p) {
y ? (Vn(f, e._lastAsyncId), p(en(e))) : (m.onRest = s, p(
Tf(
u,
m,
f,
e
)
));
}
}
})
), f.paused && await new Promise((m) => {
f.resumeQueue.add(m);
});
const v = Ci(e, await Promise.all(d));
if (i && v.finished && !(n && v.noop)) {
const m = Rf(t, i, a);
if (m)
return jf(e, [m]), Mf(e, m, !0);
}
return c && Z.batchedUpdates(() => c(v, e, e.item)), v;
}
function q0(e, t) {
const n = { ...e.springs };
return t && ne(Te(t), (r) => {
T.und(r.keys) && (r = _r(r)), T.obj(r.to) || (r = { ...r, to: void 0 }), Df(n, r, (a) => Ff(a));
}), H0(e, n), n;
}
function H0(e, t) {
Ke(t, (n, r) => {
e.springs[r] || (e.springs[r] = n, cn(n, e));
});
}
function Ff(e, t) {
const n = new W0();
return n.key = e, t && cn(n, t), n;
}
function Df(e, t, n) {
t.keys && ne(t.keys, (r) => {
(e[r] || (e[r] = n(r)))._prepareNode(t);
});
}
function jf(e, t) {
ne(t, (n) => {
Df(e.springs, n, (r) => Ff(r, e));
});
}
var X0 = S.createContext({
pause: !1,
immediate: !1
}), K0 = () => {
const e = [], t = function(r) {
v0();
const a = [];
return ne(e, (o, i) => {
if (T.und(r))
a.push(o.start());
else {
const s = n(r, o, i);
s && a.push(o.start(s));
}
}), a;
};
t.current = e, t.add = function(r) {
e.includes(r) || e.push(r);
}, t.delete = function(r) {
const a = e.indexOf(r);
~a && e.splice(a, 1);
}, t.pause = function() {
return ne(e, (r) => r.pause(...arguments)), this;
}, t.resume = function() {
return ne(e, (r) => r.resume(...arguments)), this;
}, t.set = function(r) {
ne(e, (a, o) => {
const i = T.fun(r) ? r(o, a) : r;
i && a.set(i);
});
}, t.start = function(r) {
const a = [];
return ne(e, (o, i) => {
if (T.und(r))
a.push(o.start());
else {
const s = this._getProps(r, o, i);
s && a.push(o.start(s));
}
}), a;
}, t.stop = function() {
return ne(e, (r) => r.stop(...arguments)), this;
}, t.update = function(r) {
return ne(e, (a, o) => a.update(this._getProps(r, a, o))), this;
};
const n = function(r, a, o) {
return T.fun(r) ? r(o, a) : r;
};
return t._getProps = n, t;
};
function Vl(e, t, n) {
const r = T.fun(t) && t, {
reset: a,
sort: o,
trail: i = 0,
expires: s = !0,
exitBeforeEnter: c = !1,
onDestroyed: l,
ref: u,
config: f
} = r ? r() : t, d = Zf(
() => r || arguments.length == 3 ? K0() : void 0,
[]
), y = Te(e), v = [], m = Ee(null), p = a ? null : m.current;
qt(() => {
m.current = v;
}), xf(() => (ne(v, ($) => {
d == null || d.add($.ctrl), $.ctrl.ref = d;
}), () => {
ne(m.current, ($) => {
$.expired && clearTimeout($.expirationId), Ml($.ctrl, d), $.ctrl.stop(!0);
});
}));
const b = Z0(y, r ? r() : t, p), A = a && m.current || [];
qt(
() => ne(A, ({ ctrl: $, item: k, key: L }) => {
Ml($, d), Ie(l, k, L);
})
);
const w = [];
if (p && ne(p, ($, k) => {
$.expired ? (clearTimeout($.expirationId), A.push($)) : (k = w[k] = b.indexOf($.key), ~k && (v[k] = $));
}), ne(y, ($, k) => {
v[k] || (v[k] = {
key: b[k],
item: $,
phase: "mount",
ctrl: new G0()
}, v[k].ctrl.item = $);
}), w.length) {
let $ = -1;
const { leave: k } = r ? r() : t;
ne(w, (L, Q) => {
const B = p[Q];
~L ? ($ = v.indexOf(B), v[$] = { ...B, item: y[L] }) : k && v.splice(++$, 0, B);
});
}
T.fun(o) && v.sort(($, k) => o($.item, k.item));
let P = -i;
const h = vf(), H = ki(t), j = /* @__PURE__ */ new Map(), K = Ee(/* @__PURE__ */ new Map()), J = Ee(!1);
ne(v, ($, k) => {
const L = $.key, Q = $.phase, B = r ? r() : t;
let ie, g;
const x = Ie(B.delay || 0, L);
if (Q == "mount")
ie = B.enter, g = "enter";
else {
const F = b.indexOf(L) < 0;
if (Q != "leave")
if (F)
ie = B.leave, g = "leave";
else if (ie = B.update)
g = "update";
else return;
else if (!F)
ie = B.enter, g = "enter";
else return;
}
if (ie = Ie(ie, $.item, k), ie = T.obj(ie) ? Oi(ie) : { to: ie }, !ie.config) {
const F = f || H.config;
ie.config = Ie(F, $.item, k, g);
}
P += i;
const _ = {
...H,
// we need to add our props.delay value you here.
delay: x + P,
ref: u,
immediate: B.immediate,
// This prevents implied resets.
reset: !1,
// Merge any phase-specific props.
...ie
};
if (g == "enter" && T.und(_.from)) {
const F = r ? r() : t, R = T.und(F.initial) || p ? F.from : F.initial;
_.from = Ie(R, $.item, k);
}
const { onResolve: D } = _;
_.onResolve = (F) => {
Ie(D, F);
const R = m.current, N = R.find((z) => z.key === L);
if (N && !(F.cancelled && N.phase != "update") && N.ctrl.idle) {
const z = R.every((M) => M.ctrl.idle);
if (N.phase == "leave") {
const M = Ie(s, N.item);
if (M !== !1) {
const W = M === !0 ? 0 : M;
if (N.expired = !0, !z && W > 0) {
W <= 2147483647 && (N.expirationId = setTimeout(h, W));
return;
}
}
}
z && R.some((M) => M.expired) && (K.current.delete(N), c && (J.current = !0), h());
}
};
const I = q0($.ctrl, _);
g === "leave" && c ? K.current.set($, { phase: g, springs: I, payload: _ }) : j.set($, { phase: g, springs: I, payload: _ });
});
const oe = ql(X0), le = E0(oe), U = oe !== le && M0(oe);
qt(() => {
U && ne(v, ($) => {
$.ctrl.start({ default: oe });
});
}, [oe]), ne(j, ($, k) => {
if (K.current.size) {
const L = v.findIndex((Q) => Q.key === k.key);
v.splice(L, 1);
}
}), qt(
() => {
ne(
K.current.size ? K.current : j,
({ phase: $, payload: k }, L) => {
const { ctrl: Q } = L;
L.phase = $, d == null || d.add(Q), U && $ == "enter" && Q.start({ default: oe }), k && (F0(Q, k.ref), (Q.ref || d) && !J.current ? Q.update(k) : (Q.start(k), J.current && (J.current = !1)));
}
);
},
a ? void 0 : n
);
const ge = ($) => /* @__PURE__ */ S.createElement(S.Fragment, null, v.map((k, L) => {
const { springs: Q } = j.get(k) || k.ctrl, B = $({ ...Q }, k.item, k, L);
return B && B.type ? /* @__PURE__ */ S.createElement(
B.type,
{
...B.props,
key: T.str(k.key) || T.num(k.key) ? k.key : k.ctrl.id,
ref: B.ref
}
) : B;
}));
return d ? [ge, d] : ge;
}
var Q0 = 1;
function Z0(e, { key: t, keys: n = t }, r) {
if (n === null) {
const a = /* @__PURE__ */ new Set();
return e.map((o) => {
const i = r && r.find(
(s) => s.item === o && s.phase !== "leave" && !a.has(s)
);
return i ? (a.add(i), i.key) : Q0++;
});
}
return T.und(n) ? e : T.fun(n) ? e.map(n) : Te(n);
}
var J0 = class extends Ti {
constructor(e, t) {
super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = jn(...t);
const n = this._get(), r = Mo(n);
Pi(this, r.create(n));
}
advance(e) {
const t = this._get(), n = this.get();
tt(t, n) || (Ue(this).setValue(t), this._onChange(t, this.idle)), !this.idle && Yl(this._active) && Wa(this);
}
_get() {
const e = T.arr(this.source) ? this.source.map(_e) : Te(_e(this.source));
return this.calc(...e);
}
_start() {
this.idle && !Yl(this._active) && (this.idle = !1, ne(Kr(this), (e) => {
e.done = !1;
}), Le.skipAnimation ? (Z.batchedUpdates(() => this.advance()), Wa(this)) : Br.start(this));
}
// Observe our sources only when we're observed.
_attach() {
let e = 1;
ne(Te(this.source), (t) => {
Fe(t) && cn(t, this), jo(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1));
}), this.priority = e, this._start();
}
// Stop observing our sources once we have no observers.
_detach() {
ne(Te(this.source), (e) => {
Fe(e) && $n(e, this);
}), this._active.clear(), Wa(this);
}
/** @internal */
eventObserved(e) {
e.type == "change" ? e.idle ? this.advance() : (this._active.add(e.parent), this._start()) : e.type == "idle" ? this._active.delete(e.parent) : e.type == "priority" && (this.priority = Te(this.source).reduce(
(t, n) => Math.max(t, (jo(n) ? n.priority : 0) + 1),
0
));
}
};
function e1(e) {
return e.idle !== !1;
}
function Yl(e) {
return !e.size || Array.from(e).every(e1);
}
function Wa(e) {
e.idle || (e.idle = !0, ne(Kr(e), (t) => {
t.done = !0;
}), Ln(e, {
type: "idle",
parent: e
}));
}
Le.assign({
createStringInterpolator: yf,
to: (e, t) => new J0(e, t)
});
var zf = /^--/;
function t1(e, t) {
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !zf.test(e) && !(Tn.hasOwnProperty(e) && Tn[e]) ? t + "px" : ("" + t).trim();
}
var Gl = {};
function n1(e, t) {
if (!e.nodeType || !e.setAttribute)
return !1;
const n = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", {
className: r,
style: a,
children: o,
scrollTop: i,
scrollLeft: s,
viewBox: c,
...l
} = t, u = Object.values(l), f = Object.keys(l).map(
(d) => n || e.hasAttribute(d) ? d : Gl[d] || (Gl[d] = d.replace(
/([A-Z])/g,
// Attributes are written in dash case
(y) => "-" + y.toLowerCase()
))
);
o !== void 0 && (e.textContent = o);
for (const d in a)
if (a.hasOwnProperty(d)) {
const y = t1(d, a[d]);
zf.test(d) ? e.style.setProperty(d, y) : e.style[d] = y;
}
f.forEach((d, y) => {
e.setAttribute(d, u[y]);
}), r !== void 0 && (e.className = r), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), c !== void 0 && e.setAttribute("viewBox", c);
}
var Tn = {
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
}, r1 = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), a1 = ["Webkit", "Ms", "Moz", "O"];
Tn = Object.keys(Tn).reduce((e, t) => (a1.forEach((n) => e[r1(n, t)] = e[t]), e), Tn);
var o1 = /^(matrix|translate|scale|rotate|skew)/, i1 = /^(translate)/, s1 = /^(rotate|skew)/, Ua = (e, t) => T.num(e) && e !== 0 ? e + t : e, yr = (e, t) => T.arr(e) ? e.every((n) => yr(n, t)) : T.num(e) ? e === t : parseFloat(e) === t, l1 = class extends Zr {
constructor({ x: e, y: t, z: n, ...r }) {
const a = [], o = [];
(e || t || n) && (a.push([e || 0, t || 0, n || 0]), o.push((i) => [
`translate3d(${i.map((s) => Ua(s, "px")).join(",")})`,
// prettier-ignore
yr(i, 0)
])), Ke(r, (i, s) => {
if (s === "transform")
a.push([i || ""]), o.push((c) => [c, c === ""]);
else if (o1.test(s)) {
if (delete r[s], T.und(i)) return;
const c = i1.test(s) ? "px" : s1.test(s) ? "deg" : "";
a.push(Te(i)), o.push(
s === "rotate3d" ? ([l, u, f, d]) => [
`rotate3d(${l},${u},${f},${Ua(d, c)})`,
yr(d, 0)
] : (l) => [
`${s}(${l.map((u) => Ua(u, c)).join(",")})`,
yr(l, s.startsWith("scale") ? 1 : 0)
]
);
}
}), a.length && (r.transform = new c1(a, o)), super(r);
}
}, c1 = class extends pf {
constructor(e, t) {
super(), this.inputs = e, this.transforms = t, this._value = null;
}
get() {
return this._value || (this._value = this._get());
}
_get() {
let e = "", t = !0;
return ne(this.inputs, (n, r) => {
const a = _e(n[0]), [o, i] = this.transforms[r](
T.arr(a) ? a : n.map(_e)
);
e += " " + o, t = t && i;
}), t ? "none" : e;
}
// Start observing our inputs once we have an observer.
observerAdded(e) {
e == 1 && ne(
this.inputs,
(t) => ne(
t,
(n) => Fe(n) && cn(n, this)
)
);
}
// Stop observing our inputs once we have no observers.
observerRemoved(e) {
e == 0 && ne(
this.inputs,
(t) => ne(
t,
(n) => Fe(n) && $n(n, this)
)
);
}
eventObserved(e) {
e.type == "change" && (this._value = null), Ln(this, e);
}
}, u1 = [
"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"
];
Le.assign({
batchedUpdates: nd,
createStringInterpolator: yf,
colors: Qv
});
var f1 = T0(u1, {
applyAnimatedValues: n1,
createAnimatedStyle: (e) => new l1(e),
// eslint-disable-next-line @typescript-eslint/no-unused-vars
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...n }) => n
}), Lf = f1.animated;
/*!
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
const d1 = {
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"]
}, m1 = {
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 zo = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(zo || {}), p1 = 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"
}), h1 = "VisuallyHidden", $f = S.forwardRef(
(e, t) => /* @__PURE__ */ V(
Qe.span,
{
...e,
ref: t,
style: { ...p1, ...e.style }
}
)
);
$f.displayName = h1;
var Bl = $f;
const Yn = [], g1 = (e) => {
Yn.push(e);
}, y1 = (e) => {
const t = Yn.findIndex((n) => n.id === e);
t !== -1 && Yn.splice(t, 1);
}, b1 = (e, t) => {
const n = Yn.find((r) => r.id === e);
n && Object.assign(n, t);
}, v1 = () => Yn.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 = v1();
t && (e.preventDefault(), t.onClose());
}));
let yn = 70;
const x1 = ({
styles: e,
backdropClassName: t,
disableHotkeyInput: n,
enableHotkeyInput: r
}) => (Ae(() => (n(zo.DIALOGUE), () => {
r(zo.DIALOGUE);
}), [n, r]), /* @__PURE__ */ V(zm, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ V(
Lf.div,
{
className: wn("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)"
}
}
) })), Lo = ({ children: e }) => /* @__PURE__ */ V(br, { children: e }), Wf = Jf(
void 0
), _i = ({ className: e, size: t = "md" }) => {
const n = ql(Wf);
if (!n) return null;
const { expanded: r, toggleExpanded: a } = n;
return /* @__PURE__ */ V(
"button",
{
type: "button",
"aria-label": r ? "Restore modal size" : "Expand modal",
onClick: a,
className: wn(
"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__ */ V(
Mn,
{
icon: r ? d1 : m1
}
)
}
);
};
_i.displayName = "ModalExpandButton";
const Jr = ({
isOpen: e,
title: t,
titleIcon: n,
onTitleIconClick: r,
onClose: a,
enableHotkeyInput: o = () => {
},
disableHotkeyInput: i = () => {
},
className: s,
backdropClassName: c,
width: l,
children: u,
childPadding: f = !0,
titleIconClassName: d,
showClose: y = !0,
draggable: v = !1,
resizable: m = !1,
initialPosition: p,
closeOnOutsideClick: b = !0,
closeOnEsc: A = !0,
allowBackgroundInteraction: w = !1,
expandable: P = !1,
accessibleTitle: h,
accessibleDescription: H
}) => {
const [j, K] = yt(
null
), [J, oe] = yt(!1), [le, U] = yt(!1), ge = Ee({ x: 0, y: 0 }), $ = Ee({ x: 0, y: 0 }), k = Ee(null), L = Ee(null), Q = Ee(null), [B, ie] = yt(() => ++yn), [g, x] = yt(!1), _ = Ee(null), D = Vl(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
}
}), I = Vl(e, {
from: { opacity: 0 },
enter: { opacity: 1 },
leave: { opacity: 0 },
config: {
tension: 280,
friction: 25
}
});
Ae(() => {
g ? (L.current && (_.current = { ...L.current }), K({ x: 0, y: 0 }), L.current = { x: 0, y: 0 }, k.current && (k.current.style.left = "0px", k.current.style.top = "0px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B))) : _.current && (K({ ..._.current }), L.current = { ..._.current }, k.current && (k.current.style.left = _.current.x + "px", k.current.style.top = _.current.y + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B)));
}, [g, B]);
const F = () => x((q) => !q);
Ae(() => {
e ? Q.current ? (K({ ...Q.current }), L.current = { ...Q.current }, k.current && (k.current.style.left = Q.current.x + "px", k.current.style.top = Q.current.y + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B))) : p && (K({ ...p }), L.current = { ...p }, k.current && (k.current.style.left = p.x + "px", k.current.style.top = p.y + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B))) : L.current && (Q.current = { ...L.current });
}, [e, B]), Ae(() => {
if (!J) return;
let q = null;
const X = (Ne) => {
if (!k.current) return;
const We = Ne.clientX - $.current.x, Oe = Ne.clientY - $.current.y, ue = ge.current.x + We, he = ge.current.y + Oe, Ce = k.current, { width: Ct, height: zt } = Ce.getBoundingClientRect(), ta = window.innerWidth, na = window.innerHeight, Ii = 450, Vf = -450, Yf = 0, Gf = ta - Ct + Ii, Bf = na - zt + Ii, qf = Math.max(Vf, Math.min(ue, Gf)), Hf = Math.max(Yf, Math.min(he, Bf));
L.current = { x: qf, y: Hf }, k.current && (q && cancelAnimationFrame(q), q = requestAnimationFrame(() => {
k.current && L.current && (k.current.style.left = L.current.x + "px", k.current.style.top = L.current.y + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B));
}));
}, se = () => {
oe(!1), L.current && K({ ...L.current });
};
return window.addEventListener("mousemove", X), window.addEventListener("mouseup", se), () => {
window.removeEventListener("mousemove", X), window.removeEventListener("mouseup", se), q && cancelAnimationFrame(q);
};
}, [J, B]);
const R = (q) => {
var Ce, Ct;
if (!k.current) return;
g && x(!1), q.preventDefault(), q.stopPropagation();
const X = k.current, { width: se, height: Ne } = X.getBoundingClientRect(), We = window.innerWidth, Oe = window.innerHeight;
let ue = ((Ce = L.current) == null ? void 0 : Ce.x) ?? (j == null ? void 0 : j.x), he = ((Ct = L.current) == null ? void 0 : Ct.y) ?? (j == null ? void 0 : j.y);
(ue === void 0 || he === void 0) && (p ? (ue = p.x, he = p.y) : (ue = (We - se) / 2, he = (Oe - Ne) / 2)), ge.current = { x: ue, y: he }, $.current = { x: q.clientX, y: q.clientY }, oe(!0), !j && !L.current && (K({ x: ue, y: he }), L.current = { x: ue, y: he }, k.current && (k.current.style.left = ue + "px", k.current.style.top = he + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B)));
};
let N = u;
if (v) {
let q = !1;
N = Array.isArray(u) ? u.map((X) => {
if (!q && Ni(X) && (X.type === Lo || X.type.displayName === "ModalDragHandle")) {
q = !0;
const se = X;
return Ri(se, {
children: /* @__PURE__ */ V(
"div",
{
style: { cursor: "move", userSelect: "none" },
onMouseDown: R,
children: se.props.children
}
)
});
}
return X;
}) : Ni(u) && (u.type === Lo || u.type.displayName === "ModalDragHandle") ? (() => {
const X = u;
return Ri(X, {
children: /* @__PURE__ */ V(
"div",
{
style: { cursor: "move", userSelect: "none" },
onMouseDown: R,
children: X.props.children
}
)
});
})() : u;
}
const z = Ee(null), M = Ee(null), W = (q, X) => {
if (!k.current || (q.preventDefault(), q.stopPropagation(), g)) return;
const se = k.current.getBoundingClientRect();
z.current = X, M.current = {
mouseX: q.clientX,
mouseY: q.clientY,
width: se.width,
height: se.height,
x: se.left,
y: se.top
}, U(!0);
};
Ae(() => {
if (!le) return;
let q = null;
const X = (Ne) => {
if (!k.current || !M.current || !z.current)
return;
const We = Ne.clientX - M.current.mouseX, Oe = Ne.clientY - M.current.mouseY;
let ue = M.current.width, he = M.current.height, Ce = M.current.x, Ct = M.current.y;
const zt = z.current, ta = 320, na = 240;
zt.includes("right") && (ue = M.current.width + We), zt.includes("left") && (ue = M.current.width - We, Ce = M.current.x + We), zt.includes("bottom") && (he = M.current.height + Oe), zt.includes("top") && (he = M.current.height - Oe, Ct = M.current.y + Oe), ue = Math.max(ta, ue), he = Math.max(na, he), L.current = { x: Ce, y: Ct }, Se.current = { width: ue, height: he }, q && cancelAnimationFrame(q), q = requestAnimationFrame(() => {
k.current && L.current && (k.current.style.width = ue + "px", k.current.style.height = he + "px", k.current.style.left = L.current.x + "px", k.current.style.top = L.current.y + "px", k.current.style.margin = "0", k.current.style.position = "fixed", k.current.style.zIndex = String(B));
});
}, se = () => {
U(!1), L.current && K({ ...L.current }), Se.current && we({ ...Se.current });
};
return window.addEventListener("mousemove", X), window.addEventListener("mouseup", se), () => {
window.removeEventListener("mousemove", X), window.removeEventListener("mouseup", se), q && cancelAnimationFrame(q);
};
}, [le, B]);
const ce = () => {
if (!m || g) return null;
const q = "absolute z-[75] bg-transparent select-none", X = 5, se = 2, Ne = [
{ dir: "top", className: `top-0 left-0 w-full h-${se}` },
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${se}` },
{ dir: "left", className: `left-0 top-0 h-full w-${se}` },
{ dir: "right", className: `right-0 top-0 h-full w-${se}` },
{
dir: "top-left",
className: `top-0 left-0 w-${X} h-${X}`
},
{
dir: "top-right",
className: `top-0 right-0 w-${X} h-${X}`
},
{
dir: "bottom-left",
className: `bottom-0 left-0 w-${X} h-${X}`
},
{
dir: "bottom-right",
className: `bottom-0 right-0 w-${X} h-${X}`
}
], We = {
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 Ne.map((Oe) => /* @__PURE__ */ V(
"div",
{
className: `${q} ${Oe.className}`,
style: { cursor: We[Oe.dir] },
onMouseDown: (ue) => W(ue, Oe.dir)
},
Oe.dir
));
}, [E, we] = yt(
null
), Se = Ee(null), Ze = Ee(null);
Ae(() => {
if (e && !E && k.current && m) {
const { width: q, height: X } = k.current.getBoundingClientRect();
we({ width: q, height: X }), Se.current = { width: q, height: X };
}
}, [e, E, m]), Ae(() => {
if (m) {
if (!e)
Se.current && (Ze.current = { ...Se.current });
else if (Ze.current && k.current) {
const { width: q, height: X } = Ze.current;
k.current.style.width = q + "px", k.current.style.height = X + "px", we({ width: q, height: X }), Se.current = { width: q, height: X };
}
}
}, [e, m]), Ae(() => {
const q = () => {
k.current && B < yn && (yn += 1, ie(yn), k.current.style.zIndex = String(yn));
}, X = k.current;
return X && X.addEventListener("mousedown", q), () => {
X && X.removeEventListener("mousedown", q);
};
}, [B]), Ae(() => {
if (!e || w) return;
const q = (X) => {
if (X.key === "Escape" || X.key === "Esc") return;
const se = X.target;
se && (se.closest(
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
) || se.matches("input, textarea, select, button, [contenteditable]")) || X.stopPropagation();
};
return window.addEventListener("keydown", q, !0), () => {
window.removeEventListener("keydown", q, !0);
};
}, [e, w]), Ae(() => {
if (!w) return;
const q = k.current;
if (!q) return;
const X = (ue) => {
ue && (ue.hasAttribute("inert") && ue.removeAttribute("inert"), ue.inert && (ue.inert = !1), ue.getAttribute("aria-hidden") === "true" && ue.removeAttribute("aria-hidden"));
};
let se = q;
for (; se; )
X(se), se = se.parentElement;
const Ne = new MutationObserver((ue) => {
ue.forEach((he) => {
if (he.type === "attributes" && he.attributeName === "inert" && he.target instanceof HTMLElement) {
const Ce = he.target;
(Ce === q || q.contains(Ce)) && X(Ce);
}
});
});
Ne.observe(q, {
attributes: !0,
subtree: !1,
attributeFilter: ["inert"]
}), (() => {
document.querySelectorAll(
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
).forEach((he) => he.removeAttribute("inert"));
})();
const Oe = new MutationObserver((ue) => {
ue.forEach((he) => {
if (he.type === "attributes" && he.attributeName === "inert" && he.target.hasAttribute("inert")) {
const Ce = he.target;
(Ce.hasAttribute("data-radix-portal") || Ce.hasAttribute("data-headlessui-portal")) && X(Ce);
}
});
});
return Oe.observe(document.body, {
attributes: !0,
subtree: !0,
attributeFilter: ["inert"]
}), () => {
Ne.disconnect(), Oe.disconnect();
};
}, [w]);
const ea = Ee(Math.floor(Math.random() * 1e9));
Ae(() => {
if (e)
return g1({
id: ea.current,
zIndex: B,
onClose: a,
closeOnEsc: A
}), () => {
y1(ea.current);
};
}, [e]), Ae(() => {
e && b1(ea.current, { zIndex: B, onClose: a, closeOnEsc: A });
}, [e, B, a, A]);
const Uf = () => g ? {
position: "fixed",
left: 0,
top: 0,
margin: 0,
zIndex: B,
width: "100vw",
height: "100vh",
...w ? { pointerEvents: "auto" } : {}
} : !v || !j ? {
...m && E ? { width: E.width, height: E.height } : {},
...w ? { pointerEvents: "auto" } : {}
} : {
position: "fixed",
left: j.x,
top: j.y,
margin: 0,
zIndex: B,
...m && E ? { width: E.width, height: E.height } : {},
...w ? { pointerEvents: "auto" } : {}
};
return /* @__PURE__ */ V(
Dm,
{
open: e,
onOpenChange: (q) => !q && b && a(),
modal: !w,
children: /* @__PURE__ */ V(jm, { children: /* @__PURE__ */ gt(
"div",
{
className: "fixed inset-0 z-[70]",
style: w ? { pointerEvents: "none" } : void 0,
children: [
!w && I(
(q, X) => X ? /* @__PURE__ */ V(
x1,
{
styles: q,
backdropClassName: c,
disableHotkeyInput: i,
enableHotkeyInput: o
},
"backdrop"
) : null
),
w && /* @__PURE__ */ V(
"div",
{
className: wn("fixed inset-0 z-[69]", c),
style: { pointerEvents: "none" }
}
),
/* @__PURE__ */ V(Wf.Provider, { value: { expanded: g, toggleExpanded: F }, children: /* @__PURE__ */ V(
"div",
{
className: "flex min-h-full items-center justify-center p-4 text-center",
style: w ? { pointerEvents: "none" } : void 0,
children: D((q, X) => X ? /* @__PURE__ */ V(
Lm,
{
forceMount: !0,
asChild: !0,
...H ? {} : { "aria-describedby": void 0 },
onPointerDownOutside: (se) => {
(!b || w) && se.preventDefault();
},
onEscapeKeyDown: (se) => {
A || se.preventDefault();
},
onInteractOutside: (se) => {
w && se.preventDefault();
},
children: /* @__PURE__ */ gt(
Lf.div,
{
className: wn(
"w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]",
f && !g ? "p-4" : "",
s,
"!transition-none",
// Always disable CSS transitions for spring animations
g && "w-screen h-screen max-w-screen max-h-screen rounded-none"
),
ref: k,
style: {
...Uf(),
opacity: q.opacity,
transform: q.transform,
transformOrigin: "center center",
willChange: "transform, opacity"
// Optimize for animations
},
children: [
/* @__PURE__ */ gt("div", { className: "w-full h-full", children: [
H && /* @__PURE__ */ V(Bl, { asChild: !0, children: /* @__PURE__ */ V($m, { children: H }) }),
t ? /* @__PURE__ */ V(
qi,
{
className: wn(
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
),
children: /* @__PURE__ */ V(br, { children: r ? /* @__PURE__ */ gt(
"button",
{
className: "flex items-center gap-3",
onClick: r,
children: [
n && /* @__PURE__ */ V(
Mn,
{
icon: n,
className: d
}
),
t
]
}
) : /* @__PURE__ */ gt("div", { className: "flex items-center gap-3", children: [
n && /* @__PURE__ */ V(
Mn,
{
icon: n,
className: d
}
),
t
] }) })
}
) : /* @__PURE__ */ V(Bl, { asChild: !0, children: /* @__PURE__ */ V(qi, { children: h ?? "Dialog" }) }),
/* @__PURE__ */ V("div", { className: "h-full".trim(), children: N }),
ce()
] }),
(y || P) && /* @__PURE__ */ gt("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
P && /* @__PURE__ */ V(Jr.ExpandButton, {}),
y && /* @__PURE__ */ V(Vv, { onClick: a })
] })
]
}
)
}
) : null)
}
) })
]
}
) })
}
);
};
Jr.DragHandle = Lo;
Jr.DragHandle.displayName = "ModalDragHandle";
Jr.ExpandButton = _i;
_i.displayName = "ModalExpandButton";
export {
Jr as Modal
};