mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
238 KiB
JSON
1 line
238 KiB
JSON
{"ast":null,"code":"/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _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 return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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 return obj;\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 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 ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\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 return arr2;\n }\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\nvar noop = function noop() {};\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\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) {}\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/');\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 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\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}));\nvar initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\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 <script data-search-pseudo-elements src=\"...\"></script>\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\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 var val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\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};\nvar _config = _objectSpread({}, _default, initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = _objectSpread({}, _config);\nWINDOW.FontAwesomeConfig = config;\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];\nvar functions = [];\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\nvar loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\nvar NOOP = function NOOP() {};\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;\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 asyncQueue = [];\n asyncTimer = false;\n}\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\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 if (typeof callback === 'function') {\n settled = FULFILLED;\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\nfunction handleThenable(promise, value) {\n var resolved;\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\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 return true;\n }\n return false;\n}\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\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}\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\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 this._then = [];\n invokeResolver(resolver, this);\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 if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\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 return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\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 return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n if (!remaining) {\n resolve(results);\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 return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n return new P(function (resolve) {\n resolve(value);\n });\n};\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\nvar picked = typeof Promise === 'function' ? Promise : P;\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 isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\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 for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\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 while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\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 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, '<').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 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 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}\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nfunction makeIconMasking(_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: _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(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || 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}\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 if (styleString.length > 0) {\n attributes['style'] = styleString;\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 return {\n children: children,\n attributes: attributes\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 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 return [{\n tag: 'svg',\n attributes: attributes,\n children: children\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}\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 var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"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 }).filter(function (c) {\n return c !== '' || !!c;\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 var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n args.children = children;\n args.attributes = attributes;\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 var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n var styles = _objectSpread({}, extra.styles);\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 var styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n var styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nvar noop$1 = function noop() {};\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\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};\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\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 if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\nfunction toHex(unicode) {\n var result = '';\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 return result;\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 if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\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 if (prefix === 'fas') {\n defineIcons('fa', icons);\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 _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\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 if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\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}\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 if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).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 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}\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 if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\nvar noop$2 = function noop() {};\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\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 if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"<!-- \".concat(node.outerHTML, \" Font Awesome fontawesome.com -->\") : '');\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 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 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};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\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 if (!config.observeMutations) {\n return;\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 treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\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 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}\nfunction styleParser(node) {\n var style = node.getAttribute('style');\n var val = [];\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 if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\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 if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\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 return val;\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 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 if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n }\n};\nfunction transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\nfunction symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\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 return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\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 return extraAttributes;\n}\nfunction maskParser(node) {\n var mask = node.getAttribute('data-fa-mask');\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\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: null,\n maskId: 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 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 titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\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;\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};\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\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};\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n var element = null;\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 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 if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\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}\nvar styles$3 = namespace.styles;\nfunction generateSvgReplacementMutation(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 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 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 maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\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 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 if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\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}\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\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 var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\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 if (prefixesDomQuery.length === 0) {\n return;\n }\n var candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\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 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}\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 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 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 var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].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 if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\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 if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\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}\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\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}\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}\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}\";\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 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 return s;\n}\nvar Library = /*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n this.definitions = {};\n }\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\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 return Library;\n}();\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\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}\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}\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 if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\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 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 if (config.searchPseudoElements) {\n searchPseudoElements(node);\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 _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 if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\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$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 apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\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 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 maskId: maskId,\n titleId: titleId,\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};\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};\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };","map":{"version":3,"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_defineProperty","value","_objectSpread","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","arr2","iter","toString","call","from","_arr","_n","_d","_e","undefined","_i","_s","next","done","push","err","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","e","_ref","navigator","_ref$userAgent","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","process","env","NODE_ENV","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","getAttrConfig","attr","element","querySelector","getAttribute","coerce","val","attrs","_ref2","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","config","w","styles","hooks","shims","namespace","functions","listener","removeEventListener","loaded","fn","doScroll","test","readyState","domready","setTimeout","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","global","emit","asyncSetTimer","setImmediate","asyncQueue","asyncTimer","asyncFlush","asyncCall","callback","arg","invokeResolver","resolver","promise","resolvePromise","resolve","rejectPromise","reason","reject","invokeCallback","subscriber","owner","settled","_state","_data","then","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","fulfilled","rejected","catch","_catch","all","promises","results","remaining","index","race","picked","Promise","d","meaninglessTransform","size","x","y","rotate","flipX","flipY","isReserved","name","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","getIconName","cls","parts","prefix","iconName","slice","join","htmlEscape","str","replace","joinAttributes","attributes","reduce","acc","attributeName","trim","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","abstract","force","fill","deGroup","tag","children","makeIconMasking","main","mask","explicitMaskId","maskId","mainWidth","mainPath","icon","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","found","offset","asSymbol","symbol","makeInlineSvgAbstract","params","_params$icons","icons","title","titleId","extra","_params$watchable","watchable","isUploadedIcon","widthClass","ceil","attrClass","c","classes","content","role","uploadedIconWidthStyle","args","makeLayersTextAbstract","_params$watchable2","class","makeLayersCounterAbstract","noop$1","p","preamble","begin","end","perf","bindInternal4","func","thisContext","a","b","fastReduceObject","subject","initialValue","result","toHex","unicode","hex","charCodeAt","defineIcons","_params$skipHooks","skipHooks","normalized","expanded","addPack","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","byUnicode","byLigature","byOldName","styles$1","emptyCanonicalIcon","rest","getCanonicalIcon","values","autoFetchSvg","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","noop$2","isWatched","i2svg","getMutator","mutators","mutator","mutation","newOuterHTML","parentNode","outerHTML","toLowerCase","newNode","replaceChild","nest","forSvg","RegExp","splitClasses","match","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","requestAnimationFrame","disabled","disableObservation","enableObservation","mo","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","type","addedNodes","_getCanonicalIcon","childList","characterData","subtree","disconnect","styleParser","prop","classParser","existingPrefix","existingIconName","innerText","parseTransformString","transformString","first","parseFloat","isNaN","transformParser","symbolParser","attributesParser","extraAttributes","maskParser","blankMeta","parseMeta","_classParser","extraClasses","extraStyles","MissingIcon","error","message","stack","Error","create","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","DOT","cx","cy","r","QUESTION","opacity","EXCLAMATION","missing","styles$2","asFoundIcon","_icon$slice","_icon$slice2","vectorData","findIcon","styles$3","generateSvgReplacementMutation","nodeMeta","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","generateMutation","onTree","root","htmlClassList","hclAdd","suffix","add","hclRemove","remove","prefixes","prefixesDomQuery","candidates","querySelectorAll","console","resolvedMutations","onNode","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","hexValue","substr","iconIdentifier","meta","firstChild","appendChild","removeAttribute","processable","operations","baseStyles","dfp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","Library","definitions","_this","_len","_key","additions","_pullDefinitions","reset","definition","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","get","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","noAuto","dom","_params$node","_params$callback","insertCss$$1","watch","autoReplaceSvgRoot","autoReplace","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","text","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","counter","_params$title3","_params$classes3","_params$attributes3","_params$styles3","layer","assembler","_params$classes4","api","_params$autoReplaceSv"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@fortawesome/fontawesome-svg-core/index.es.js"],"sourcesContent":["/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _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 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\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 <script data-search-pseudo-elements src=\"...\"></script>\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, '<').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 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: _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(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || 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 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 widthClass = isUploadedIcon ? '' : \"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 }).filter(function (c) {\n return c !== '' || !!c;\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 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) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || 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 maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, 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.15.4\\\"\";\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 && Object.keys(PREFIX_TO_STYLE).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(''), \"</\").concat(tag, \">\");\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' ? \"<!-- \".concat(node.outerHTML, \" Font Awesome fontawesome.com -->\") : '');\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 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 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 titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: 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 titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\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 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 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 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 maskId: maskId,\n title: title,\n titleId: titleId,\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 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 prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].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$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 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(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: _objectSpread({}, 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 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"],"mappings":"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"},"metadata":{},"sourceType":"module"} |