{"version":3,"file":"index-Bx4Cx4Yr.js","sources":["../../../../../../.yarn/berry/cache/@fortawesome-fontawesome-svg-core-npm-6.6.0-fc6ee66860-10c0.zip/node_modules/@fortawesome/fontawesome-svg-core/index.mjs"],"sourcesContent":["const noop = () => {};\n\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar a = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n c = [a, t, r, o];\n\nvar et$1 = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\"\n }\n};\nvar bt = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n},\n Ct = [\"kit\"];\nvar Dt = /fa(s|r|l|t|d|b|k|kd|ss|sr|sl|st|sds)?[\\-\\ ]/,\n Kt = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar ao = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n};\nvar eo = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\"\n }\n},\n lo = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\"\n }\n},\n y = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\"]\n},\n no = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\"\n }\n},\n fo = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n duotone: \"fad\",\n brands: \"fab\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\"\n }\n},\n ho = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fad: \"duotone\",\n \"fa-duotone\": \"duotone\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\"\n }\n},\n x$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n u$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n m$1 = u$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n},\n yo = [...Object.keys(y), ...x$1, \"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\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(u$1.map(o => \"\".concat(o, \"x\"))).concat(m$1.map(o => \"w-\".concat(o)));\nvar mo = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n},\n Io = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n},\n Fo = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n},\n So = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n};\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nconst FAMILIES = [a, r, o];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[a];\n }\n\n });\n}\n\nconst _PREFIX_TO_STYLE = { ...ho\n};\n_PREFIX_TO_STYLE[a] = { ...ho[a],\n ...bt['kit'],\n ...bt['kit-duotone']\n};\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = { ...fo\n};\n_STYLE_TO_PREFIX[a] = { ..._STYLE_TO_PREFIX[a],\n ...So['kit'],\n ...So['kit-duotone']\n};\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = { ...no\n};\n_PREFIX_TO_LONG_STYLE[a] = { ..._PREFIX_TO_LONG_STYLE[a],\n ...Fo['kit']\n};\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = { ...lo\n};\n_LONG_STYLE_TO_PREFIX[a] = { ..._LONG_STYLE_TO_PREFIX[a],\n ...Io['kit']\n};\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = Dt; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = Kt;\nconst _FONT_WEIGHT_TO_PREFIX = { ...et$1\n};\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = t$1;\nconst prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[a]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[r]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[o]).map(prefixes.add.bind(prefixes));\nconst RESERVED_CLASSES = [...Ct, ...yo];\n\nconst initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const 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']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nconst _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\n\nconst _config = { ..._default,\n ...initial\n};\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n 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));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse,\\n.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nlet _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n\n beforeI2svg() {\n ensureCss();\n }\n\n };\n }\n\n};\n\nconst w$1 = WINDOW || {};\nif (!w$1[NAMESPACE_IDENTIFIER]) w$1[NAMESPACE_IDENTIFIER] = {};\nif (!w$1[NAMESPACE_IDENTIFIER].styles) w$1[NAMESPACE_IDENTIFIER].styles = {};\nif (!w$1[NAMESPACE_IDENTIFIER].hooks) w$1[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w$1[NAMESPACE_IDENTIFIER].shims) w$1[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w$1[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\n\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\n\nlet loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n}\n\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n}\n\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = { ...(namespace.styles[prefix] || {}),\n ...normalized\n };\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst {\n styles,\n shims\n} = namespace;\nconst LONG_STYLE = {\n [a]: Object.values(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.values(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.values(PREFIX_TO_LONG_STYLE[o])\n};\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nconst PREFIXES = {\n [a]: Object.keys(PREFIX_TO_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_STYLE[o])\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = a\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nconst PREFIXES_FOR_FAMILY = {\n [a]: Object.keys(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_LONG_STYLE[o])\n};\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n const famProps = {\n [a]: \"\".concat(config.cssPrefix, \"-\").concat(a),\n [r]: \"\".concat(config.cssPrefix, \"-\").concat(r),\n [o]: \"\".concat(config.cssPrefix, \"-\").concat(o)\n };\n let givenPrefix = null;\n let family = a;\n const nonDuotoneFamilyIds = c.filter(familyId => familyId !== t);\n nonDuotoneFamilyIds.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n const canonical = values.reduce((acc, cls) => {\n const iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && !nonDuotoneFamilyIds.some(familyName => cls === famProps[familyName])) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n const shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n const aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === r && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (!canonical.prefix && family === o && (styles['fasds'] || config.autoFetchSvg)) {\n canonical.prefix = 'fasds';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = { ...(this.definitions[key] || {}),\n ...additions[key]\n };\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n const longPrefix = PREFIX_TO_LONG_STYLE[a][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n\n reset() {\n this.definitions = {};\n }\n\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\n\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles({ ...styles,\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n });\n }\n\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: { ...attributes,\n id\n },\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = prefix === 'fak';\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c => extra.classes.indexOf(c) === -1).filter(c => c !== '' || !!c).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: { ...extra.attributes,\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n }\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n\n const args = { ...content,\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: { ...uploadedIconWidthStyle,\n ...extra.styles\n }\n };\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n const styles = { ...extra.styles\n };\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n const styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\n\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\n\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve({ ...missingIconResolutionMixin,\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n });\n });\n}\n\nconst noop$1 = () => {};\n\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.6.0\\\"\";\n\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\n\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\n\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\n\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\n\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo$1 = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo$1 = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo$1.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo$1) return;\n mo$1.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return {\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n },\n ...pluginMeta\n };\n}\n\nconst {\n styles: styles$2\n} = namespace;\n\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\n\nlet knownPrefixes = new Set();\nFAMILIES.map(family => {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[a]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[r]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[o]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = [...knownPrefixes];\n\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(f$$1 => \"fa-\".concat(f$$1)).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n let candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\n\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, { ...params,\n mask\n });\n };\n}\n\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants({\n type: 'icon',\n ...iconDefinition\n }, () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: { ...meaninglessTransform,\n ...transform\n },\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n let nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n\n };\n }\n\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n\n };\n }\n\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: { ...meaninglessTransform,\n ...transform\n },\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = { ...{\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n },\n ...eo,\n ...ao,\n ...mo\n};\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\n\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c => c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract({ ...meta,\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n });\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n\n }\n };\n },\n\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n\n noAuto() {\n disconnect();\n },\n\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n\n };\n }\n\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: { ...operations.outer\n },\n children: [{\n tag: 'g',\n attributes: { ...operations.inner\n },\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: { ...main.icon.attributes,\n ...operations.path\n }\n }]\n }]\n };\n };\n }\n\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: { ...ALL_SPACE,\n fill: 'white'\n }\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: { ...trans.inner\n },\n children: [fillBlack({\n tag: mainPath.tag,\n attributes: { ...mainPath.attributes,\n ...trans.path\n },\n ...maskInnerGroupChildrenMixin\n })]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: { ...trans.outer\n },\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: { ...ALL_SPACE,\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n },\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: {\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\"),\n ...ALL_SPACE\n }\n });\n return {\n children,\n attributes\n };\n };\n }\n\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: { ...FILL,\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n }\n });\n const OPACITY_ANIMATE = { ...ANIMATION_BASE,\n attributeName: 'opacity'\n };\n const dot = {\n tag: 'circle',\n attributes: { ...FILL,\n cx: '256',\n cy: '364',\n r: '28'\n },\n children: []\n };\n\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: { ...ANIMATION_BASE,\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n }\n }, {\n tag: 'animate',\n attributes: { ...OPACITY_ANIMATE,\n values: '1;0;1;1;0;1;'\n }\n });\n }\n\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: { ...FILL,\n opacity: '1',\n 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'\n },\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: { ...OPACITY_ANIMATE,\n values: '1;0;0;0;0;1;'\n }\n }]\n });\n\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: { ...FILL,\n opacity: '0',\n 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'\n },\n children: [{\n tag: 'animate',\n attributes: { ...OPACITY_ANIMATE,\n values: '0;0;1;1;0;0;'\n }\n }]\n });\n }\n\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n\n };\n }\n\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n"],"names":["noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","a","t","r","o","c","et$1","bt","Ct","Dt","Kt","ao","eo","lo","y","no","fo","ho","x$1","u$1","m$1","t$1","yo","mo","Io","Fo","So","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILIES","familyProxy","obj","target","prop","_PREFIX_TO_STYLE","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","STYLE_TO_PREFIX","_PREFIX_TO_LONG_STYLE","PREFIX_TO_LONG_STYLE","_LONG_STYLE_TO_PREFIX","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","_FONT_WEIGHT_TO_PREFIX","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","prefixes","RESERVED_CLASSES","initial","getAttrConfig","attr","element","coerce","val","_ref","key","_default","_config","config","_onChangeCb","cb","onChange","d$2","meaninglessTransform","insertCss","css","style","headChildren","beforeChild","i","child","tagName","idPool","nextUniqueId","size","id","toArray","array","classArray","node","htmlEscape","str","joinAttributes","attributes","acc","attributeName","joinStyles","styles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2","width","height","startCentered","baseStyles","dcp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","w$1","namespace","functions","listener","loaded","fn","domready","toHtml","abstractNodes","tag","children","iconFromMapping","mapping","prefix","iconName","reduce","subject","initialValue","thisContext","keys","length","iterator","result","ucs2decode","string","output","counter","value","extra","toHex","unicode","decoded","codePointAt","index","first","second","normalizeIcons","icons","icon","defineIcons","params","skipHooks","normalized","shims","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","isReserved","name","getIconName","cssPrefix","cls","parts","build","lookup","reducer","o$$1","a$$1","alias","aliases","hasRegular","shimLookups","shim","maybeNameMaybeUnicode","getCanonicalPrefix","c$$1","byUnicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","emptyCanonicalIcon","styleOrPrefix","family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","values","skipLookups","famProps","givenPrefix","nonDuotoneFamilyIds","familyId","v$$1","canonical","familyName","aliasIconName","Library","_len","definitions","_key","additions","longPrefix","definition","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","k","plugin","mixout","tk","sk","hooks","hook","chainHooks","accumulator","args","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","noAuto","dom","autoReplaceSvgRoot","autoReplace","parse","canonicalIcon","api","domVariants","abstractCreator","container","asIcon","main","mask","offset","asSymbol","symbol","makeInlineSvgAbstract","title","maskId","titleId","watchable","isUploadedIcon","attrClass","content","uploadedIconWidthStyle","makeLayersTextAbstract","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","maybeNotifyMissing","findIcon","resolve","reject","noop$1","p$2","preamble","begin","end","perf","noop$2","isWatched","hasPrefixAndIcon","hasBeenReplaced","getMutator","mutators","createElementNS","createElement","convertSVG","abstractObj","ceFn","nodeAsComment","comment","mutation","abstract","forSvg","splitClasses","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","mutator","mark","disabled","disableObservation","enableObservation","mo$1","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","objects","defaultPrefix","mutationRecord","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","attributesParser","extraAttributes","blankMeta","parseMeta","parser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","f$$1","prefixesDomQuery","p$$1","candidates","e$$1","resolvedMutations","onNode","resolveIcons","next","maybeIconDefinition","iconDefinition","render","classes","ReplaceElements","providers$$1","nextChild","Layers","assembler","LayersCounter","LayersText","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","_FONT_FAMILY_WEIGHT_TO_PREFIX","FONT_FAMILY_WEIGHT_TO_PREFIX","FONT_FAMILY_WEIGHT_FALLBACK","fontFamily","weights","hexValueFromContent","cleaned","codePoint","isPrependTen","isDoubled","getPrefix","fontWeight","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamilyMatch","hexValue","isSecondary","isV4","iconIdentifier","iconName4","meta","replace","processable","searchPseudoElements","operations","PseudoElements","_unwatched","MutationObserver$1","parseTransformString","transformString","n","rest","PowerTransforms","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","defs","MissingIconIndicator","reduceMotion","gChildren","FILL","ANIMATION_BASE","OPACITY_ANIMATE","dot","SvgSymbols","symbolData","plugins","library$1","dom$1"],"mappings":"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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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","x_google_ignoreList":[0]}