function useHttpRequestLib() { let e = {}, t = "POST", a = null; const n = (f) => { e = f; }, r = async (f, u) => (t = "POST", a = u, await l(f)), o = async (f) => (t = "GET", await l(f)), s = async (f) => (t = "DELETE", await l(f)), l = async (f) => { const u = { method: t, cache: "no-cache", credentials: "same-origin" }; return t === "POST" && (u.body = a), Object.keys(e).length > 0 && (u.headers = e), fetch(f, u).then((c) => { const m = c.headers.get("content-type"); return m && m.indexOf("application/json") !== -1 ? c.json() : { status: "error", message: "network_error" }; }).catch((c) => ({ status: "error", message: "network_error" })); }; return { http_post: r, http_get: o, http_delete: s, setHeaders: n }; } function uniqID(e = "", t = !0) { const n = (Date.now() * 1e3 + Math.random() * 1e3).toString(16).replace(/\./g, "").padEnd(14, "0"); return `${e}${n}${t ? `_${Math.trunc(Math.random() * 1e8)}` : ""}`; } function ownKeys(e, t) { var a = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), a.push.apply(a, n); } return a; } function _objectSpread2(e) { for (var t = 1; t < arguments.length; t++) { var a = arguments[t] != null ? arguments[t] : {}; t % 2 ? ownKeys(Object(a), !0).forEach(function(n) { _defineProperty(e, n, a[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(a)) : ownKeys(Object(a)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(a, n)); }); } return e; } function _typeof(e) { "@babel/helpers - typeof"; return _typeof = 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; }, _typeof(e); } function _classCallCheck(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, t) { for (var a = 0; a < t.length; a++) { var n = t[a]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } function _createClass(e, t, a) { return t && _defineProperties(e.prototype, t), a && _defineProperties(e, a), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function _defineProperty(e, t, a) { return t in e ? Object.defineProperty(e, t, { value: a, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = a, e; } function _slicedToArray(e, t) { return _arrayWithHoles(e) || _iterableToArrayLimit(e, t) || _unsupportedIterableToArray(e, t) || _nonIterableRest(); } function _toConsumableArray(e) { return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread(); } function _arrayWithoutHoles(e) { if (Array.isArray(e)) return _arrayLikeToArray(e); } function _arrayWithHoles(e) { if (Array.isArray(e)) return e; } function _iterableToArray(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function _iterableToArrayLimit(e, t) { var a = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"]; if (a != null) { var n = [], r = !0, o = !1, s, l; try { for (a = a.call(e); !(r = (s = a.next()).done) && (n.push(s.value), !(t && n.length === t)); r = !0) ; } catch (f) { o = !0, l = f; } finally { try { !r && a.return != null && a.return(); } finally { if (o) throw l; } } return n; } } function _unsupportedIterableToArray(e, t) { if (e) { if (typeof e == "string") return _arrayLikeToArray(e, t); var a = Object.prototype.toString.call(e).slice(8, -1); if (a === "Object" && e.constructor && (a = e.constructor.name), a === "Map" || a === "Set") return Array.from(e); if (a === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)) return _arrayLikeToArray(e, t); } } function _arrayLikeToArray(e, t) { (t == null || t > e.length) && (t = e.length); for (var a = 0, n = new Array(t); a < t; a++) n[a] = e[a]; return n; } function _nonIterableSpread() { 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 _nonIterableRest() { throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var noop = function() { }, _WINDOW = {}, _DOCUMENT = {}, _MUTATION_OBSERVER = null, _PERFORMANCE = { mark: noop, measure: noop }; try { typeof window < "u" && (_WINDOW = window), typeof document < "u" && (_DOCUMENT = document), typeof MutationObserver < "u" && (_MUTATION_OBSERVER = MutationObserver), typeof performance < "u" && (_PERFORMANCE = performance); } catch { } var _ref = _WINDOW.navigator || {}, _ref$userAgent = _ref.userAgent, userAgent = _ref$userAgent === void 0 ? "" : _ref$userAgent, WINDOW = _WINDOW, DOCUMENT = _DOCUMENT, MUTATION_OBSERVER = _MUTATION_OBSERVER, PERFORMANCE = _PERFORMANCE; WINDOW.document; var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener == "function" && typeof DOCUMENT.createElement == "function", IS_IE = ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/"), _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5, NAMESPACE_IDENTIFIER = "___FONT_AWESOME___", UNITS_IN_GRID = 16, DEFAULT_CSS_PREFIX = "fa", DEFAULT_REPLACEMENT_CLASS = "svg-inline--fa", DATA_FA_I2SVG = "data-fa-i2svg", DATA_FA_PSEUDO_ELEMENT = "data-fa-pseudo-element", DATA_FA_PSEUDO_ELEMENT_PENDING = "data-fa-pseudo-element-pending", DATA_PREFIX = "data-prefix", DATA_ICON = "data-icon", HTML_CLASS_I2SVG_BASE_CLASS = "fontawesome-i2svg", MUTATION_APPROACH_ASYNC = "async", TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ["HTML", "HEAD", "STYLE", "SCRIPT"], PRODUCTION = function() { try { return process.env.NODE_ENV === "production"; } catch { return !1; } }(), FAMILY_CLASSIC = "classic", FAMILY_SHARP = "sharp", FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP]; function familyProxy(e) { return new Proxy(e, { get: function(a, n) { return n in a ? a[n] : a[FAMILY_CLASSIC]; } }); } var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fad: "duotone", "fa-duotone": "duotone", fab: "brands", "fa-brands": "brands", fak: "kit", fakd: "kit", "fa-kit": "kit", "fa-kit-duotone": "kit" }), _defineProperty(_familyProxy, FAMILY_SHARP, { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }), _familyProxy)), STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, { solid: "fas", regular: "far", light: "fal", thin: "fat", duotone: "fad", brands: "fab", kit: "fak" }), _defineProperty(_familyProxy2, FAMILY_SHARP, { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }), _familyProxy2)), PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, { fab: "fa-brands", fad: "fa-duotone", fak: "fa-kit", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }), _defineProperty(_familyProxy3, FAMILY_SHARP, { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }), _familyProxy3)), LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, { "fa-brands": "fab", "fa-duotone": "fad", "fa-kit": "fak", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }), _defineProperty(_familyProxy4, FAMILY_SHARP, { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }), _familyProxy4)), ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl|st)?[\-\ ]/, LAYERS_TEXT_CLASSNAME = "fa-layers-text", FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i, FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }), _defineProperty(_familyProxy5, FAMILY_SHARP, { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }), _familyProxy5)), oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ATTRIBUTES_WATCHED_FOR_MUTATION = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], DUOTONE_CLASSES = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, prefixes = /* @__PURE__ */ new Set(); Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes)); Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes)); var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ["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", DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function(e) { return "".concat(e, "x"); })).concat(oneToTwenty.map(function(e) { return "w-".concat(e); })), initial = WINDOW.FontAwesomeConfig || {}; function getAttrConfig(e) { var t = DOCUMENT.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function coerce(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } if (DOCUMENT && typeof DOCUMENT.querySelector == "function") { var attrs = [["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"]]; attrs.forEach(function(e) { var t = _slicedToArray(e, 2), a = t[0], n = t[1], r = coerce(getAttrConfig(a)); r != null && (initial[n] = r); }); } var _default = { styleDefault: "solid", familyDefault: "classic", cssPrefix: DEFAULT_CSS_PREFIX, replacementClass: DEFAULT_REPLACEMENT_CLASS, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; initial.familyPrefix && (initial.cssPrefix = initial.familyPrefix); var _config = _objectSpread2(_objectSpread2({}, _default), initial); _config.autoReplaceSvg || (_config.observeMutations = !1); var config = {}; Object.keys(_default).forEach(function(e) { Object.defineProperty(config, e, { enumerable: !0, set: function(a) { _config[e] = a, _onChangeCb.forEach(function(n) { return n(config); }); }, get: function() { return _config[e]; } }); }); Object.defineProperty(config, "familyPrefix", { enumerable: !0, set: function(t) { _config.cssPrefix = t, _onChangeCb.forEach(function(a) { return a(config); }); }, get: function() { return _config.cssPrefix; } }); WINDOW.FontAwesomeConfig = config; var _onChangeCb = []; function onChange(e) { return _onChangeCb.push(e), function() { _onChangeCb.splice(_onChangeCb.indexOf(e), 1); }; } var d = UNITS_IN_GRID, meaninglessTransform = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function insertCss(e) { if (!(!e || !IS_DOM)) { var t = DOCUMENT.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; for (var a = DOCUMENT.head.childNodes, n = null, r = a.length - 1; r > -1; r--) { var o = a[r], s = (o.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(s) > -1 && (n = o); } return DOCUMENT.head.insertBefore(t, n), e; } } var idPool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function nextUniqueId() { for (var e = 12, t = ""; e-- > 0; ) t += idPool[Math.random() * 62 | 0]; return t; } function toArray(e) { for (var t = [], a = (e || []).length >>> 0; a--; ) t[a] = e[a]; return t; } function classArray(e) { return e.classList ? toArray(e.classList) : (e.getAttribute("class") || "").split(" ").filter(function(t) { return t; }); } function htmlEscape(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function joinAttributes(e) { return Object.keys(e || {}).reduce(function(t, a) { return t + "".concat(a, '="').concat(htmlEscape(e[a]), '" '); }, "").trim(); } function joinStyles(e) { return Object.keys(e || {}).reduce(function(t, a) { return t + "".concat(a, ": ").concat(e[a].trim(), ";"); }, ""); } function transformIsMeaningful(e) { return e.size !== meaninglessTransform.size || e.x !== meaninglessTransform.x || e.y !== meaninglessTransform.y || e.rotate !== meaninglessTransform.rotate || e.flipX || e.flipY; } function transformForSvg(e) { var t = e.transform, a = e.containerWidth, n = e.iconWidth, r = { transform: "translate(".concat(a / 2, " 256)") }, o = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), s = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), l = "rotate(".concat(t.rotate, " 0 0)"), f = { transform: "".concat(o, " ").concat(s, " ").concat(l) }, u = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: r, inner: f, path: u }; } function transformForCss(e) { var t = e.transform, a = e.width, n = a === void 0 ? UNITS_IN_GRID : a, r = e.height, o = r === void 0 ? UNITS_IN_GRID : r, s = e.startCentered, l = s === void 0 ? !1 : s, f = ""; return l && IS_IE ? f += "translate(".concat(t.x / d - n / 2, "em, ").concat(t.y / d - o / 2, "em) ") : l ? f += "translate(calc(-50% + ".concat(t.x / d, "em), calc(-50% + ").concat(t.y / d, "em)) ") : f += "translate(".concat(t.x / d, "em, ").concat(t.y / d, "em) "), f += "scale(".concat(t.size / d * (t.flipX ? -1 : 1), ", ").concat(t.size / d * (t.flipY ? -1 : 1), ") "), f += "rotate(".concat(t.rotate, "deg) "), f; } var baseStyles = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --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-brands: normal 400 1em/1 "Font Awesome 6 Brands"; } 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 { -webkit-transform-origin: center center; transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transform-origin: center center; 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); -webkit-transform: scale(var(--fa-counter-scale, 0.25)); transform: scale(var(--fa-counter-scale, 0.25)); -webkit-transform-origin: top right; transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; -webkit-transform: scale(var(--fa-layers-scale, 0.25)); transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: bottom right; transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; -webkit-transform: scale(var(--fa-layers-scale, 0.25)); transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: bottom left; transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); -webkit-transform: scale(var(--fa-layers-scale, 0.25)); transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: top right; transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); -webkit-transform: scale(var(--fa-layers-scale, 0.25)); transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: top left; 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(var(--fa-li-width, 2em) * -1); 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 { -webkit-animation-name: fa-beat; animation-name: fa-beat; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { -webkit-animation-name: fa-bounce; animation-name: fa-bounce; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { -webkit-animation-name: fa-fade; animation-name: fa-fade; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { -webkit-animation-name: fa-beat-fade; animation-name: fa-beat-fade; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { -webkit-animation-name: fa-flip; animation-name: fa-flip; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { -webkit-animation-name: fa-shake; animation-name: fa-shake; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, linear); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { -webkit-animation-name: fa-spin; animation-name: fa-spin; -webkit-animation-delay: var(--fa-animation-delay, 0s); animation-delay: var(--fa-animation-delay, 0s); -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 2s); animation-duration: var(--fa-animation-duration, 2s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, linear); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { -webkit-animation-name: fa-spin; animation-name: fa-spin; -webkit-animation-direction: var(--fa-animation-direction, normal); animation-direction: var(--fa-animation-direction, normal); -webkit-animation-duration: var(--fa-animation-duration, 1s); animation-duration: var(--fa-animation-duration, 1s); -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-iteration-count: var(--fa-animation-iteration-count, infinite); -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); 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 { -webkit-animation-delay: -1ms; animation-delay: -1ms; -webkit-animation-duration: 1ms; animation-duration: 1ms; -webkit-animation-iteration-count: 1; animation-iteration-count: 1; -webkit-transition-delay: 0s; transition-delay: 0s; -webkit-transition-duration: 0s; transition-duration: 0s; } } @-webkit-keyframes fa-beat { 0%, 90% { -webkit-transform: scale(1); transform: scale(1); } 45% { -webkit-transform: scale(var(--fa-beat-scale, 1.25)); transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-beat { 0%, 90% { -webkit-transform: scale(1); transform: scale(1); } 45% { -webkit-transform: scale(var(--fa-beat-scale, 1.25)); transform: scale(var(--fa-beat-scale, 1.25)); } } @-webkit-keyframes fa-bounce { 0% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10% { -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { -webkit-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)); 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% { -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 100% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } @keyframes fa-bounce { 0% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10% { -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { -webkit-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)); 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% { -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 100% { -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } @-webkit-keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @-webkit-keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: 1; -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: 1; -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @-webkit-keyframes fa-flip { 50% { -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-flip { 50% { -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @-webkit-keyframes fa-shake { 0% { -webkit-transform: rotate(-15deg); transform: rotate(-15deg); } 4% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } 8%, 24% { -webkit-transform: rotate(-18deg); transform: rotate(-18deg); } 12%, 28% { -webkit-transform: rotate(18deg); transform: rotate(18deg); } 16% { -webkit-transform: rotate(-22deg); transform: rotate(-22deg); } 20% { -webkit-transform: rotate(22deg); transform: rotate(22deg); } 32% { -webkit-transform: rotate(-12deg); transform: rotate(-12deg); } 36% { -webkit-transform: rotate(12deg); transform: rotate(12deg); } 40%, 100% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } } @keyframes fa-shake { 0% { -webkit-transform: rotate(-15deg); transform: rotate(-15deg); } 4% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } 8%, 24% { -webkit-transform: rotate(-18deg); transform: rotate(-18deg); } 12%, 28% { -webkit-transform: rotate(18deg); transform: rotate(18deg); } 16% { -webkit-transform: rotate(-22deg); transform: rotate(-22deg); } 20% { -webkit-transform: rotate(22deg); transform: rotate(22deg); } 32% { -webkit-transform: rotate(-12deg); transform: rotate(-12deg); } 36% { -webkit-transform: rotate(12deg); transform: rotate(12deg); } 40%, 100% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .fa-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { -webkit-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { -webkit-transform: scale(1, -1); transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { -webkit-transform: scale(-1, -1); transform: scale(-1, -1); } .fa-rotate-by { -webkit-transform: rotate(var(--fa-rotate-angle, none)); transform: rotate(var(--fa-rotate-angle, none)); } .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; } .fad.fa-inverse, .fa-duotone.fa-inverse { color: var(--fa-inverse, #fff); }`; function css() { var e = DEFAULT_CSS_PREFIX, t = DEFAULT_REPLACEMENT_CLASS, a = config.cssPrefix, n = config.replacementClass, r = baseStyles; if (a !== e || n !== t) { var o = new RegExp("\\.".concat(e, "\\-"), "g"), s = new RegExp("\\--".concat(e, "\\-"), "g"), l = new RegExp("\\.".concat(t), "g"); r = r.replace(o, ".".concat(a, "-")).replace(s, "--".concat(a, "-")).replace(l, ".".concat(n)); } return r; } var _cssInserted = !1; function ensureCss() { config.autoAddCss && !_cssInserted && (insertCss(css()), _cssInserted = !0); } var InjectCSS = { mixout: function() { return { dom: { css, insertCss: ensureCss } }; }, hooks: function() { return { beforeDOMElementCreation: function() { ensureCss(); }, beforeI2svg: function() { ensureCss(); } }; } }, w = WINDOW || {}; w[NAMESPACE_IDENTIFIER] || (w[NAMESPACE_IDENTIFIER] = {}); w[NAMESPACE_IDENTIFIER].styles || (w[NAMESPACE_IDENTIFIER].styles = {}); w[NAMESPACE_IDENTIFIER].hooks || (w[NAMESPACE_IDENTIFIER].hooks = {}); w[NAMESPACE_IDENTIFIER].shims || (w[NAMESPACE_IDENTIFIER].shims = []); var namespace = w[NAMESPACE_IDENTIFIER], functions = [], listener = function e() { DOCUMENT.removeEventListener("DOMContentLoaded", e), loaded = 1, functions.map(function(t) { return t(); }); }, loaded = !1; IS_DOM && (loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState), loaded || DOCUMENT.addEventListener("DOMContentLoaded", listener)); function domready(e) { IS_DOM && (loaded ? setTimeout(e, 0) : functions.push(e)); } function toHtml(e) { var t = e.tag, a = e.attributes, n = a === void 0 ? {} : a, r = e.children, o = r === void 0 ? [] : r; return typeof e == "string" ? htmlEscape(e) : "<".concat(t, " ").concat(joinAttributes(n), ">").concat(o.map(toHtml).join(""), ""); } function iconFromMapping(e, t, a) { if (e && e[t] && e[t][a]) return { prefix: t, iconName: a, icon: e[t][a] }; } var bindInternal4 = function(t, a) { return function(n, r, o, s) { return t.call(a, n, r, o, s); }; }, reduce = function(t, a, n, r) { var o = Object.keys(t), s = o.length, l = r !== void 0 ? bindInternal4(a, r) : a, f, u, c; for (n === void 0 ? (f = 1, c = t[o[0]]) : (f = 0, c = n); f < s; f++) u = o[f], c = l(c, t[u], u, t); return c; }; function ucs2decode(e) { for (var t = [], a = 0, n = e.length; a < n; ) { var r = e.charCodeAt(a++); if (r >= 55296 && r <= 56319 && a < n) { var o = e.charCodeAt(a++); (o & 64512) == 56320 ? t.push(((r & 1023) << 10) + (o & 1023) + 65536) : (t.push(r), a--); } else t.push(r); } return t; } function toHex(e) { var t = ucs2decode(e); return t.length === 1 ? t[0].toString(16) : null; } function codePointAt(e, t) { var a = e.length, n = e.charCodeAt(t), r; return n >= 55296 && n <= 56319 && a > t + 1 && (r = e.charCodeAt(t + 1), r >= 56320 && r <= 57343) ? (n - 55296) * 1024 + r - 56320 + 65536 : n; } function normalizeIcons(e) { return Object.keys(e).reduce(function(t, a) { var n = e[a], r = !!n.icon; return r ? t[n.iconName] = n.icon : t[a] = n, t; }, {}); } function defineIcons(e, t) { var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, n = a.skipHooks, r = n === void 0 ? !1 : n, o = normalizeIcons(t); typeof namespace.hooks.addPack == "function" && !r ? namespace.hooks.addPack(e, normalizeIcons(t)) : namespace.styles[e] = _objectSpread2(_objectSpread2({}, namespace.styles[e] || {}), o), e === "fas" && defineIcons("fa", t); } var _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY, styles = namespace.styles, shims = namespace.shims, LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE), _defaultUsablePrefix = null, _byUnicode = {}, _byLigature = {}, _byOldName = {}, _byOldUnicode = {}, _byAlias = {}, PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES); function isReserved(e) { return ~RESERVED_CLASSES.indexOf(e); } function getIconName(e, t) { var a = t.split("-"), n = a[0], r = a.slice(1).join("-"); return n === e && r !== "" && !isReserved(r) ? r : null; } var build = function() { var t = function(o) { return reduce(styles, function(s, l, f) { return s[f] = reduce(l, o, {}), s; }, {}); }; _byUnicode = t(function(r, o, s) { if (o[3] && (r[o[3]] = s), o[2]) { var l = o[2].filter(function(f) { return typeof f == "number"; }); l.forEach(function(f) { r[f.toString(16)] = s; }); } return r; }), _byLigature = t(function(r, o, s) { if (r[s] = s, o[2]) { var l = o[2].filter(function(f) { return typeof f == "string"; }); l.forEach(function(f) { r[f] = s; }); } return r; }), _byAlias = t(function(r, o, s) { var l = o[2]; return r[s] = s, l.forEach(function(f) { r[f] = s; }), r; }); var a = "far" in styles || config.autoFetchSvg, n = reduce(shims, function(r, o) { var s = o[0], l = o[1], f = o[2]; return l === "far" && !a && (l = "fas"), typeof s == "string" && (r.names[s] = { prefix: l, iconName: f }), typeof s == "number" && (r.unicodes[s.toString(16)] = { prefix: l, iconName: f }), r; }, { names: {}, unicodes: {} }); _byOldName = n.names, _byOldUnicode = n.unicodes, _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, { family: config.familyDefault }); }; onChange(function(e) { _defaultUsablePrefix = getCanonicalPrefix(e.styleDefault, { family: config.familyDefault }); }); build(); function byUnicode(e, t) { return (_byUnicode[e] || {})[t]; } function byLigature(e, t) { return (_byLigature[e] || {})[t]; } function byAlias(e, t) { return (_byAlias[e] || {})[t]; } function byOldName(e) { return _byOldName[e] || { prefix: null, iconName: null }; } function byOldUnicode(e) { var t = _byOldUnicode[e], a = byUnicode("fas", e); return t || (a ? { prefix: "fas", iconName: a } : null) || { prefix: null, iconName: null }; } function getDefaultUsablePrefix() { return _defaultUsablePrefix; } var emptyCanonicalIcon = function() { return { prefix: null, iconName: null, rest: [] }; }; function getCanonicalPrefix(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.family, n = a === void 0 ? FAMILY_CLASSIC : a, r = PREFIX_TO_STYLE[n][e], o = STYLE_TO_PREFIX[n][e] || STYLE_TO_PREFIX[n][r], s = e in namespace.styles ? e : null; return o || s || null; } var PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY); function getCanonicalIcon(e) { var t, a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = a.skipLookups, r = n === void 0 ? !1 : n, o = (t = {}, _defineProperty(t, FAMILY_CLASSIC, "".concat(config.cssPrefix, "-").concat(FAMILY_CLASSIC)), _defineProperty(t, FAMILY_SHARP, "".concat(config.cssPrefix, "-").concat(FAMILY_SHARP)), t), s = null, l = FAMILY_CLASSIC; (e.includes(o[FAMILY_CLASSIC]) || e.some(function(u) { return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(u); })) && (l = FAMILY_CLASSIC), (e.includes(o[FAMILY_SHARP]) || e.some(function(u) { return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(u); })) && (l = FAMILY_SHARP); var f = e.reduce(function(u, c) { var m = getIconName(config.cssPrefix, c); if (styles[c] ? (c = LONG_STYLE[l].includes(c) ? LONG_STYLE_TO_PREFIX[l][c] : c, s = c, u.prefix = c) : PREFIXES[l].indexOf(c) > -1 ? (s = c, u.prefix = getCanonicalPrefix(c, { family: l })) : m ? u.iconName = m : c !== config.replacementClass && c !== o[FAMILY_CLASSIC] && c !== o[FAMILY_SHARP] && u.rest.push(c), !r && u.prefix && u.iconName) { var y = s === "fa" ? byOldName(u.iconName) : {}, b = byAlias(u.prefix, u.iconName); y.prefix && (s = null), u.iconName = y.iconName || b || u.iconName, u.prefix = y.prefix || u.prefix, u.prefix === "far" && !styles.far && styles.fas && !config.autoFetchSvg && (u.prefix = "fas"); } return u; }, emptyCanonicalIcon()); return (e.includes("fa-brands") || e.includes("fab")) && (f.prefix = "fab"), (e.includes("fa-duotone") || e.includes("fad")) && (f.prefix = "fad"), !f.prefix && l === FAMILY_SHARP && (styles.fass || config.autoFetchSvg) && (f.prefix = "fass", f.iconName = byAlias(f.prefix, f.iconName) || f.iconName), (f.prefix === "fa" || s === "fa") && (f.prefix = getDefaultUsablePrefix() || "fas"), f; } var Library = /* @__PURE__ */ function() { function e() { _classCallCheck(this, e), this.definitions = {}; } return _createClass(e, [{ key: "add", value: function() { for (var a = this, n = arguments.length, r = new Array(n), o = 0; o < n; o++) r[o] = arguments[o]; var s = r.reduce(this._pullDefinitions, {}); Object.keys(s).forEach(function(l) { a.definitions[l] = _objectSpread2(_objectSpread2({}, a.definitions[l] || {}), s[l]), defineIcons(l, s[l]); var f = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][l]; f && defineIcons(f, s[l]), build(); }); } }, { key: "reset", value: function() { this.definitions = {}; } }, { key: "_pullDefinitions", value: function(a, n) { var r = n.prefix && n.iconName && n.icon ? { 0: n } : n; return Object.keys(r).map(function(o) { var s = r[o], l = s.prefix, f = s.iconName, u = s.icon, c = u[2]; a[l] || (a[l] = {}), c.length > 0 && c.forEach(function(m) { typeof m == "string" && (a[l][m] = u); }), a[l][f] = u; }), a; } }]), e; }(), _plugins = [], _hooks = {}, providers = {}, defaultProviderKeys = Object.keys(providers); function registerPlugins(e, t) { var a = t.mixoutsTo; return _plugins = e, _hooks = {}, Object.keys(providers).forEach(function(n) { defaultProviderKeys.indexOf(n) === -1 && delete providers[n]; }), _plugins.forEach(function(n) { var r = n.mixout ? n.mixout() : {}; if (Object.keys(r).forEach(function(s) { typeof r[s] == "function" && (a[s] = r[s]), _typeof(r[s]) === "object" && Object.keys(r[s]).forEach(function(l) { a[s] || (a[s] = {}), a[s][l] = r[s][l]; }); }), n.hooks) { var o = n.hooks(); Object.keys(o).forEach(function(s) { _hooks[s] || (_hooks[s] = []), _hooks[s].push(o[s]); }); } n.provides && n.provides(providers); }), a; } function chainHooks(e, t) { for (var a = arguments.length, n = new Array(a > 2 ? a - 2 : 0), r = 2; r < a; r++) n[r - 2] = arguments[r]; var o = _hooks[e] || []; return o.forEach(function(s) { t = s.apply(null, [t].concat(n)); }), t; } function callHooks(e) { for (var t = arguments.length, a = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) a[n - 1] = arguments[n]; var r = _hooks[e] || []; r.forEach(function(o) { o.apply(null, a); }); } function callProvided() { var e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return providers[e] ? providers[e].apply(null, t) : void 0; } function findIconDefinition(e) { e.prefix === "fa" && (e.prefix = "fas"); var t = e.iconName, a = e.prefix || getDefaultUsablePrefix(); if (t) return t = byAlias(a, t) || t, iconFromMapping(library.definitions, a, t) || iconFromMapping(namespace.styles, a, t); } var library = new Library(), noAuto = function() { config.autoReplaceSvg = !1, config.observeMutations = !1, callHooks("noAuto"); }, dom = { i2svg: function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return IS_DOM ? (callHooks("beforeI2svg", t), callProvided("pseudoElements2svg", t), callProvided("i2svg", t)) : Promise.reject("Operation requires a DOM of some kind."); }, watch: function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, a = t.autoReplaceSvgRoot; config.autoReplaceSvg === !1 && (config.autoReplaceSvg = !0), config.observeMutations = !0, domready(function() { autoReplace({ autoReplaceSvgRoot: a }), callHooks("watch", t); }); } }, parse = { icon: function(t) { if (t === null) return null; if (_typeof(t) === "object" && t.prefix && t.iconName) return { prefix: t.prefix, iconName: byAlias(t.prefix, t.iconName) || t.iconName }; if (Array.isArray(t) && t.length === 2) { var a = t[1].indexOf("fa-") === 0 ? t[1].slice(3) : t[1], n = getCanonicalPrefix(t[0]); return { prefix: n, iconName: byAlias(n, a) || a }; } if (typeof t == "string" && (t.indexOf("".concat(config.cssPrefix, "-")) > -1 || t.match(ICON_SELECTION_SYNTAX_PATTERN))) { var r = getCanonicalIcon(t.split(" "), { skipLookups: !0 }); return { prefix: r.prefix || getDefaultUsablePrefix(), iconName: byAlias(r.prefix, r.iconName) || r.iconName }; } if (typeof t == "string") { var o = getDefaultUsablePrefix(); return { prefix: o, iconName: byAlias(o, t) || t }; } } }, api = { noAuto, config, dom, parse, library, findIconDefinition, toHtml }, autoReplace = function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, a = t.autoReplaceSvgRoot, n = a === void 0 ? DOCUMENT : a; (Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg && api.dom.i2svg({ node: n }); }; function domVariants(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map(function(n) { return toHtml(n); }); } }), Object.defineProperty(e, "node", { get: function() { if (IS_DOM) { var n = DOCUMENT.createElement("div"); return n.innerHTML = e.html, n.children; } } }), e; } function asIcon(e) { var t = e.children, a = e.main, n = e.mask, r = e.attributes, o = e.styles, s = e.transform; if (transformIsMeaningful(s) && a.found && !n.found) { var l = a.width, f = a.height, u = { x: l / f / 2, y: 0.5 }; r.style = joinStyles(_objectSpread2(_objectSpread2({}, o), {}, { "transform-origin": "".concat(u.x + s.x / 16, "em ").concat(u.y + s.y / 16, "em") })); } return [{ tag: "svg", attributes: r, children: t }]; } function asSymbol(e) { var t = e.prefix, a = e.iconName, n = e.children, r = e.attributes, o = e.symbol, s = o === !0 ? "".concat(t, "-").concat(config.cssPrefix, "-").concat(a) : o; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: _objectSpread2(_objectSpread2({}, r), {}, { id: s }), children: n }] }]; } function makeInlineSvgAbstract(e) { var t = e.icons, a = t.main, n = t.mask, r = e.prefix, o = e.iconName, s = e.transform, l = e.symbol, f = e.title, u = e.maskId, c = e.titleId, m = e.extra, y = e.watchable, b = y === void 0 ? !1 : y, _ = n.found ? n : a, A = _.width, E = _.height, v = r === "fak", h = [config.replacementClass, o ? "".concat(config.cssPrefix, "-").concat(o) : ""].filter(function(g) { return m.classes.indexOf(g) === -1; }).filter(function(g) { return g !== "" || !!g; }).concat(m.classes).join(" "), I = { children: [], attributes: _objectSpread2(_objectSpread2({}, m.attributes), {}, { "data-prefix": r, "data-icon": o, class: h, role: m.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(A, " ").concat(E) }) }, T = v && !~m.classes.indexOf("fa-fw") ? { width: "".concat(A / E * 16 * 0.0625, "em") } : {}; b && (I.attributes[DATA_FA_I2SVG] = ""), f && (I.children.push({ tag: "title", attributes: { id: I.attributes["aria-labelledby"] || "title-".concat(c || nextUniqueId()) }, children: [f] }), delete I.attributes.title); var x = _objectSpread2(_objectSpread2({}, I), {}, { prefix: r, iconName: o, main: a, mask: n, maskId: u, transform: s, symbol: l, styles: _objectSpread2(_objectSpread2({}, T), m.styles) }), k = n.found && a.found ? callProvided("generateAbstractMask", x) || { children: [], attributes: {} } : callProvided("generateAbstractIcon", x) || { children: [], attributes: {} }, L = k.children, N = k.attributes; return x.children = L, x.attributes = N, l ? asSymbol(x) : asIcon(x); } function makeLayersTextAbstract(e) { var t = e.content, a = e.width, n = e.height, r = e.transform, o = e.title, s = e.extra, l = e.watchable, f = l === void 0 ? !1 : l, u = _objectSpread2(_objectSpread2(_objectSpread2({}, s.attributes), o ? { title: o } : {}), {}, { class: s.classes.join(" ") }); f && (u[DATA_FA_I2SVG] = ""); var c = _objectSpread2({}, s.styles); transformIsMeaningful(r) && (c.transform = transformForCss({ transform: r, startCentered: !0, width: a, height: n }), c["-webkit-transform"] = c.transform); var m = joinStyles(c); m.length > 0 && (u.style = m); var y = []; return y.push({ tag: "span", attributes: u, children: [t] }), o && y.push({ tag: "span", attributes: { class: "sr-only" }, children: [o] }), y; } function makeLayersCounterAbstract(e) { var t = e.content, a = e.title, n = e.extra, r = _objectSpread2(_objectSpread2(_objectSpread2({}, n.attributes), a ? { title: a } : {}), {}, { class: n.classes.join(" ") }), o = joinStyles(n.styles); o.length > 0 && (r.style = o); var s = []; return s.push({ tag: "span", attributes: r, children: [t] }), a && s.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), s; } var styles$1 = namespace.styles; function asFoundIcon(e) { var t = e[0], a = e[1], n = e.slice(4), r = _slicedToArray(n, 1), o = r[0], s = null; return Array.isArray(o) ? s = { tag: "g", attributes: { class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.SECONDARY), fill: "currentColor", d: o[0] } }, { tag: "path", attributes: { class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.PRIMARY), fill: "currentColor", d: o[1] } }] } : s = { tag: "path", attributes: { fill: "currentColor", d: o } }, { found: !0, width: t, height: a, icon: s }; } var missingIconResolutionMixin = { found: !1, width: 512, height: 512 }; function maybeNotifyMissing(e, t) { !PRODUCTION && !config.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function findIcon(e, t) { var a = t; return t === "fa" && config.styleDefault !== null && (t = getDefaultUsablePrefix()), new Promise(function(n, r) { if (callProvided("missingIconAbstract"), a === "fa") { var o = byOldName(e) || {}; e = o.iconName || e, t = o.prefix || t; } if (e && t && styles$1[t] && styles$1[t][e]) { var s = styles$1[t][e]; return n(asFoundIcon(s)); } maybeNotifyMissing(e, t), n(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, { icon: config.showMissingIcons && e ? callProvided("missingIconAbstract") || {} : {} })); }); } var noop$1 = function() { }, p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$1, measure: noop$1 }, preamble = 'FA "6.5.1"', begin = function(t) { return p.mark("".concat(preamble, " ").concat(t, " begins")), function() { return end(t); }; }, end = function(t) { p.mark("".concat(preamble, " ").concat(t, " ends")), p.measure("".concat(preamble, " ").concat(t), "".concat(preamble, " ").concat(t, " begins"), "".concat(preamble, " ").concat(t, " ends")); }, perf = { begin, end }, noop$2 = function() { }; function isWatched(e) { var t = e.getAttribute ? e.getAttribute(DATA_FA_I2SVG) : null; return typeof t == "string"; } function hasPrefixAndIcon(e) { var t = e.getAttribute ? e.getAttribute(DATA_PREFIX) : null, a = e.getAttribute ? e.getAttribute(DATA_ICON) : null; return t && a; } function hasBeenReplaced(e) { return e && e.classList && e.classList.contains && e.classList.contains(config.replacementClass); } function getMutator() { if (config.autoReplaceSvg === !0) return mutators.replace; var e = mutators[config.autoReplaceSvg]; return e || mutators.replace; } function createElementNS(e) { return DOCUMENT.createElementNS("http://www.w3.org/2000/svg", e); } function createElement(e) { return DOCUMENT.createElement(e); } function convertSVG(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.ceFn, n = a === void 0 ? e.tag === "svg" ? createElementNS : createElement : a; if (typeof e == "string") return DOCUMENT.createTextNode(e); var r = n(e.tag); Object.keys(e.attributes || []).forEach(function(s) { r.setAttribute(s, e.attributes[s]); }); var o = e.children || []; return o.forEach(function(s) { r.appendChild(convertSVG(s, { ceFn: n })); }), r; } function nodeAsComment(e) { var t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } var mutators = { replace: function(t) { var a = t[0]; if (a.parentNode) if (t[1].forEach(function(r) { a.parentNode.insertBefore(convertSVG(r), a); }), a.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) { var n = DOCUMENT.createComment(nodeAsComment(a)); a.parentNode.replaceChild(n, a); } else a.remove(); }, nest: function(t) { var a = t[0], n = t[1]; if (~classArray(a).indexOf(config.replacementClass)) return mutators.replace(t); var r = new RegExp("".concat(config.cssPrefix, "-.*")); if (delete n[0].attributes.id, n[0].attributes.class) { var o = n[0].attributes.class.split(" ").reduce(function(l, f) { return f === config.replacementClass || f.match(r) ? l.toSvg.push(f) : l.toNode.push(f), l; }, { toNode: [], toSvg: [] }); n[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? a.removeAttribute("class") : a.setAttribute("class", o.toNode.join(" ")); } var s = n.map(function(l) { return toHtml(l); }).join(` `); a.setAttribute(DATA_FA_I2SVG, ""), a.innerHTML = s; } }; function performOperationSync(e) { e(); } function perform(e, t) { var a = typeof t == "function" ? t : noop$2; if (e.length === 0) a(); else { var n = performOperationSync; config.mutateApproach === MUTATION_APPROACH_ASYNC && (n = WINDOW.requestAnimationFrame || performOperationSync), n(function() { var r = getMutator(), o = perf.begin("mutate"); e.map(r), o(), a(); }); } } var disabled = !1; function disableObservation() { disabled = !0; } function enableObservation() { disabled = !1; } var mo = null; function observe(e) { if (MUTATION_OBSERVER && config.observeMutations) { var t = e.treeCallback, a = t === void 0 ? noop$2 : t, n = e.nodeCallback, r = n === void 0 ? noop$2 : n, o = e.pseudoElementsCallback, s = o === void 0 ? noop$2 : o, l = e.observeMutationsRoot, f = l === void 0 ? DOCUMENT : l; mo = new MUTATION_OBSERVER(function(u) { if (!disabled) { var c = getDefaultUsablePrefix(); toArray(u).forEach(function(m) { if (m.type === "childList" && m.addedNodes.length > 0 && !isWatched(m.addedNodes[0]) && (config.searchPseudoElements && s(m.target), a(m.target)), m.type === "attributes" && m.target.parentNode && config.searchPseudoElements && s(m.target.parentNode), m.type === "attributes" && isWatched(m.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(m.attributeName)) if (m.attributeName === "class" && hasPrefixAndIcon(m.target)) { var y = getCanonicalIcon(classArray(m.target)), b = y.prefix, _ = y.iconName; m.target.setAttribute(DATA_PREFIX, b || c), _ && m.target.setAttribute(DATA_ICON, _); } else hasBeenReplaced(m.target) && r(m.target); }); } }), IS_DOM && mo.observe(f, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } } function disconnect() { mo && mo.disconnect(); } function styleParser(e) { var t = e.getAttribute("style"), a = []; return t && (a = t.split(";").reduce(function(n, r) { var o = r.split(":"), s = o[0], l = o.slice(1); return s && l.length > 0 && (n[s] = l.join(":").trim()), n; }, {})), a; } function classParser(e) { var t = e.getAttribute("data-prefix"), a = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "", r = getCanonicalIcon(classArray(e)); return r.prefix || (r.prefix = getDefaultUsablePrefix()), t && a && (r.prefix = t, r.iconName = a), r.iconName && r.prefix || (r.prefix && n.length > 0 && (r.iconName = byLigature(r.prefix, e.innerText) || byUnicode(r.prefix, toHex(e.innerText))), !r.iconName && config.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (r.iconName = e.firstChild.data)), r; } function attributesParser(e) { var t = toArray(e.attributes).reduce(function(r, o) { return r.name !== "class" && r.name !== "style" && (r[o.name] = o.value), r; }, {}), a = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return config.autoA11y && (a ? t["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(n || nextUniqueId()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function blankMeta() { return { iconName: null, title: null, titleId: null, prefix: null, transform: meaninglessTransform, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function parseMeta(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }, a = classParser(e), n = a.iconName, r = a.prefix, o = a.rest, s = attributesParser(e), l = chainHooks("parseNodeAttributes", {}, e), f = t.styleParser ? styleParser(e) : []; return _objectSpread2({ iconName: n, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: r, transform: meaninglessTransform, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: f, attributes: s } }, l); } var styles$2 = namespace.styles; function generateMutation(e) { var t = config.autoReplaceSvg === "nest" ? parseMeta(e, { styleParser: !1 }) : parseMeta(e); return ~t.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME) ? callProvided("generateLayersText", e, t) : callProvided("generateSvgReplacementMutation", e, t); } var knownPrefixes = /* @__PURE__ */ new Set(); FAMILIES.map(function(e) { knownPrefixes.add("fa-".concat(e)); }); Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes)); Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes)); knownPrefixes = _toConsumableArray(knownPrefixes); function onTree(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!IS_DOM) return Promise.resolve(); var a = DOCUMENT.documentElement.classList, n = function(m) { return a.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(m)); }, r = function(m) { return a.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(m)); }, o = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function(c) { return "fa-".concat(c); }).concat(Object.keys(styles$2)); o.includes("fa") || o.push("fa"); var s = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(o.map(function(c) { return ".".concat(c, ":not([").concat(DATA_FA_I2SVG, "])"); })).join(", "); if (s.length === 0) return Promise.resolve(); var l = []; try { l = toArray(e.querySelectorAll(s)); } catch { } if (l.length > 0) n("pending"), r("complete"); else return Promise.resolve(); var f = perf.begin("onTree"), u = l.reduce(function(c, m) { try { var y = generateMutation(m); y && c.push(y); } catch (b) { PRODUCTION || b.name === "MissingIcon" && console.error(b); } return c; }, []); return new Promise(function(c, m) { Promise.all(u).then(function(y) { perform(y, function() { n("active"), n("complete"), r("pending"), typeof t == "function" && t(), f(), c(); }); }).catch(function(y) { f(), m(y); }); }); } function onNode(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; generateMutation(e).then(function(a) { a && perform([a], t); }); } function resolveIcons(e) { return function(t) { var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = (t || {}).icon ? t : findIconDefinition(t || {}), r = a.mask; return r && (r = (r || {}).icon ? r : findIconDefinition(r || {})), e(n, _objectSpread2(_objectSpread2({}, a), {}, { mask: r })); }; } var render = function(t) { var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = a.transform, r = n === void 0 ? meaninglessTransform : n, o = a.symbol, s = o === void 0 ? !1 : o, l = a.mask, f = l === void 0 ? null : l, u = a.maskId, c = u === void 0 ? null : u, m = a.title, y = m === void 0 ? null : m, b = a.titleId, _ = b === void 0 ? null : b, A = a.classes, E = A === void 0 ? [] : A, v = a.attributes, h = v === void 0 ? {} : v, I = a.styles, T = I === void 0 ? {} : I; if (t) { var x = t.prefix, k = t.iconName, L = t.icon; return domVariants(_objectSpread2({ type: "icon" }, t), function() { return callHooks("beforeDOMElementCreation", { iconDefinition: t, params: a }), config.autoA11y && (y ? h["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(_ || nextUniqueId()) : (h["aria-hidden"] = "true", h.focusable = "false")), makeInlineSvgAbstract({ icons: { main: asFoundIcon(L), mask: f ? asFoundIcon(f.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: x, iconName: k, transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), r), symbol: s, title: y, maskId: c, titleId: _, extra: { attributes: h, styles: T, classes: E } }); }); } }, ReplaceElements = { mixout: function() { return { icon: resolveIcons(render) }; }, hooks: function() { return { mutationObserverCallbacks: function(a) { return a.treeCallback = onTree, a.nodeCallback = onNode, a; } }; }, provides: function(t) { t.i2svg = function(a) { var n = a.node, r = n === void 0 ? DOCUMENT : n, o = a.callback, s = o === void 0 ? function() { } : o; return onTree(r, s); }, t.generateSvgReplacementMutation = function(a, n) { var r = n.iconName, o = n.title, s = n.titleId, l = n.prefix, f = n.transform, u = n.symbol, c = n.mask, m = n.maskId, y = n.extra; return new Promise(function(b, _) { Promise.all([findIcon(r, l), c.iconName ? findIcon(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then(function(A) { var E = _slicedToArray(A, 2), v = E[0], h = E[1]; b([a, makeInlineSvgAbstract({ icons: { main: v, mask: h }, prefix: l, iconName: r, transform: f, symbol: u, maskId: m, title: o, titleId: s, extra: y, watchable: !0 })]); }).catch(_); }); }, t.generateAbstractIcon = function(a) { var n = a.children, r = a.attributes, o = a.main, s = a.transform, l = a.styles, f = joinStyles(l); f.length > 0 && (r.style = f); var u; return transformIsMeaningful(s) && (u = callProvided("generateAbstractTransformGrouping", { main: o, transform: s, containerWidth: o.width, iconWidth: o.width })), n.push(u || o.icon), { children: n, attributes: r }; }; } }, Layers = { mixout: function() { return { layer: function(a) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.classes, o = r === void 0 ? [] : r; return domVariants({ type: "layer" }, function() { callHooks("beforeDOMElementCreation", { assembler: a, params: n }); var s = []; return a(function(l) { Array.isArray(l) ? l.map(function(f) { s = s.concat(f.abstract); }) : s = s.concat(l.abstract); }), [{ tag: "span", attributes: { class: ["".concat(config.cssPrefix, "-layers")].concat(_toConsumableArray(o)).join(" ") }, children: s }]; }); } }; } }, LayersCounter = { mixout: function() { return { counter: function(a) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.title, o = r === void 0 ? null : r, s = n.classes, l = s === void 0 ? [] : s, f = n.attributes, u = f === void 0 ? {} : f, c = n.styles, m = c === void 0 ? {} : c; return domVariants({ type: "counter", content: a }, function() { return callHooks("beforeDOMElementCreation", { content: a, params: n }), makeLayersCounterAbstract({ content: a.toString(), title: o, extra: { attributes: u, styles: m, classes: ["".concat(config.cssPrefix, "-layers-counter")].concat(_toConsumableArray(l)) } }); }); } }; } }, LayersText = { mixout: function() { return { text: function(a) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.transform, o = r === void 0 ? meaninglessTransform : r, s = n.title, l = s === void 0 ? null : s, f = n.classes, u = f === void 0 ? [] : f, c = n.attributes, m = c === void 0 ? {} : c, y = n.styles, b = y === void 0 ? {} : y; return domVariants({ type: "text", content: a }, function() { return callHooks("beforeDOMElementCreation", { content: a, params: n }), makeLayersTextAbstract({ content: a, transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), o), title: l, extra: { attributes: m, styles: b, classes: ["".concat(config.cssPrefix, "-layers-text")].concat(_toConsumableArray(u)) } }); }); } }; }, provides: function(t) { t.generateLayersText = function(a, n) { var r = n.title, o = n.transform, s = n.extra, l = null, f = null; if (IS_IE) { var u = parseInt(getComputedStyle(a).fontSize, 10), c = a.getBoundingClientRect(); l = c.width / u, f = c.height / u; } return config.autoA11y && !r && (s.attributes["aria-hidden"] = "true"), Promise.resolve([a, makeLayersTextAbstract({ content: a.innerHTML, width: l, height: f, transform: o, title: r, extra: s, watchable: !0 })]); }; } }, CLEAN_CONTENT_PATTERN = new RegExp('"', "ug"), SECONDARY_UNICODE_RANGE = [1105920, 1112319]; function hexValueFromContent(e) { var t = e.replace(CLEAN_CONTENT_PATTERN, ""), a = codePointAt(t, 0), n = a >= SECONDARY_UNICODE_RANGE[0] && a <= SECONDARY_UNICODE_RANGE[1], r = t.length === 2 ? t[0] === t[1] : !1; return { value: toHex(r ? t[0] : t), isSecondary: n || r }; } function replaceForPosition(e, t) { var a = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(t.replace(":", "-")); return new Promise(function(n, r) { if (e.getAttribute(a) !== null) return n(); var o = toArray(e.children), s = o.filter(function(L) { return L.getAttribute(DATA_FA_PSEUDO_ELEMENT) === t; })[0], l = WINDOW.getComputedStyle(e, t), f = l.getPropertyValue("font-family").match(FONT_FAMILY_PATTERN), u = l.getPropertyValue("font-weight"), c = l.getPropertyValue("content"); if (s && !f) return e.removeChild(s), n(); if (f && c !== "none" && c !== "") { var m = l.getPropertyValue("content"), y = ~["Sharp"].indexOf(f[2]) ? FAMILY_SHARP : FAMILY_CLASSIC, b = ~["Solid", "Regular", "Light", "Thin", "Duotone", "Brands", "Kit"].indexOf(f[2]) ? STYLE_TO_PREFIX[y][f[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[y][u], _ = hexValueFromContent(m), A = _.value, E = _.isSecondary, v = f[0].startsWith("FontAwesome"), h = byUnicode(b, A), I = h; if (v) { var T = byOldUnicode(A); T.iconName && T.prefix && (h = T.iconName, b = T.prefix); } if (h && !E && (!s || s.getAttribute(DATA_PREFIX) !== b || s.getAttribute(DATA_ICON) !== I)) { e.setAttribute(a, I), s && e.removeChild(s); var x = blankMeta(), k = x.extra; k.attributes[DATA_FA_PSEUDO_ELEMENT] = t, findIcon(h, b).then(function(L) { var N = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, x), {}, { icons: { main: L, mask: emptyCanonicalIcon() }, prefix: b, iconName: I, extra: k, watchable: !0 })), g = DOCUMENT.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(g, e.firstChild) : e.appendChild(g), g.outerHTML = N.map(function(S) { return toHtml(S); }).join(` `), e.removeAttribute(a), n(); }).catch(r); } else n(); } else n(); }); } function replace(e) { return Promise.all([replaceForPosition(e, "::before"), replaceForPosition(e, "::after")]); } function processable(e) { return e.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function searchPseudoElements(e) { if (IS_DOM) return new Promise(function(t, a) { var n = toArray(e.querySelectorAll("*")).filter(processable).map(replace), r = perf.begin("searchPseudoElements"); disableObservation(), Promise.all(n).then(function() { r(), enableObservation(), t(); }).catch(function() { r(), enableObservation(), a(); }); }); } var PseudoElements = { hooks: function() { return { mutationObserverCallbacks: function(a) { return a.pseudoElementsCallback = searchPseudoElements, a; } }; }, provides: function(t) { t.pseudoElements2svg = function(a) { var n = a.node, r = n === void 0 ? DOCUMENT : n; config.searchPseudoElements && searchPseudoElements(r); }; } }, _unwatched = !1, MutationObserver$1 = { mixout: function() { return { dom: { unwatch: function() { disableObservation(), _unwatched = !0; } } }; }, hooks: function() { return { bootstrap: function() { observe(chainHooks("mutationObserverCallbacks", {})); }, noAuto: function() { disconnect(); }, watch: function(a) { var n = a.observeMutationsRoot; _unwatched ? enableObservation() : observe(chainHooks("mutationObserverCallbacks", { observeMutationsRoot: n })); } }; } }, parseTransformString = function(t) { var a = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return t.toLowerCase().split(" ").reduce(function(n, r) { var o = r.toLowerCase().split("-"), s = o[0], l = o.slice(1).join("-"); if (s && l === "h") return n.flipX = !0, n; if (s && l === "v") return n.flipY = !0, n; if (l = parseFloat(l), isNaN(l)) return n; switch (s) { case "grow": n.size = n.size + l; break; case "shrink": n.size = n.size - l; break; case "left": n.x = n.x - l; break; case "right": n.x = n.x + l; break; case "up": n.y = n.y - l; break; case "down": n.y = n.y + l; break; case "rotate": n.rotate = n.rotate + l; break; } return n; }, a); }, PowerTransforms = { mixout: function() { return { parse: { transform: function(a) { return parseTransformString(a); } } }; }, hooks: function() { return { parseNodeAttributes: function(a, n) { var r = n.getAttribute("data-fa-transform"); return r && (a.transform = parseTransformString(r)), a; } }; }, provides: function(t) { t.generateAbstractTransformGrouping = function(a) { var n = a.main, r = a.transform, o = a.containerWidth, s = a.iconWidth, l = { transform: "translate(".concat(o / 2, " 256)") }, f = "translate(".concat(r.x * 32, ", ").concat(r.y * 32, ") "), u = "scale(".concat(r.size / 16 * (r.flipX ? -1 : 1), ", ").concat(r.size / 16 * (r.flipY ? -1 : 1), ") "), c = "rotate(".concat(r.rotate, " 0 0)"), m = { transform: "".concat(f, " ").concat(u, " ").concat(c) }, y = { transform: "translate(".concat(s / 2 * -1, " -256)") }, b = { outer: l, inner: m, path: y }; return { tag: "g", attributes: _objectSpread2({}, b.outer), children: [{ tag: "g", attributes: _objectSpread2({}, b.inner), children: [{ tag: n.icon.tag, children: n.icon.children, attributes: _objectSpread2(_objectSpread2({}, n.icon.attributes), b.path) }] }] }; }; } }, ALL_SPACE = { x: 0, y: 0, width: "100%", height: "100%" }; function fillBlack(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function deGroup(e) { return e.tag === "g" ? e.children : [e]; } var Masks = { hooks: function() { return { parseNodeAttributes: function(a, n) { var r = n.getAttribute("data-fa-mask"), o = r ? getCanonicalIcon(r.split(" ").map(function(s) { return s.trim(); })) : emptyCanonicalIcon(); return o.prefix || (o.prefix = getDefaultUsablePrefix()), a.mask = o, a.maskId = n.getAttribute("data-fa-mask-id"), a; } }; }, provides: function(t) { t.generateAbstractMask = function(a) { var n = a.children, r = a.attributes, o = a.main, s = a.mask, l = a.maskId, f = a.transform, u = o.width, c = o.icon, m = s.width, y = s.icon, b = transformForSvg({ transform: f, containerWidth: m, iconWidth: u }), _ = { tag: "rect", attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, { fill: "white" }) }, A = c.children ? { children: c.children.map(fillBlack) } : {}, E = { tag: "g", attributes: _objectSpread2({}, b.inner), children: [fillBlack(_objectSpread2({ tag: c.tag, attributes: _objectSpread2(_objectSpread2({}, c.attributes), b.path) }, A))] }, v = { tag: "g", attributes: _objectSpread2({}, b.outer), children: [E] }, h = "mask-".concat(l || nextUniqueId()), I = "clip-".concat(l || nextUniqueId()), T = { tag: "mask", attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, { id: h, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [_, v] }, x = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: I }, children: deGroup(y) }, T] }; return n.push(x, { tag: "rect", attributes: _objectSpread2({ fill: "currentColor", "clip-path": "url(#".concat(I, ")"), mask: "url(#".concat(h, ")") }, ALL_SPACE) }), { children: n, attributes: r }; }; } }, MissingIconIndicator = { provides: function(t) { var a = !1; WINDOW.matchMedia && (a = WINDOW.matchMedia("(prefers-reduced-motion: reduce)").matches), t.missingIconAbstract = function() { var n = [], r = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; n.push({ tag: "path", attributes: _objectSpread2(_objectSpread2({}, 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" }) }); var s = _objectSpread2(_objectSpread2({}, o), {}, { attributeName: "opacity" }), l = { tag: "circle", attributes: _objectSpread2(_objectSpread2({}, r), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return a || l.children.push({ tag: "animate", attributes: _objectSpread2(_objectSpread2({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: _objectSpread2(_objectSpread2({}, s), {}, { values: "1;0;1;1;0;1;" }) }), n.push(l), n.push({ tag: "path", attributes: _objectSpread2(_objectSpread2({}, 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: a ? [] : [{ tag: "animate", attributes: _objectSpread2(_objectSpread2({}, s), {}, { values: "1;0;0;0;0;1;" }) }] }), a || n.push({ tag: "path", attributes: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, s), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: n }; }; } }, SvgSymbols = { hooks: function() { return { parseNodeAttributes: function(a, n) { var r = n.getAttribute("data-fa-symbol"), o = r === null ? !1 : r === "" ? !0 : r; return a.symbol = o, a; } }; } }, plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols]; registerPlugins(plugins, { mixoutsTo: api }); api.noAuto; api.config; api.library; api.dom; api.parse; api.findIconDefinition; api.toHtml; var icon = api.icon; api.layer; api.text; api.counter; var faCircleNotch = {}; (function(e) { Object.defineProperty(e, "__esModule", { value: !0 }); var t = "fas", a = "circle-notch", n = 512, r = 512, o = [], s = "f1ce", l = "M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"; e.definition = { prefix: t, iconName: a, icon: [ n, r, o, s, l ] }, e.faCircleNotch = e.definition, e.prefix = t, e.iconName = a, e.width = n, e.height = r, e.ligatures = o, e.unicode = s, e.svgPathData = l, e.aliases = o; })(faCircleNotch); function useFormBlocker() { let e = [], t = []; return { blockForm: (r) => { const o = [], s = [], l = []; for (var f = 0; f < r.length; f++) switch (r[f].localName) { case "button": r[f].disabled !== !0 && (o.push(r[f]), s.push(r[f])); break; case "input": case "select": case "textarea": case "datalist": r[f].disabled !== !0 && o.push(r[f]); break; } o.forEach((u) => { u.disabled = !0; }), s.forEach((u) => { if (u.type === "submit") { const c = uniqID("spin"), m = icon(faCircleNotch.faCircleNotch, { classes: ["fa-spin me-1"] }).html; u.innerHTML = '' + m + "" + u.innerHTML, l.push(c); } }), e = o, t = l; }, unblockForm: () => { e.forEach((r) => { r.disabled = !1; }), e = [], t.forEach((r) => { document.getElementById(r).remove(); }), t = []; }, formElements: e }; } function useAlertLib() { let e = "alert-danger", t = "", a, n = !1; const r = (v) => { a = v; }, o = (v) => { e = v; }, s = (v) => { t = v; }; return { setElement: r, dangerAlert: (v) => { s(v), o("alert-danger"); }, warningAlert: (v) => { s(v), o("alert-warning"); }, infoAlert: (v) => { s(v), o("alert-info"); }, successAlert: (v) => { s(v), o("alert-success"); }, lightAlert: (v) => { s(v), o("alert-light"); }, darkAlert: (v) => { s(v), o("alert-dark"); }, hideAlert: () => { a.innerHTML = ""; }, showAlert: () => { const v = document.createElement("div"); v.classList.add("alert", "alert-dismissible", "fade", "show", e), v.setAttribute("role", "alert"); const h = document.createElement("button"); n === !0 ? (h.setAttribute("data-dismiss", "alert"), h.classList.add("close"), h.innerHTML = '') : (h.setAttribute("data-bs-dismiss", "alert"), h.classList.add("btn-close")), h.setAttribute("type", "button"); const I = document.createTextNode(t); v.append(I, h), a.appendChild(v); }, scrollToAlert: () => { a.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" }); }, boostrap4: () => { n = !0; } }; } function useFormLib(e) { let t = e.getAttribute("action"), a = new FormData(e), n = null, r = "POST"; const { http_post: o, setHeaders: s, http_delete: l } = useHttpRequestLib(), { blockForm: f, unblockForm: u } = useFormBlocker(), c = useAlertLib(); return { setFormHeaders: (k) => { n = k; }, setErrorContainer: (k) => { c.setElement(k); }, setFormURL: (k) => { t = k; }, getFormURL: () => t, addFormItem: (k, L) => { a.append(k, L); }, getFormData: () => a, submit: async (k, L) => { c.hideAlert(), f(e), n !== null && s(n); let N = {}; r === "POST" ? N = await o(t, a) : N = await l(t), N.status === "success" ? typeof k == "function" && k(N) : (typeof L < "u" ? c.dangerAlert(L(N.message)) : c.dangerAlert(N.message), c.showAlert(), c.scrollToAlert(), u(), typeof window.captchaRefresh == "function" && window.captchaRefresh()); }, formUnblock: () => { u(); }, formBlock: () => { f(e); }, setDeleteMethod: () => { r = "DELETE"; }, setPostMethod: () => { r = "POST"; }, alertForm: c }; } function useValidatorsLib() { const e = (g, S) => g.length >= parseInt(S), t = (g, S) => g.length <= parseInt(S), a = (g, S) => g.length === parseInt(S), n = (g, S) => v(g) ? parseFloat(g) > parseFloat(S) : !1, r = (g, S) => v(g) ? parseFloat(g) >= parseFloat(S) : !1, o = (g, S) => v(g) ? parseFloat(g) < parseFloat(S) : !1, s = (g, S) => v(g) ? parseFloat(g) <= parseFloat(S) : !1, l = (g, S) => { const C = S.split(","); for (var P = 0; P < C.length; P++) if (C[P] === g) return !0; return !1; }, f = (g, S) => g.match(S), u = (g) => f(g, /^[a-zA-Z]*$/), c = (g) => f(g, /^[a-zA-Z/\s]*$/), m = (g) => f(g, /^[a-zA-Z0-9]*$/), y = (g) => f(g, /^[a-zA-Z0-9/\s]*$/), b = (g) => f(g, /^[a-zA-Z0-9-_]*$/), _ = (g) => f(g, /^(?=.*[a-zA-Z])(?=.*[0-9])/), A = (g) => f(g, /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])/), E = (g) => f(g, /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~])/), v = (g) => !isNaN(g), h = (g) => v(g) ? parseInt(g) === parseFloat(g) : !1; return { regex_match: f, min_length: e, max_length: t, exact_length: a, greater_than: n, greater_than_equal_to: r, less_than: o, less_than_equal_to: s, in_list: l, alpha: u, alpha_spaces: c, alpha_numeric: m, alpha_numeric_spaces: y, alpha_dash: b, alpha_and_numeric: _, alpha_with_upper_and_numeric: A, alpha_with_upper_numeric_special: E, numeric: v, integer: h, decimal: (g) => v(g) ? !h(g) : !1, is_natural: (g) => h(g) ? parseInt(g) >= 0 : !1, is_natural_no_zero: (g) => h(g) ? parseInt(g) > 0 : !1, valid_email: (g) => /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,20})+$/.test(g), valid_url: (g) => { try { let S = new URL(g); return !0; } catch { return !1; } }, valid_ip: (g) => f(g, /((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/) }; } function useFormValidationLib(element) { const formTarget = element; let errorList = {}, rules = {}; const validators = useValidatorsLib(), setFormRules = (e) => { rules = e; }, validateForm = () => { if (errorList = {}, resetValidation(), Object.keys(rules).length === 0) return !0; for (var e = 0; e < formTarget.length; e++) validateInput(formTarget[e].name, formTarget) && formTarget[e].classList.remove("is-invalid"); return Object.keys(errorList).length === 0; }, showValidationErrors = () => { Object.keys(errorList).map((e) => { if (formTarget[e].classList !== void 0) { formTarget[e].classList.add("is-invalid"); const t = document.createElement("div"); t.classList.add("invalid-feedback", "form-validation-feedback"), t.innerHTML = errorList[e], formTarget[e].parentElement.append(t); } else { formTarget[e].forEach((n) => { n.classList.add("is-invalid"); }); const t = formTarget[e][formTarget[e].length - 1]; t.classList.add("is-invalid"); const a = document.createElement("div"); a.classList.add("invalid-feedback", "form-validation-feedback"), a.innerHTML = errorList[e], t.parentElement.append(a); } }); }, resetValidation = () => { Object.keys(errorList).map((e) => { formTarget[e].classList.remove("is-invalid"); }), document.querySelectorAll(".form-validation-feedback").forEach((e) => { e.remove(); }); }, getFormErrors = () => errorList, validateInput = (field_name, formElement) => { const item = rules.find((e) => e.field_name === field_name); if (typeof item > "u") return !0; const element = formElement[field_name]; let validRegex = ""; const splitted = item.rules.split("|"); for (var i = 0; i < splitted.length; i++) { let propertyName = splitted[i], propertyValue = 0; if (validRegex = /^[a-zA-Z0-9-_]+\[+(.*)+\]*$/, propertyName.match(validRegex)) { const e = propertyName.split(/\[(.*)\]/); propertyName = e[0], propertyValue = e[1]; } if (propertyName === "matches") { const e = formElement[propertyValue]; if (typeof e > "u") return errorList[field_name] = item.errors[propertyName], !1; if (e.value !== element.value) return errorList[field_name] = item.errors[propertyName], !1; } if (propertyName === "required") { if (element.type === "checkbox") { if (!element.checked) return errorList[field_name] = item.errors[propertyName], !1; } else if (element.value === "") return errorList[field_name] = item.errors[propertyName], !1; } if (element.value === "") return !0; if (propertyName === "regex_match") { if (!element.value.match(eval(propertyValue))) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "differs") { const e = formElement[propertyValue]; if (typeof e < "u" && e.value === element.value) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "min_length") { if (!validators.min_length(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "max_length") { if (!validators.max_length(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "exact_length") { if (!validators.exact_length(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "greater_than") { if (!validators.greater_than(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "greater_than_equal_to") { if (!validators.greater_than_equal_to(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "less_than") { if (!validators.less_than(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "less_than_equal_to") { if (!validators.less_than_equal_to(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "in_list") { if (!validators.in_list(element.value, propertyValue)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha") { if (!validators.alpha(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_spaces") { if (!validators.alpha_spaces(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_numeric") { if (!validators.alpha_numeric(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_numeric_spaces") { if (!validators.alpha_numeric_spaces(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_dash") { if (!validators.alpha_dash(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_and_numeric") { if (!validators.alpha_and_numeric(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_with_upper_and_numeric") { if (!validators.alpha_with_upper_and_numeric(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "alpha_with_upper_numeric_special") { if (!validators.alpha_with_upper_numeric_special(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "numeric") { if (!validators.numeric(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "integer") { if (!validators.integer(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "decimal") { if (!validators.decimal(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "is_natural") { if (!validators.is_natural(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "is_natural_no_zero") { if (!validators.is_natural_no_zero(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "valid_email") { if (!validators.valid_email(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "valid_url") { if (!validators.valid_url(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "valid_ip") { if (!validators.valid_ip(element.value)) return errorList[field_name] = item.errors[propertyName], !1; } else if (propertyName === "if_requires") { const e = formElement[propertyValue]; if (typeof e > "u") return errorList[propertyValue] = item.errors[propertyName], !1; if (e.value === "") return errorList[propertyValue] = item.errors[propertyName], !1; } else if (propertyName === "if_use_requires") { const e = propertyValue.split(","); if (element.value === e[0]) { const t = formElement[e[1]]; if (typeof t > "u") return errorList[e[1]] = item.errors[propertyName], !1; if (t.value === "") return errorList[e[1]] = item.errors[propertyName], !1; } } } return !0; }; return { setFormRules, validateForm, showValidationErrors, resetValidation, getFormErrors }; } function evolutionForm(e, t, a) { let n = a, r = "POST"; const o = useFormLib(e); o.setErrorContainer(t), myToken.bootstrap4() && o.alertForm.boostrap4(); const s = useFormValidationLib(e), { http_post: l, setHeaders: f, http_delete: u } = useHttpRequestLib(); return { setRules: (A) => { s.setFormRules(A); }, myFormConfig: () => o, setDeleteMethod: () => { r = "DELETE"; }, setPostMethod: () => { r = "POST"; }, run: async (A) => { if (o.alertForm.hideAlert(), !s.validateForm()) { s.showValidationErrors(), o.alertForm.dangerAlert(n("error_in_form")), o.alertForm.showAlert(), o.alertForm.scrollToAlert(); return; } o.formBlock(); const E = await myToken.getPublicAccessToken(); f({ Authentication: `Bearer ${E}` }); let v = {}; r === "POST" ? v = await l(o.getFormURL(), o.getFormData()) : v = await u(o.getFormURL()), v.status === "success" ? typeof A == "function" && A(v) : (n(v.message) === void 0 ? o.alertForm.dangerAlert(v.message) : o.alertForm.dangerAlert(n(v.message)), v.type === "token" && myToken.removeToken(), o.alertForm.showAlert(), o.alertForm.scrollToAlert(), o.formUnblock(), typeof window.captchaRefresh == "function" && window.captchaRefresh()); } }; } function useToken() { const { http_get: e } = useHttpRequestLib(); let t = "", a = "access_token", n = "user_lang", r = "/api/access_token", o = !1; const s = () => { a = "admin_token", r = "/api/admin/access_token", n = "admin_lang", o = !0; }, l = () => o, f = async () => (t === "" && (t = A(a)), t !== "" && y(t) ? t : await m()), u = () => { t = "", E(a, t, -365); }, c = (v) => { t = v, E(a, t, 1); }, m = async () => { const v = await e(r); return v.status !== "success" ? null : (t = v.token, E(a, t, 1), t); }, y = (v) => { try { const h = JSON.parse(atob(v.split(".")[1])); return h === null ? !1 : h.exp * 1e3 >= Date.now(); } catch { return !1; } }, b = () => A(n), _ = (v) => { E(n, v, 365); }, A = (v) => { let h = v + "=", T = decodeURIComponent(document.cookie).split(";"); for (let x = 0; x < T.length; x++) { let k = T[x]; for (; k.charAt(0) == " "; ) k = k.substring(1); if (k.indexOf(h) == 0) return k.substring(h.length, k.length); } return ""; }; function E(v, h, I) { const T = /* @__PURE__ */ new Date(); T.setTime(T.getTime() + I * 24 * 60 * 60 * 1e3); let x = "expires=" + T.toUTCString(); document.cookie = v + "=" + h + ";" + x + ";path=/"; } return { isAdmin: s, getPublicAccessToken: f, setPublicAccessToken: c, bootstrap4: l, getLanguageCookie: b, setLanguageCookie: _, removeToken: u }; } const myToken = useToken(); function evolutionLib() { let e = {}; const t = (b, _) => { if (!b) return !1; b.addEventListener("submit", (A) => { A.preventDefault(), typeof _ == "function" && _(); }); }, a = () => { myToken.isAdmin(); }, n = async (b, _) => { if (await s() === null) { console.log("Language data could not load."); return; } t(b, () => { typeof _ == "function" && _(); }); }, r = async (b, _) => evolutionForm(b, _, o), o = (b, _, A) => { const E = e[b]; return _ !== void 0 ? E.replace(_, A) : E; }, s = async (b = !1) => { if (b !== !0 && Object.keys(e).length > 0) return e; const { http_get: _ } = useHttpRequestLib(), A = myToken.getLanguageCookie(); let E = ""; isNaN(A) || (E = "?id=" + A); const v = await _("/api/lang" + E); return v.status === "success" ? (e = v.data, e) : null; }; return { isAdmin: a, useHandleForm: t, useScriptFormHandler: n, useScriptForm: r, langData: e, langItem: o, useForm: (b) => useFormLib(b), useBlockForm: () => useFormBlocker(), useFormValidation: (b) => useFormValidationLib(b), useValidators: () => useValidatorsLib(), useHttpRequest: () => useHttpRequestLib(), useToken: () => myToken }; } window.evolutionLib = evolutionLib; export { evolutionLib, myToken };