{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@dansmaculotte/vue-zendesk/src/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.mjs","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"],"names":["_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_arrayWithoutHoles","arr","isArray","_iterableToArray","iter","Symbol","iterator","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_arrayWithHoles","_iterableToArrayLimit","i","_i","_s","_e","_arr","_n","_d","next","push","length","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","target","source","forEach","defineProperty","getOwnPropertyDescriptors","defineProperties","_arrayLikeToArray","len","arr2","module","exports","install","Vue","options","disabled","console","warn","disabledLogger","method","log","window","zE","zESettings","settings","root","isLoaded","load","zendeskKey","script","document","createElement","type","async","id","actualZendeskKey","src","first","getElementsByTagName","parentNode","insertBefore","onload","event","hideOnLoad","hide","$emit","show","logout","identify","user","prefill","setLocale","locale","updateSettings","clear","updatePath","toggle","reset","close","open","get","$zendesk","_objectDestructuringEmpty","obj","_defineProperty","_typeof","configurable","writable","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","commonjsGlobal","globalThis","global","humps$1","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","output","l","_isArray","hasOwnProperty","separateWords","string","separator","split","join","camelize","_isNumerical","replace","match","chr","toUpperCase","substr","toLowerCase","pascalize","camelized","decamelize","_processor","callback","process","humps","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","_excluded","styleToObject","style","map","s","trim","reduce","acc","pair","prop","classToObject","cls","c","combineClassObjects","_len","objs","_key","concat","h","element","props","data","children","bind","mixins","attributes","val","attrs","_data$class","class","dClass","_data$style","dStyle","_data$attrs","dAttrs","remainingData","tag","PRODUCTION","e","_console","objectWithKey","classList","_classes","classes","spin","spinPulse","spinReverse","pulse","beat","fade","flash","fixedWidth","border","listItem","inverse","flip","size","rotation","pull","swapOpacity","bounce","shake","beatFade","addStaticClass","to","what","normalizeIconArgs","icon","prefix","iconName","FontAwesomeIcon","functional","Boolean","default","String","validator","required","mask","Number","parseInt","transform","symbol","title","render","context","iconArgs","maskArgs","icon$1","renderedIcon","abstract","convertCurry","_createForOfIteratorHelper","allowArrayLike","it","F","f","normalCompletion","didErr","step","_e2","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","MutationObserver","performance","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref","navigator","_ref$userAgent","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","IS_IE","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","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","Proxy","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","prefixes","Set","add","RESERVED_CLASSES","initial","FontAwesomeConfig","getAttrConfig","attr","querySelector","getAttribute","coerce","_ref2","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","onChange","splice","d","meaninglessTransform","x","y","rotate","flipX","flipY","insertCss","css","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","idPool","nextUniqueId","Math","random","toArray","array","classArray","node","htmlEscape","str","joinAttributes","attributeName","joinStyles","styles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","baseStyles","dcp","drc","fp","rc","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w","shims","namespace","functions","listener","removeEventListener","loaded","domready","setTimeout","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","iconFromMapping","mapping","doScroll","readyState","bindInternal4","func","thisContext","a","b","subject","initialValue","result","ucs2decode","counter","charCodeAt","extra","toHex","unicode","decoded","codePointAt","index","second","normalizeIcons","icons","expanded","defineIcons","params","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","values","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","isReserved","getIconName","parts","build","lookup","reducer","aliases","alias","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","emptyCanonicalIcon","rest","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","includes","some","v","canonical","aliasIconName","Library","definitions","_this","additions","_pullDefinitions","longPrefix","definition","0","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","mixoutsTo","k","plugin","tk","sk","hook","provides","chainHooks","accumulator","hookFns","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","noAuto","i2svg","watch","autoReplaceSvgRoot","autoReplace","parse","_icon","canonicalIcon","_prefix","api","_params$autoReplaceSv","domVariants","abstractCreator","container","html","asIcon","main","found","offset","asSymbol","makeInlineSvgAbstract","_params$icons","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","content","role","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","_icon$slice","_icon$slice2","vectorData","fill","missingIconResolutionMixin","maybeNotifyMissing","findIcon","noop$1","p","preamble","begin","end","perf","noop$2","isWatched","hasPrefixAndIcon","hasBeenReplaced","contains","getMutator","mutators","mutator","createElementNS","convertSVG","abstractObj","_params$ceFn","ceFn","createTextNode","appendChild","nodeAsComment","comment","outerHTML","mutation","_abstract","createComment","replaceChild","remove","nest","_abstract2","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","requestAnimationFrame","disableObservation","enableObservation","mo","observe","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","addedNodes","_getCanonicalIcon","childList","characterData","subtree","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","firstChild","nodeType","Node","TEXT_NODE","attributesParser","extraAttributes","blankMeta","parseMeta","parser","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","suffix","hclRemove","prefixesDomQuery","candidates","querySelectorAll","all","resolvedMutations","catch","onNode","resolveIcons","maybeIconDefinition","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","mutationObserverCallbacks","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","_ref3","nextChild","Layers","layer","assembler","LayersCounter","LayersText","text","generateLayersText","computedFontSize","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","hexValueFromContent","cleaned","codePoint","isPrependTen","isDoubled","isSecondary","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","_hexValueFromContent","hexValue","isV4","startsWith","iconIdentifier","iconName4","meta","processable","operations","PseudoElements","pseudoElements2svg","_unwatched","MutationObserver$1","unwatch","bootstrap","parseTransformString","transformString","parseFloat","isNaN","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","matches","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","r","opacity","SvgSymbols","symbolData","plugins","config$1","library$1","parse$1"],"mappings":"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","file":"js/chunk-vendors~0f485567.d8c02b0d.js","sourcesContent":["import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}","module.exports = {\n install: function install(Vue, options = {}) {\n if (!options.disabled && (!options.key || options.key.length === 0)) {\n console.warn(\"Please enter a Zendesk Web Widget Key\");\n }\n\n const disabledLogger = function(method, ...args) {\n console.log(\"Zendesk is disabled, you called:\", { method, args });\n };\n\n if (options.disabled) {\n window.zE = disabledLogger;\n }\n\n window.zESettings = options.settings;\n\n const root = new Vue();\n\n let isLoaded = false;\n\n root.load = zendeskKey => {\n if (isLoaded) {\n return;\n }\n\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.id = \"ze-snippet\";\n const actualZendeskKey = zendeskKey || options.key;\n script.src =\n \"https://static.zdassets.com/ekr/snippet.js?key=\" + actualZendeskKey;\n\n delete window.zE;\n const first = document.getElementsByTagName(\"script\")[0];\n first.parentNode.insertBefore(script, first);\n\n script.onload = event => {\n isLoaded = true;\n\n if (options.hideOnLoad) {\n root.hide();\n }\n\n root.$emit(\"loaded\", event);\n\n window.zE(\"webWidget:on\", \"open\", () => {\n root.$emit(\"open\");\n });\n\n window.zE(\"webWidget:on\", \"close\", () => {\n root.$emit(\"close\");\n });\n };\n };\n\n if (!options.disabled) {\n root.load(options.key);\n }\n\n root.hide = () => window.zE(\"webWidget\", \"hide\");\n root.show = () => window.zE(\"webWidget\", \"show\");\n root.logout = () => window.zE(\"webWidget\", \"logout\");\n root.identify = user => window.zE(\"webWidget\", \"identify\", user);\n root.prefill = user => window.zE(\"webWidget\", \"prefill\", user);\n root.setLocale = locale => window.zE(\"webWidget\", \"setLocale\", locale);\n root.updateSettings = settings =>\n window.zE(\"webWidget\", \"updateSettings\", settings);\n root.clear = () => window.zE(\"webWidget\", \"clear\");\n root.updatePath = options => window.zE(\"updatePath\", \"clear\", options);\n root.toggle = () => window.zE(\"webWidget\", \"toggle\");\n root.reset = () => window.zE(\"webWidget\", \"reset\");\n root.close = () => window.zE(\"webWidget\", \"close\");\n root.open = () => window.zE(\"webWidget\", \"open\");\n\n Object.defineProperty(root, \"zE\", {\n get: function get() {\n return window.zE;\n }\n });\n\n Vue.prototype.$zendesk = root;\n }\n};\n","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar humps$1 = {exports: {}};\n\n(function (module) {\n(function(global) {\n\n\t var _processKeys = function(convert, obj, options) {\n\t if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n\t return obj;\n\t }\n\n\t var output,\n\t i = 0,\n\t l = 0;\n\n\t if(_isArray(obj)) {\n\t output = [];\n\t for(l=obj.length; i 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var children = (element.children || []).map(convert.bind(null, h));\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, {\n 'class': {},\n style: {},\n attrs: {}\n });\n\n var _data$class = data.class,\n dClass = _data$class === void 0 ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === void 0 ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === void 0 ? {} : _data$attrs,\n remainingData = _objectWithoutProperties(data, _excluded);\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _objectSpread2(_objectSpread2({\n class: combineClassObjects(mixins.class, dClass),\n style: _objectSpread2(_objectSpread2({}, mixins.style), dStyle),\n attrs: _objectSpread2(_objectSpread2({}, mixins.attrs), dAttrs)\n }, remainingData), {}, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-spin-pulse': props.spinPulse,\n 'fa-spin-reverse': props.spinReverse,\n 'fa-pulse': props.pulse,\n 'fa-beat': props.beat,\n 'fa-fade': props.fade,\n 'fa-flash': props.flash,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip': props.flip === true,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(props.size), props.size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(props.rotation), props.rotation !== null), _defineProperty(_classes, \"fa-pull-\".concat(props.pull), props.pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _defineProperty(_classes, 'fa-bounce', props.bounce), _defineProperty(_classes, 'fa-shake', props.shake), _defineProperty(_classes, 'fa-beat-fade', props.beatFade), _classes);\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n }\n\n if (icon === null) {\n return null;\n }\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n }\n\n if (Array.isArray(icon) && icon.length === 2) {\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n }\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n functional: true,\n props: {\n beat: {\n type: Boolean,\n default: false\n },\n border: {\n type: Boolean,\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flash: {\n type: Boolean,\n default: false\n },\n flip: {\n type: [Boolean, String],\n default: false,\n validator: function validator(value) {\n return [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n spinPulse: {\n type: Boolean,\n default: false\n },\n spinReverse: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n },\n bounce: {\n type: Boolean,\n default: false\n },\n shake: {\n type: Boolean,\n default: false\n },\n beatFade: {\n type: Boolean,\n default: false\n }\n },\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n var icon$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(icon$1, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title\n }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n var convertCurry = convert.bind(null, createElement);\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n functional: true,\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n var classes = [\"\".concat(familyPrefix, \"-layers\")].concat(_toConsumableArray(context.props.fixedWidth ? [\"\".concat(familyPrefix, \"-fw\")] : []));\n return createElement('div', _objectSpread2(_objectSpread2({}, context.data), {}, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n functional: true,\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(props.counter ? [\"\".concat(familyPrefix, \"-layers-counter\")] : []), _toConsumableArray(props.position ? [\"\".concat(familyPrefix, \"-layers-\").concat(props.position)] : [])));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var renderedText = text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform), classes));\n var abstract = renderedText.abstract;\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _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\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_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 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid',\n 'fasr': 'regular',\n 'fa-regular': 'regular'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass',\n 'regular': 'fasr'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid',\n 'fasr': 'fa-regular'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass',\n 'fa-regular': 'fasr'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass',\n '400': 'fasr'\n}), _familyProxy5));\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar 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 var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _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\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\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 set(val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nvar d = UNITS_IN_GRID;\nvar 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 var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var 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}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var 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(function (i) {\n return i;\n });\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(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (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 var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (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 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\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-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\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 -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\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 -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\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(var(--fa-li-width, 2em) * -1);\\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 -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\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 -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\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 -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n -webkit-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transition-duration: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\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 -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\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 -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\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-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\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@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\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 var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n var 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\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar 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 var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\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: prefix,\n iconName: 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 var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var 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 var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var 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(function (acc, iconName) {\n var icon = icons[iconName];\n var 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 var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var 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] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\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\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (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 var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var 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: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: 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(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.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 var oldUnicode = _byOldUnicode[unicode];\n var 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}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var 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: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var 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 === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\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\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\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 var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(function (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 return Library;\n}();\n\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (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(function (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 var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (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 var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(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 var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n var hook = arguments[0];\n var 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 var iconName = iconLookup.iconName;\n var 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}\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nvar dom = {\n i2svg: function i2svg() {\n var 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('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function 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 var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: 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 var 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 var _prefix = getDefaultUsablePrefix();\n\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\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 get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, 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: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var 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: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, 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 var 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 var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.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 var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: 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 var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: 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\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var 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: width,\n height: height,\n icon: element\n };\n}\nvar 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 var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var 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 var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.3.0\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var 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 var 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 var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n var 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\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var _abstract2 = 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 var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[0].attributes.class.split(' ').reduce(function (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\n _abstract2[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 var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\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 var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n var defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(function (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 var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\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.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var 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 var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var 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 var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var 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 var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: 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\nvar styles$2 = namespace.styles;\n\nfunction generateMutation(node) {\n var 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\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function (e) {\n mark();\n reject(e);\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n}\n\nvar render = function render(iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: 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: prefix,\n iconName: iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new Promise(function (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(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (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\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var 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: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var 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}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\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 (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var 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 var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var _abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n\n var element = DOCUMENT.createElement('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(function (a) {\n return toHtml(a);\n }).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(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nvar _unwatched = false;\nvar MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n var 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(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var 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: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(_abstract) {\n var 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(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n}\n\nvar Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\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 provides: function provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var 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: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, 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\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, 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\nvar SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\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});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar 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","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}"],"sourceRoot":""}