{"version":3,"sources":["webpack://Sites.All/./node_modules/@fortawesome/free-regular-svg-icons/faStar.js","webpack://Sites.All/./node_modules/@fortawesome/free-solid-svg-icons/faChevronLeft.js","webpack://Sites.All/./node_modules/@fortawesome/free-solid-svg-icons/faChevronRight.js","webpack://Sites.All/./node_modules/@fortawesome/free-solid-svg-icons/faStar.js","webpack://Sites.All/./node_modules/@fortawesome/free-solid-svg-icons/faStarHalfAlt.js","webpack://Sites.All/webpack/bootstrap","webpack://Sites.All/webpack/runtime/global","webpack://Sites.All/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://Sites.All/./js/src/reviews-page.js"],"names":["exports","prefix","iconName","icon","__webpack_module_cache__","__webpack_require__","moduleId","module","__webpack_modules__","g","globalThis","this","Function","e","window","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_defineProperty","value","_objectSpread","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","_iterableToArrayLimit","TypeError","_nonIterableRest","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","document","MutationObserver","performance","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","PREFIX_TO_STYLE","STYLE_TO_PREFIX","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","RESERVED_CLASSES","map","n","initial","FontAwesomeConfig","querySelector","_ref","_ref2","attr","val","coerce","element","getAttribute","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","w","styles","hooks","shims","namespace","functions","loaded","domready","fn","setTimeout","doScroll","test","readyState","listener","removeEventListener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","process","emit","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","callback","arg","invokeCallback","subscriber","owner","settled","_state","_data","promise","then","reject","handleThenable","resolve","resolved","call","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","index","race","picked","Promise","d","meaninglessTransform","size","x","y","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinStyles","reduce","acc","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","width","height","fillBlack","abstract","force","attributes","fill","makeInlineSvgAbstract","params","_params$icons","icons","main","mask","symbol","title","extra","_params$watchable","watchable","found","widthClass","ceil","attrClass","c","classes","join","content","children","role","tag","args","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","maskId","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","class","noop$1","p","preamble","perf","name","end","subject","initialValue","thisContext","result","func","a","b","bindInternal4","toHex","unicode","charCodeAt","toString","slice","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","byUnicode","styles$1","getCanonicalIcon","values","cls","parts","getIconName","autoFetchSvg","rest","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","noop$2","isWatched","mutators","mutation","newOuterHTML","parentNode","outerHTML","toLowerCase","newNode","replaceChild","nest","forSvg","RegExp","splitClasses","match","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","requestAnimationFrame","mutator","disabled","enableObservation","mo","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","type","addedNodes","_getCanonicalIcon","childList","characterData","subtree","parseMeta","_classParser","existingPrefix","existingIconName","innerText","classParser","extraClasses","extraStyles","prop","styleParser","transformString","first","parseFloat","isNaN","parseTransformString","transformParser","symbolParser","extraAttributes","attributesParser","maskParser","MissingIcon","error","message","stack","Error","create","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","missing","cx","cy","r","opacity","styles$2","asFoundIcon","vectorData","findIcon","FontAwesomeKitConfig","token","styles$3","generateMutation","nodeMeta","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","generateLayersText","generateSvgReplacementMutation","onTree","root","htmlClassList","hclAdd","suffix","add","hclRemove","remove","prefixes","prefixesDomQuery","candidates","querySelectorAll","console","resolvedMutations","onNode","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","hexValue","substr","iconIdentifier","meta","firstChild","appendChild","removeAttribute","processable","operations","dfp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","get","container","html","library","Library","instance","Constructor","_classCallCheck","definitions","protoProps","_this","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","dom","i2svg","_params$node","_params$callback","watch","autoReplaceSvgRoot","autoReplace","api","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$title","_params$classes","_params$attributes","_params$styles","_params$autoReplaceSv","faChevronLeft","faChevronRight","faStar","faStarHalfAlt","faStarSolid"],"mappings":"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","file":"js/dist/reviews.bundle.js","sourcesContent":["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'star';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f005';\nvar svgPathData = 'M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-left';\nvar width = 320;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f053';\nvar svgPathData = 'M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-right';\nvar width = 320;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f054';\nvar svgPathData = 'M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'star';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f005';\nvar svgPathData = 'M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'star-half-alt';\nvar width = 536;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f5c0';\nvar svgPathData = 'M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStarHalfAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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 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 _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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 _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\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;\n\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 NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_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 PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Duotone|Brands|Free|Pro)/;\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\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: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', 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 // For example \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-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 familyPrefix: DEFAULT_FAMILY_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};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\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\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\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};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\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 getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\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], \";\");\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 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(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\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: _objectSpread({}, 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: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(nextUniqueId());\n var clipId = \"clip-\".concat(nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, 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: _objectSpread({\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\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\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(_objectSpread({}, 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.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, 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 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 widthClass = \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, 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\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n transform: transform,\n symbol: symbol,\n styles: extra.styles\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\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 = _objectSpread({}, 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 = _objectSpread({}, 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 = _objectSpread({}, 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 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 \\\"5.12.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\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\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\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 = 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 if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, 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 easy 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 styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\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 return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && ['fas', 'far', 'fal', 'fad', 'fab', 'fa'].indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\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\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\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 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\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[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 abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\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 treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\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 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') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\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 (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\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\n if (!transformString) {\n return transform;\n } else {\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 }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\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\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, 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\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = 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.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").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}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n var headers = {};\n\n if (_typeof(WINDOW.FontAwesomeKitConfig) === 'object' && typeof window.FontAwesomeKitConfig.token === 'string') {\n headers['fa-kit-token'] = WINDOW.FontAwesomeKitConfig.token;\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).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 mask: mask,\n title: title,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(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 picked.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\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\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 ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\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;\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;\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 instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.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 () {\n mark();\n reject();\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 replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(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\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) {\n var content = styles.getPropertyValue('content');\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands'].indexOf(fontFamily[1]) ? STYLE_TO_PREFIX[fontFamily[1].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(content.length === 3 ? content.substr(1, 1) : content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // 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 if (iconName && (!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(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\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 picked.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 picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n 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 {\\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-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: 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: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\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-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\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\\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 -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\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}\\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: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\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 color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), '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 Library =\n/*#__PURE__*/\nfunction () {\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] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, 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 if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(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 findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\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, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\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\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\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 observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (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$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 if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(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: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\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.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\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\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","// 3rd Party\r\nimport { library, dom } from '@fortawesome/fontawesome-svg-core';\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft';\r\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons/faChevronRight';\r\nimport { faStar as faStarSolid } from '@fortawesome/free-solid-svg-icons/faStar';\r\nimport { faStarHalfAlt } from '@fortawesome/free-solid-svg-icons/faStarHalfAlt';\r\nimport { faStar } from '@fortawesome/free-regular-svg-icons/faStar';\r\nlibrary.add(\r\n faChevronLeft,\r\n faChevronRight,\r\n faStar,\r\n faStarHalfAlt,\r\n faStarSolid\r\n);\r\ndom.watch();"],"sourceRoot":""}