{"version":3,"file":"commons-bcc95255d9cb43f8cbd8.js","mappings":"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","sources":["webpack://myfuture/./node_modules/@fortawesome/fontawesome-svg-core/index.mjs","webpack://myfuture/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://myfuture/./node_modules/camelcase/index.js","webpack://myfuture/../src/image-utils.ts","webpack://myfuture/../src/components/hooks.ts","webpack://myfuture/../src/components/layout-wrapper.tsx","webpack://myfuture/../src/components/picture.tsx","webpack://myfuture/../src/components/placeholder.tsx","webpack://myfuture/../src/components/main-image.tsx","webpack://myfuture/../src/components/gatsby-image.server.tsx","webpack://myfuture/../src/components/gatsby-image.browser.tsx","webpack://myfuture/../src/components/static-image.server.tsx","webpack://myfuture/../src/components/static-image.tsx","webpack://myfuture/./src/components/shared/MainFooter.js","webpack://myfuture/./src/components/shared/mainfooter.module.scss","webpack://myfuture/./src/components/shared/mainheader.module.scss","webpack://myfuture/./src/components/shared/MainHeader.js","webpack://myfuture/./src/Layout.js","webpack://myfuture/./src/components/hero.module.scss","webpack://myfuture/./src/components/Hero.js","webpack://myfuture/./src/components/shared/Cta.js","webpack://myfuture/./node_modules/@strapi/blocks-react-renderer/dist/Text.mjs","webpack://myfuture/./node_modules/@strapi/blocks-react-renderer/dist/Block.mjs","webpack://myfuture/./node_modules/@strapi/blocks-react-renderer/dist/BlocksRenderer.mjs","webpack://myfuture/./src/components/shared/Description.js","webpack://myfuture/./src/components/shared/Icons.js","webpack://myfuture/./src/components/shared/Image.js","webpack://myfuture/./src/components/shared/Scribbles.js","webpack://myfuture/./src/components/shared/Title.js","webpack://myfuture/./src/libs/helpers.js","webpack://myfuture/./node_modules/performance-now/lib/performance-now.js","webpack://myfuture/./node_modules/raf/index.js","webpack://myfuture/./node_modules/react-headroom/dist/index.js","webpack://myfuture/./node_modules/react-headroom/dist/shouldUpdate.js","webpack://myfuture/./node_modules/react-headroom/dist/supportsPassiveEvents.js","webpack://myfuture/./node_modules/shallowequal/index.js","webpack://myfuture/./node_modules/@radix-ui/primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-collapsible/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-accordion/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-context/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-toast/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 6.7.0 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 * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _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) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar po = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n co = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n xo = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n Fo = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(o => \"\".concat(o, \"x\"))).concat(F$1.map(o => \"w-\".concat(o)));\nvar ko = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, co);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, po);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...Fo];\n\nconst 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 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 const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const 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}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let 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(i => i);\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((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst 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\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet 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}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\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\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\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 */\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};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = xo.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !xo.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(co).filter(key => key !== s).map(key => Object.keys(co[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, 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,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const 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) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n 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 const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n 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}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.0\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo$1 = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo$1 = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n 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' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo$1.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo$1) return;\n mo$1.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const 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}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...xo];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\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 return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), ko), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!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 const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).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 Promise.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 Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n 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};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let 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}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var allProps = _objectSpread2(_objectSpread2({}, defaultProps), props);\n\n var iconArgs = allProps.icon,\n maskArgs = allProps.mask,\n symbol = allProps.symbol,\n className = allProps.className,\n title = allProps.title,\n titleId = allProps.titleId,\n maskId = allProps.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || '').split(' '))));\n var transform = objectWithKey('transform', typeof allProps.transform === 'string' ? parse.transform(allProps.transform) : allProps.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(allProps).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!defaultProps.hasOwnProperty(key)) {\n extraProps[key] = allProps[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array<ImageFormat>\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record<string, unknown>\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record<string, unknown>\n pngOptions?: Record<string, unknown>\n webpOptions?: Record<string, unknown>\n avifOptions?: Record<string, unknown>\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array<number>\n outputPixelDensities?: Array<number>\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array<number>\n breakpoints?: Array<number>\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array<number>\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record<string, unknown>\n ) => IImage\n layout?: Layout\n formats?: Array<ImageFormat>\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record<string, unknown>\n breakpoints?: Array<number>\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array<IImage>): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set<ImageFormat>(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial<IGatsbyImageData> = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array<number>): Array<number> =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent<T = never> = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent<T = never> = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial<Node> & {\n childImageSharp?: IGatsbyImageDataParent<Partial<Node>>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = <T>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent<T> | any\n): node is IGatsbyImageDataParent<T> => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = <T>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent<T> | any\n): node is IGatsbyImageParent<T> => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick<HTMLAttributes<HTMLElement>, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs<OptionsType> {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs<OptionsType = Record<string, unknown>> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs<OptionsType>) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array<ImageFormat>\n\n breakpoints?: Array<number>\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData<OptionsType>({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs<OptionsType>): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial<MainImageProps> {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes<HTMLImageElement> &\n Pick<PlaceholderProps, \"sources\" | \"fallback\"> & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array<IArtDirectedImage>\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent, PropsWithChildren } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n <script\n type=\"module\"\n dangerouslySetInnerHTML={{\n __html: terserMacro`\nconst hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nif (hasNativeLazyLoadSupport) {\n const gatsbyImages = document.querySelectorAll('img[data-main-image]');\n for (let mainImage of gatsbyImages) {\n if (mainImage.dataset.src) {\n mainImage.setAttribute('src', mainImage.dataset.src)\n mainImage.removeAttribute('data-src')\n }\n if (mainImage.dataset.srcset) {\n mainImage.setAttribute('srcset', mainImage.dataset.srcset)\n mainImage.removeAttribute('data-srcset')\n }\n\n const sources = mainImage.parentNode.querySelectorAll('source[data-srcset]');\n for (let source of sources) {\n source.setAttribute('srcset', source.dataset.srcset)\n source.removeAttribute('data-srcset')\n }\n\n if (mainImage.complete) {\n mainImage.style.opacity = 1;\n\n // also hide the placeholder\n mainImage.parentNode.parentNode.querySelector('[data-placeholder-image]').style.opacity = 0;\n }\n }\n}\n`,\n }}\n />\n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `<div aria-hidden=\"true\" style=\"padding-top: ${\n (height / width) * 100\n }%;\"></div>`\n }\n\n if (layout === `constrained`) {\n sizer = `<div style=\"max-width: ${width}px; display: block;\"><img alt=\"\" role=\"presentation\" aria-hidden=\"true\" src=\"data:image/svg+xml;charset=utf-8,%3Csvg%20height='${height}'%20width='${width}'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%3E%3C/svg%3E\" style=\"max-width: 100%; display: block; position: static;\"></div>`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent<ILayoutWrapperProps> = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n <div aria-hidden style={{ paddingTop: `${(height / width) * 100}%` }} />\n )\n }\n\n if (layout === `constrained`) {\n return (\n <div style={{ maxWidth: width, display: `block` }}>\n <img\n alt=\"\"\n role=\"presentation\"\n aria-hidden=\"true\"\n src={`data:image/svg+xml;charset=utf-8,%3Csvg%20height='${height}'%20width='${width}'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%3E%3C/svg%3E`}\n style={{\n maxWidth: `100%`,\n display: `block`,\n position: `static`,\n }}\n />\n </div>\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren<ILayoutWrapperProps>\n> = function LayoutWrapper({ children, ...props }) {\n return (\n <Fragment>\n <Sizer {...props} />\n {children}\n\n {SERVER ? <NativeScriptLoading /> : null}\n </Fragment>\n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial<IResponsiveImageProps>\n\ntype ImageProps = ImgHTMLAttributes<HTMLImageElement> & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes<HTMLImageElement> & {\n fallback?: FallbackProps\n sources?: Array<SourceProps>\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent<ImageProps> = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n <img\n {...props}\n decoding=\"async\"\n loading={loading}\n src={shouldLoad ? src : undefined}\n data-src={!shouldLoad ? src : undefined}\n srcSet={shouldLoad ? srcSet : undefined}\n data-srcset={!shouldLoad ? srcSet : undefined}\n alt={alt}\n />\n )\n}\n\nexport const Picture: React.FC<PictureProps> = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n <Image {...props} {...fallback} sizes={sizes} shouldLoad={shouldLoad} />\n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n <picture>\n {sources.map(({ media, srcSet, type }) => (\n <source\n key={`${media}-${type}-${srcSet}`}\n type={type}\n media={media}\n srcSet={shouldLoad ? srcSet : undefined}\n data-srcset={!shouldLoad ? srcSet : undefined}\n sizes={sizes}\n />\n ))}\n {fallbackImage}\n </picture>\n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes<HTMLImageElement> & {\n fallback?: string\n sources?: Array<SourceProps>\n}\n\nexport const Placeholder: FunctionComponent<PlaceholderProps> =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n <Picture\n {...props}\n fallback={{\n src: fallback,\n }}\n aria-hidden\n alt=\"\"\n />\n )\n } else {\n return <div {...props}></div>\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC<PictureProps> = function MainImage(props) {\n return (\n <>\n <Picture {...props} />\n <noscript>\n <Picture {...props} shouldLoad={true} />\n </noscript>\n </>\n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent<GatsbyImageProps> =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n <LayoutWrapper layout={layout} width={width} height={height}>\n <Placeholder\n {...getPlaceholderProps(\n placeholder,\n false,\n layout,\n width,\n height,\n placeholderBackgroundColor,\n objectFit,\n objectPosition\n )}\n />\n\n <MainImage\n data-gatsby-image-ssr=\"\"\n className={imgClassName}\n {...(props as Omit<\n MainImageProps,\n \"images\" | \"fallback\" | \"onError\" | \"onLoad\"\n >)}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n </LayoutWrapper>\n )\n }\n\nexport const altValidator: PropTypes.Validator<string> = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap<GatsbyImageProps>\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set<string>()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes<HTMLImageElement>,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler<HTMLImageElement>\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick<MainImageProps, \"sources\" | \"fallback\">\n placeholder?: Pick<PlaceholderProps, \"sources\" | \"fallback\">\n}\n\nconst GatsbyImageHydrator: FC<GatsbyImageProps> = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef<HTMLElement>()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent<GatsbyImageProps> = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit<GatsbyImageProps, \"image\">,\n Omit<ISharpGatsbyImageArgs, \"backgroundColor\"> {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent<GatsbyImageProps>\n): React.FC<IStaticImageProps & IPrivateProps> {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return <GatsbyImage image={imageData} {...props} />\n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC<IStaticImageProps & IPrivateProps> =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator<number> = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC<IStaticImageProps & IPrivateProps> =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { MyFutureLogo, TodaysMilitaryLogo } from \"./Icons\"\nimport * as styles from \"./mainfooter.module.scss\"\n\nconst handleOsano = () => {\n window.Osano.cm.showDrawer('osano-cm-dom-info-dialog-open')\n}\n\nconst MainFooter = () => {\n return (\n <footer id=\"main-footer\" className={styles['footer']}>\n <div className={styles['inner']}>\n <div className={styles['logo']}>\n <Link to=\"/\" data-gtm='main-logo-footer'>\n <MyFutureLogo width={165} />\n </Link>\n </div>\n <div className={styles['tools']}>\n <h6>Tools</h6>\n <nav>\n <Link to=\"/customize-your-journey-dashboard\" data-gtm=\"footer-link\">Dashboard</Link>\n <Link to=\"/mapping-your-future/military-journey-timeline-enlisted-servicemember\" data-gtm=\"footer-link\">Military Journey Timelines</Link>\n </nav>\n </div>\n <div className={styles['explore']}>\n <h6>Explore</h6>\n <nav>\n <Link to=\"/schools-areas-of-study\" data-gtm=\"footer-link\">Schools & Areas of Study</Link>\n <Link to=\"/occupations-industries\" data-gtm=\"footer-link\">Occupations & Industries</Link>\n </nav>\n </div>\n <div className={styles['meta']}>\n <nav>\n <Link to=\"/about\" data-gtm=\"footer-link\">About Us</Link>\n <Link to=\"/external-link-policy\" data-gtm=\"footer-link\">External Link Policy</Link>\n <Link to=\"/privacy-policy\" data-gtm=\"footer-link\">Privacy Policy</Link>\n <Link to=\"/accessibility\" data-gtm=\"footer-link\">Accessibility</Link>\n <Link to=\"/sitemap-index.xml\" data-gtm=\"footer-link\">Sitemap</Link>\n <button onClick={handleOsano}>Cookie Preferences</button>\n </nav>\n </div>\n <div className={styles['more']}>\n <p>Learn more about service opportunities:</p>\n <a href=\"https://www.todaysmilitary.com/\" target=\"_blank\" rel=\"noreferrer\">\n <TodaysMilitaryLogo width={168} />\n </a>\n </div>\n <p className={styles['legal']}>Produced by the <a href=\"https://www.defense.gov/\" target=\"_blank\" rel=\"noreferrer\">Department of Defense</a> with data from the Departments of <a href=\"https://www.commerce.gov/\" target=\"_blank\" rel=\"noreferrer\">Commerce</a>, <a href=\"https://www.ed.gov/\" target=\"_blank\" rel=\"noreferrer\">Education</a> and <a href=\"https://www.dol.gov/\" target=\"_blank\" rel=\"noreferrer\">Labor</a>.</p>\n </div>\n </footer>\n )\n}\n\nexport default MainFooter\n","// extracted by mini-css-extract-plugin\nexport var explore = \"mainfooter-module--explore--fca17\";\nexport var footer = \"mainfooter-module--footer--50a85\";\nexport var inner = \"mainfooter-module--inner--4ba9c\";\nexport var legal = \"mainfooter-module--legal--4cfd1\";\nexport var logo = \"mainfooter-module--logo--6439a\";\nexport var meta = \"mainfooter-module--meta--353b2\";\nexport var more = \"mainfooter-module--more--5e3d1\";\nexport var tools = \"mainfooter-module--tools--50d06\";","// extracted by mini-css-extract-plugin\nexport var accordionContent = \"mainheader-module--accordion-content--c573f\";\nexport var accordionItem = \"mainheader-module--accordion-item--1236a\";\nexport var accordionRoot = \"mainheader-module--accordion-root--3c90e\";\nexport var accordionTrigger = \"mainheader-module--accordion-trigger--46909\";\nexport var blue = \"mainheader-module--blue--286ba\";\nexport var centerD = \"mainheader-module--centerD--d7f0a\";\nexport var centerNavItems = \"mainheader-module--centerNavItems--bf52c\";\nexport var citrus = \"mainheader-module--citrus--4e70d\";\nexport var desktop = \"mainheader-module--desktop--fbd70\";\nexport var educators = \"mainheader-module--educators--2f697\";\nexport var green = \"mainheader-module--green--74ebd\";\nexport var grey = \"mainheader-module--grey--0c2cf\";\nexport var inner = \"mainheader-module--inner--24593\";\nexport var innerSearch = \"mainheader-module--innerSearch--60df4\";\nexport var leftNavItems = \"mainheader-module--leftNavItems--bf269\";\nexport var logo = \"mainheader-module--logo--60525\";\nexport var mobileArrow = \"mainheader-module--mobileArrow--30aac\";\nexport var mobileEducators = \"mainheader-module--mobileEducators--0f01e\";\nexport var mobileMenuBtn = \"mainheader-module--mobileMenuBtn--a67c0\";\nexport var mobileMenuOpen = \"mainheader-module--mobileMenuOpen--28aeb\";\nexport var navItemDesc = \"mainheader-module--navItemDesc--4e5ab\";\nexport var navScribbleExplore = \"mainheader-module--navScribbleExplore--79dff\";\nexport var navScribblePrepare = \"mainheader-module--navScribblePrepare--c4549\";\nexport var options = \"mainheader-module--options--28423\";\nexport var overviewLink = \"mainheader-module--overviewLink--572da\";\nexport var rightNavItems = \"mainheader-module--rightNavItems--ee0fa\";\nexport var search = \"mainheader-module--search--2d18f\";\nexport var searchBar = \"mainheader-module--searchBar--3ef7a\";\nexport var searchCloseBtn = \"mainheader-module--searchCloseBtn--09a6e\";\nexport var searchOpenBtn = \"mainheader-module--searchOpenBtn--3f4ce\";\nexport var slideDown = \"mainheader-module--slideDown--06bb1\";\nexport var slideUp = \"mainheader-module--slideUp--8b207\";\nexport var topLevelNavItem = \"mainheader-module--topLevelNavItem--b59f5\";","import React, { useState, useRef, useEffect } from 'react'\nimport Headroom from 'react-headroom'\nimport { Link } from 'gatsby'\nimport { MyFutureLogo } from './Icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faSearch } from '@fortawesome/sharp-solid-svg-icons'\nimport * as Accordion from '@radix-ui/react-accordion'\nimport * as styles from './mainheader.module.scss'\nimport { Scribble } from './Scribbles'\nimport { useLocation } from \"@reach/router\"\n\n// import { StaticImage } from 'gatsby-plugin-image'\n// const src = '../images/medicine_and_the_military.png'\n\nconst MainHeader = ({ headerColor='grey' }) => {\n const [isSearch, setIsSearch] = useState(false);\n const [isMobileNav, setIsMobileNav] = useState(false);\n const [accordionValue, setAccordionValue] = useState(null); // Track accordion state\n const headerRef = useRef();\n const searchInputRef = useRef(null);\n\n const location = useLocation(); // Get the current location\n // Reusable getProps logic\n const isPartial = ({ href }) => {\n return location.pathname.startsWith(href)\n ? { 'data-active': 'true' }\n : null;\n };\n\n useEffect(() => {\n if (isSearch && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [isSearch]);\n\n useEffect(() => {\n const handleOutsideClickOrEscape = (event) => {\n if (event.type === 'mousedown') {\n if (headerRef.current && !headerRef.current.contains(event.target)) {\n setIsSearch(false);\n setAccordionValue(null);\n }\n } else if (event.type === 'keydown' && event.key === 'Escape') {\n setIsSearch(false);\n setAccordionValue(null);\n }\n };\n \n document.addEventListener('mousedown', handleOutsideClickOrEscape);\n document.addEventListener('keydown', handleOutsideClickOrEscape);\n \n return () => {\n document.removeEventListener('mousedown', handleOutsideClickOrEscape);\n document.removeEventListener('keydown', handleOutsideClickOrEscape);\n };\n }, []);\n\n return (\n <Headroom>\n <header id=\"main-header\" className={styles[headerColor]} ref={headerRef}>\n <div className={styles['inner']}>\n <Link to='/' className={styles['logo']} data-gtm='main-logo'>\n <MyFutureLogo height={36} />\n </Link>\n \n <div className={styles['desktop']} data-search-state={isSearch && 'open'} data-state={(isMobileNav) ? 'open' : 'closed'}>\n <Link to='/customize-your-journey-dashboard'>\n <span className={styles['topLevelNavItem']}>\n Customize Your Journey\n </span></Link>\n\n <Accordion.Root \n type=\"single\" \n className={styles['accordionRoot']} \n collapsible\n value={accordionValue}\n onValueChange={setAccordionValue}\n >\n <Accordion.Item value=\"item-1\" className={styles['accordionItem']}>\n <Accordion.Header asChild>\n <Accordion.Trigger className={styles['accordionTrigger']}>\n <span className={styles['topLevelNavItem']}>Explore Your Options</span>\n <FontAwesomeIcon icon={faChevronDown} />\n </Accordion.Trigger>\n </Accordion.Header>\n {!isSearch && (\n <Accordion.Content className={styles['accordionContent']}>\n <div className={styles['options']}>\n <nav>\n <Link to='/mapping-your-future' className={styles['overviewLink']}>Mapping Your Future<span role=\"presentation\"></span></Link>\n <Link to='/mapping-your-future/education' data-gtm=\"nav-subpage\" getProps={isPartial}>Education</Link>\n <Link to='/mapping-your-future/military-service' data-gtm=\"nav-subpage\" getProps={isPartial}>Military Service</Link>\n <Link to='/mapping-your-future/employment' data-gtm=\"nav-subpage\" getProps={isPartial}>Employment</Link>\n <Link to='/mapping-your-future/additional-paths' data-gtm=\"nav-subpage\" getProps={isPartial}>Additional Paths</Link>\n </nav>\n <nav>\n <Link to='/occupations-industries' className={styles['overviewLink']}>Occupations & Industries<span role=\"presentation\"></span></Link>\n <Link \n to='/occupations-industries/occupation-finder' \n data-gtm=\"nav-subpage\" \n getProps={({ location }) => {\n return location.pathname.startsWith(\"/occupations-industries/occupations/\")\n ? { \"data-active\": \"true\" }\n : null;\n }}\n >\n Occupation Finder\n </Link>\n <Link to='/occupations-industries/industries' data-gtm=\"nav-subpage\" getProps={isPartial}>Explore Industries</Link>\n\n <Link to='/schools-areas-of-study' className={styles['overviewLink']}>Schools & Areas of Study<span role=\"presentation\"></span></Link>\n <Link \n to='/schools-areas-of-study/school-finder' \n data-gtm=\"nav-subpage\" \n getProps={({ location }) => {\n return location.pathname.startsWith(\"/schools-areas-of-study/schools/\")\n ? { \"data-active\": \"true\" }\n : null;\n }}\n >\n School Finder\n </Link>\n <Link to='/schools-areas-of-study/areas-of-study/' data-gtm=\"nav-subpage\" getProps={isPartial}>Explore Areas of Study</Link>\n </nav>\n <nav>\n <Link \n to='/mapping-your-future/military-journey-timeline-enlisted-servicemember' \n className={styles['overviewLink']} \n getProps={({ location }) => {\n return location.pathname.startsWith(\"/mapping-your-future/military-journey-timeline\")\n ? { \"data-active\": \"true\" }\n : null;\n }}\n >\n Military Journey Timeline<span role=\"presentation\"></span>\n </Link>\n <p className={styles['navItemDesc']}>Discover pathways into and through the Military, and how they can align with your personal and professional goals.</p>\n </nav>\n </div>\n <Scribble scribble=\"thumbprint\" className={styles['navScribbleExplore']} />\n </Accordion.Content>\n )}\n </Accordion.Item>\n <Accordion.Item value=\"item-2\" className={styles['accordionItem']}>\n <Accordion.Header asChild>\n <Accordion.Trigger className={styles['accordionTrigger']}>\n <span className={styles['topLevelNavItem']}>Prepare for Action</span>\n <FontAwesomeIcon icon={faChevronDown} />\n </Accordion.Trigger>\n </Accordion.Header>\n\n {!isSearch && (\n <Accordion.Content className={styles['accordionContent']}>\n <div className={styles['options']}>\n <nav className={styles['leftNavItems']}>\n <Link to='/preparing-for-school' className={styles['overviewLink']} getProps={isPartial}>Preparing for School<span role=\"presentation\"></span></Link>\n <p>Explore resources to help you further your education, from choosing the right school to navigating financial aid.</p>\n </nav>\n <nav className={styles['centerNavItems']}>\n <Link to='/joining-the-military' className={styles['overviewLink']} getProps={isPartial}>Joining the Military<span role=\"presentation\"></span></Link>\n <p>Learn about the steps toward military service — and the benefits, opportunities and requirements you can expect.</p>\n </nav>\n <nav className={styles['rightNavItems']}>\n <Link to='/career-planning' className={styles['overviewLink']} getProps={isPartial}>Career Planning<span role=\"presentation\"></span></Link>\n <p>Get information to help you advance your career — including advice on writing resumes and acing interviews.</p>\n </nav>\n \n </div>\n <Scribble scribble=\"thumbprint\" className={styles['navScribblePrepare']} />\n </Accordion.Content>\n )}\n </Accordion.Item>\n </Accordion.Root>\n\n <div className={styles['mobileEducators']}>\n For Educators: <Link to='/military-resources-for-educators'>Military Resources</Link>\n </div>\n </div>\n\n {isSearch && (\n <div className={styles['searchBar']}>\n <div className={styles['innerSearch']}>\n <form action=\"/search\" method=\"get\">\n <input \n type=\"text\" \n name=\"q\" \n placeholder=\"What can we help you find?\"\n ref={searchInputRef}\n />\n <button type=\"submit\" data-gtm='main-search'> \n <FontAwesomeIcon icon={faSearch} />\n </button>\n </form>\n </div>\n </div>\n )}\n\n <div className={styles['search']}>\n <button onClick={() => setIsSearch(!isSearch)} data-gtm='main-search'>\n {isSearch ? (\n <span className={styles['searchCloseBtn']}>\n Close\n <svg height=\"512px\" id=\"Layer_1\" version=\"1.1\" viewBox=\"0 0 512 512\" width=\"512px\">\n <path d=\"M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4 L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1 c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1 c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z\"/>\n </svg>\n </span>\n ) : (\n <span className={styles['searchOpenBtn']}>\n <FontAwesomeIcon icon={faSearch} />\n </span>\n )}\n </button>\n\n {!isSearch && (\n <button className={styles['mobileMenuBtn']} onClick={() => setIsMobileNav(!isMobileNav)}>\n {isMobileNav ? (\n <span className={styles['mobileMenuOpen']}></span>\n ) : (\n <span></span>\n )}\n </button>\n )}\n </div>\n <div className={styles['educators']}>\n For Educators: <Link to='/military-resources-for-educators'>Military Resources</Link>\n </div>\n </div>\n </header>\n </Headroom>\n )\n}\n\nexport default MainHeader\n","import React, { useEffect } from \"react\"\nimport MainFooter from \"./components/shared/MainFooter\"\nimport MainHeader from \"./components/shared/MainHeader\"\nimport { getDomainCat, isBrowser } from \"./libs/helpers\"\nimport * as Toast from \"@radix-ui/react-toast\"\nimport \"./styles/modern-normalize.css\"\nimport \"pure-react-carousel/dist/react-carousel.es.css\"\nimport \"./styles/base.scss\"\n\nconst Layout = ({ children, headerColor }) => {\n // TODO: add background color to wrapping element...\n const wrapStyle = {\n display: 'grid',\n gridTemplateRows: 'auto 1fr auto',\n minHeight: '100vh',\n }\n\n // Add some gtm-branch stuff for analytics\n // idk a better place for this since the links in question \n // may appear anywhere sitewide (CMS or template data entry)\n useEffect(() => {\n if (isBrowser) {\n document.querySelectorAll('a').forEach(lnk => {\n const cat = getDomainCat(lnk.href)\n if (cat) {\n lnk.setAttribute('data-gtm-branch', cat)\n }\n })\n }\n }, [])\n\n return (\n <Toast.Provider>\n <div style={wrapStyle}>\n <MainHeader headerColor={headerColor} />\n <main>\n { children &&\n children\n }\n </main>\n <MainFooter />\n </div>\n </Toast.Provider>\n )\n}\n\nexport default Layout\n","// extracted by mini-css-extract-plugin\nexport var aNeon = \"hero-module--a-neon--86844\";\nexport var bElectricBlue = \"hero-module--b-electric-blue--51ad1\";\nexport var breadcrumbs = \"hero-module--breadcrumbs--5fbde\";\nexport var cCitrus = \"hero-module--c-citrus--29759\";\nexport var cElectricBlue = \"hero-module--c-electric-blue--1658e\";\nexport var cGrey = \"hero-module--c-grey--40ff5\";\nexport var cMyfutureGreen = \"hero-module--c-myfuture-green--8398f\";\nexport var careerDetail = \"hero-module--career-detail--a3d88\";\nexport var copy = \"hero-module--copy--c8430\";\nexport var ctaGroup = \"hero-module--cta-group--fdd20\";\nexport var dCitrus = \"hero-module--d-citrus--a5ff4\";\nexport var dDesertSand = \"hero-module--d-desert-sand--cb848\";\nexport var dElectricBlue = \"hero-module--d-electric-blue--ba34d\";\nexport var dGrey = \"hero-module--d-grey--f30f4\";\nexport var dMint = \"hero-module--d-mint--47486\";\nexport var dashboard = \"hero-module--dashboard--4d880\";\nexport var description = \"hero-module--description--f3942\";\nexport var eNeon = \"hero-module--e-neon--f0cb7\";\nexport var eyebrow = \"hero-module--eyebrow--33718\";\nexport var fGrey = \"hero-module--f-grey--a52cb\";\nexport var globalSearch = \"hero-module--globalSearch--40399\";\nexport var icon = \"hero-module--icon--a2cda\";\nexport var image = \"hero-module--image--dfb2d\";\nexport var inner = \"hero-module--inner--d1c4a\";\nexport var militaryDetail = \"hero-module--military-detail--77db8\";\nexport var schoolDetail = \"hero-module--school-detail--e2f41\";\nexport var search = \"hero-module--search--891e6\";\nexport var title = \"hero-module--title--6468b\";","import React from 'react'\nimport { graphql, Link } from 'gatsby'\nimport { camelize } from '../libs/helpers'\nimport Cta from './shared/Cta'\nimport Description from './shared/Description'\nimport { Icons } from './shared/Icons'\nimport Image from './shared/Image'\nimport { Scribble } from './shared/Scribbles'\nimport Title from './shared/Title'\nimport * as styles from './hero.module.scss'\n\n// const HeroLink = ({ icon, path, title }) => (\n// <Link to={path} data-gtm=\"hero-page\">\n// <h3>{ title }</h3>\n// <Icons icon={icon} size='3x' />\n// </Link>\n// )\n\nconst Hero = ({ breadcrumbs, children, ctas, description, eyebrow, icon, image, jumplink, title, variant }) => {\n variant = camelize(variant)\n\n let scribble = undefined\n let scribble2 = undefined\n switch (variant) {\n case 'aMyfutureGreen':\n scribble = 'splat'\n break\n case 'bElectricBlue':\n scribble = 'oh'\n break\n case 'cCitrus':\n case 'cElectricBlue':\n case 'cGrey':\n case 'cMyfutureGreen':\n scribble = 'thumbprint'\n scribble2 = 'thumbprint'\n break\n case 'dCitrus':\n case 'dDesertSand':\n case 'dElectricBlue':\n case 'dGrey':\n case 'dMint':\n case 'eNeon':\n case 'search':\n case 'globalSearch':\n scribble = 'starGiant'\n break\n case 'careerDetail':\n scribble = 'ohThick'\n break\n case 'schoolDetail':\n scribble = 'square'\n break\n case 'militaryDetail':\n scribble = 'star'\n break\n case 'dashboard':\n scribble = 'thumbprint'\n break\n default:\n break\n }\n\n return (\n <section id={jumplink ? jumplink : null} className={styles[variant]}>\n { scribble &&\n <Scribble scribble={scribble} />\n }\n { scribble2 &&\n <Scribble scribble={scribble2} />\n }\n <div className={styles['inner']}>\n { image &&\n <Image {...image} className={styles['image']} />\n }\n <div className={styles['copy']}>\n { icon &&\n <div className={styles['icon']}>\n <Icons icon={icon} size='7x' />\n </div>\n }\n { breadcrumbs && breadcrumbs.length > 0 &&\n <div className={styles['breadcrumbs']}>\n {breadcrumbs.map(crumb => <Link key={crumb.id} to={crumb.path} data-gtm=\"hero-breadcrumb\">{crumb.title}</Link>)}\n </div>\n }\n { eyebrow &&\n <div className={styles['eyebrow']}>{ eyebrow }</div>\n }\n { title &&\n <Title {...{copy:title, header:'h1'}} className={styles['title']} />\n }\n { description &&\n <Description {...description} className={styles['description']} />\n }\n { ctas && ctas.length > 0 &&\n <div className={styles['ctaGroup']}>\n { ctas.map(cta => <Cta key={cta.id} {...cta} data-gtm=\"hero-cta\" />) }\n </div>\n }\n { children &&\n children\n }\n </div>\n {/* { pages && pages.length > 0 &&\n <div className={styles['pages']}>\n { pages.map(page => <HeroLink key={page.id} {...page} />) }\n </div>\n } */}\n </div>\n </section>\n )\n}\n\nexport default Hero\n\n// pages {\n// icon\n// id\n// path\n// title\n// }\nexport const query = graphql`\n fragment HeroData on STRAPI__COMPONENT_COMPONENT_HERO {\n breadcrumbs {\n id\n path\n title\n }\n ctas {\n href\n id\n label\n page {\n path\n title\n }\n }\n description {\n content {\n children {\n text\n type\n }\n type\n }\n }\n eyebrow\n image {\n localFile {\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED)\n }\n }\n }\n jumplink\n variant\n }\n`\n","import React from 'react'\nimport { Link } from 'gatsby'\n\nconst Cta = ({ id, href, label, page, children, ...props }) => {\n // strapi does not support conditional fields\n // so do our error checking here\n if (!page && (!label || !href)) {\n return <></>\n }\n\n // default to linked pages with UGC overrides\n const path = href || page.path\n const copy = label || page.title\n\n return path.toLowerCase().startsWith('http') || path.toLowerCase().startsWith('tel') ?\n <a href={path} {...props} target='_blank' rel='noreferrer'>\n { children }\n <span>{ copy }</span>\n </a> :\n <Link to={path} {...props}>\n { children }\n <span>{ copy }</span>\n </Link>\n}\n\nexport default Cta\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { useComponentsContext } from \"./BlocksRenderer.mjs\";\nconst Text = ({ text, ...modifiers }) => {\n const { modifiers: modifierComponents, missingModifierTypes } = useComponentsContext();\n const modifierNames = Object.keys(modifiers);\n return modifierNames.reduce(\n (children, modifierName) => {\n if (!modifiers[modifierName]) {\n return children;\n }\n const ModifierComponent = modifierComponents[modifierName];\n if (!ModifierComponent) {\n if (!missingModifierTypes.includes(modifierName)) {\n console.warn(\n `[@strapi/block-react-renderer] No component found for modifier \"${modifierName}\"`\n );\n missingModifierTypes.push(modifierName);\n }\n return children;\n }\n return /* @__PURE__ */ jsx(ModifierComponent, { children });\n },\n // By default, return the text without any wrapper to avoid useless nesting\n /* @__PURE__ */ jsx(Fragment, { children: text })\n );\n};\nexport {\n Text\n};\n//# sourceMappingURL=Text.mjs.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { useComponentsContext } from \"./BlocksRenderer.mjs\";\nimport { Text } from \"./Text.mjs\";\nconst voidTypes = [\"image\"];\nconst augmentProps = (content) => {\n const { children: childrenNodes, type, ...props } = content;\n if (type === \"code\") {\n const getPlainText = (children) => {\n return children.reduce((currentPlainText, node) => {\n if (node.type === \"text\") {\n return currentPlainText.concat(node.text);\n }\n if (node.type === \"link\") {\n return currentPlainText.concat(getPlainText(node.children));\n }\n return currentPlainText;\n }, \"\");\n };\n return {\n ...props,\n plainText: getPlainText(content.children)\n };\n }\n return props;\n};\nconst Block = ({ content }) => {\n const { children: childrenNodes, type, ...props } = content;\n const { blocks, missingBlockTypes } = useComponentsContext();\n const BlockComponent = blocks[type];\n if (!BlockComponent) {\n if (!missingBlockTypes.includes(type)) {\n console.warn(`[@strapi/block-react-renderer] No component found for block type \"${type}\"`);\n missingBlockTypes.push(type);\n }\n return null;\n }\n if (voidTypes.includes(type)) {\n return /* @__PURE__ */ jsx(BlockComponent, { ...props });\n }\n if (type === \"paragraph\" && childrenNodes.length === 1 && childrenNodes[0].type === \"text\" && childrenNodes[0].text === \"\") {\n return /* @__PURE__ */ jsx(\"br\", {});\n }\n const augmentedProps = augmentProps(content);\n return /* @__PURE__ */ jsx(BlockComponent, { ...augmentedProps, children: childrenNodes.map((childNode, index) => {\n if (childNode.type === \"text\") {\n const { type: _type, ...childNodeProps } = childNode;\n return /* @__PURE__ */ createElement(Text, { ...childNodeProps, key: index });\n }\n return /* @__PURE__ */ jsx(Block, { content: childNode }, index);\n }) });\n};\nexport {\n Block\n};\n//# sourceMappingURL=Block.mjs.map\n","'use client';\nimport { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { Block } from \"./Block.mjs\";\nconst defaultComponents = {\n blocks: {\n paragraph: (props) => /* @__PURE__ */ jsx(\"p\", { children: props.children }),\n quote: (props) => /* @__PURE__ */ jsx(\"blockquote\", { children: props.children }),\n code: (props) => /* @__PURE__ */ jsx(\"pre\", { children: /* @__PURE__ */ jsx(\"code\", { children: props.plainText }) }),\n heading: ({ level, children }) => {\n switch (level) {\n case 1:\n return /* @__PURE__ */ jsx(\"h1\", { children });\n case 2:\n return /* @__PURE__ */ jsx(\"h2\", { children });\n case 3:\n return /* @__PURE__ */ jsx(\"h3\", { children });\n case 4:\n return /* @__PURE__ */ jsx(\"h4\", { children });\n case 5:\n return /* @__PURE__ */ jsx(\"h5\", { children });\n case 6:\n return /* @__PURE__ */ jsx(\"h6\", { children });\n }\n },\n link: (props) => /* @__PURE__ */ jsx(\"a\", { href: props.url, children: props.children }),\n list: (props) => {\n if (props.format === \"ordered\") {\n return /* @__PURE__ */ jsx(\"ol\", { children: props.children });\n }\n return /* @__PURE__ */ jsx(\"ul\", { children: props.children });\n },\n \"list-item\": (props) => /* @__PURE__ */ jsx(\"li\", { children: props.children }),\n image: (props) => /* @__PURE__ */ jsx(\"img\", { src: props.image.url, alt: props.image.alternativeText || void 0 })\n },\n modifiers: {\n bold: (props) => /* @__PURE__ */ jsx(\"strong\", { children: props.children }),\n italic: (props) => /* @__PURE__ */ jsx(\"em\", { children: props.children }),\n underline: (props) => /* @__PURE__ */ jsx(\"u\", { children: props.children }),\n strikethrough: (props) => /* @__PURE__ */ jsx(\"del\", { children: props.children }),\n code: (props) => /* @__PURE__ */ jsx(\"code\", { children: props.children })\n },\n missingBlockTypes: [],\n missingModifierTypes: []\n};\nconst ComponentsContext = React.createContext(defaultComponents);\nconst ComponentsProvider = ({ children, value = defaultComponents }) => {\n const memoizedValue = React.useMemo(() => value, [value]);\n return /* @__PURE__ */ jsx(ComponentsContext.Provider, { value: memoizedValue, children });\n};\nfunction useComponentsContext() {\n return React.useContext(ComponentsContext);\n}\nconst BlocksRenderer = (props) => {\n const blocks = {\n ...defaultComponents.blocks,\n ...props.blocks\n };\n const modifiers = {\n ...defaultComponents.modifiers,\n ...props.modifiers\n };\n const missingBlockTypes = React.useRef([]);\n const missingModifierTypes = React.useRef([]);\n return /* @__PURE__ */ jsx(\n ComponentsProvider,\n {\n value: {\n blocks,\n modifiers,\n missingBlockTypes: missingBlockTypes.current,\n missingModifierTypes: missingModifierTypes.current\n },\n children: props.content.map((content, index) => /* @__PURE__ */ jsx(Block, { content }, index))\n }\n );\n};\nexport {\n BlocksRenderer,\n ComponentsProvider,\n useComponentsContext\n};\n//# sourceMappingURL=BlocksRenderer.mjs.map\n","import React from 'react'\nimport { BlocksRenderer } from '@strapi/blocks-react-renderer'\nimport { Link } from 'gatsby'\n\nconst Description = ({ content, ...props }) => {\n return (\n <div {...props}>\n <BlocksRenderer content={content} blocks={\n {\n link: ({ children, url }) => {\n const isExternal = url.toLowerCase().startsWith('http') || url.toLowerCase().startsWith('tel')\n return isExternal ?\n <a href={url} target='_blank' rel='noreferrer' data-gtm='description'>{children}</a> :\n <Link to={url} data-gtm='description'>{children}</Link>\n }\n }\n }/>\n </div>\n )\n}\n\nexport default Description\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAbacus, faArrowsToDot, faBan, faBellOn, faBookCopy, faBookOpenCover, faBookOpenReader, \n faBuildingColumns, faBuildingMagnifyingGlass, faBuildingMemo, faCircleDollarToSlot, faClipboardList, \n faClipboardListCheck, faClipboardMedical, faClipboardQuestion, faCoins, faCommentsQuestion, \n faCommentsQuestionCheck, faCompassDrafting, faEnvelopeOpenDollar, faFaceSaluting, faFaceSunglasses, faFarm, \n faFileInvoiceDollar, faFlaskRoundPotion, faGears, faGraduationCap, faHandHoldingHand, \n faHandsHoldingChild, faHandsHoldingDollar, faHeadSideBrain, faHighlighter, faHundredPoints, faJetFighter, \n faLandmarkDome, faLaptopMobile, faMemoCircleCheck, faMemoPad, faMicrochip, faMoneyCheckDollar, \n faMoneyCheckDollarPen, faPaintbrushPencil, faPalette, faPenField, faPenRuler, faPeopleArrows, faPeopleGroup, faPhoneVolume, \n faPrescriptionBottleMedical, faQuestion, faRoute, faSatelliteDish, faScaleBalanced, faSchoolFlag, faScreenUsers, \n faSealQuestion, faShieldHalved, faSidebar, faSignsPost, faSpa, faSquareQuestion, faTractor, faTruckPlane, faUserChef, \n faUserGraduate } from '@fortawesome/sharp-thin-svg-icons'\n// special case\nimport { faChevronRight } from '@fortawesome/sharp-regular-svg-icons'\n\nexport const MyFutureLogo = props => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1027 220\" fill=\"none\" {...props}>\n <g fill=\"#fff\" clipPath=\"url(#a)\">\n <path d=\"M464.098 173.898h-26.063V48.978h71.611V70.68h-45.548v32.212h42.388v21.616h-42.388v49.39ZM624.66 48.978v80.834c0 9.225-2.065 17.32-6.196 24.265-4.131 6.951-10.099 12.274-17.906 15.98-7.806 3.706-17.033 5.556-27.685 5.556-16.068 0-28.54-4.112-37.428-12.348-8.889-8.229-13.333-19.495-13.333-33.791V48.979h26.407v76.476c0 9.624 1.936 16.692 5.809 21.191 3.872 4.499 10.283 6.749 19.227 6.749s14.943-2.262 18.84-6.792c3.903-4.529 5.852-11.634 5.852-21.321V48.979h26.413ZM692.95 173.898h-26.492V70.674h-33.925V48.978h94.342v21.696H692.95v103.224ZM837.297 48.978v80.834c0 9.225-2.066 17.32-6.196 24.265-4.131 6.951-10.1 12.274-17.906 15.98-7.807 3.706-17.033 5.556-27.685 5.556-16.068 0-28.54-4.112-37.428-12.348-8.889-8.229-13.333-19.495-13.333-33.791V48.979h26.407v76.476c0 9.624 1.936 16.692 5.809 21.191 3.872 4.499 10.283 6.749 19.227 6.749s14.943-2.262 18.84-6.792c3.903-4.529 5.852-11.634 5.852-21.321V48.979h26.413ZM875.271 125.965v47.933h-26.493V48.978h36.402c16.977 0 29.535 3.092 37.686 9.269 8.145 6.183 12.22 15.568 12.22 28.155 0 7.35-2.022 13.884-6.067 19.612-4.045 5.722-9.773 10.209-17.174 13.46 18.803 28.082 31.047 46.225 36.746 54.43h-29.395l-29.824-47.933h-14.101v-.006Zm0-21.536h8.544c8.372 0 14.556-1.395 18.545-4.186 3.99-2.79 5.981-7.178 5.981-13.159 0-5.98-2.034-10.14-6.11-12.648-4.075-2.508-10.382-3.762-18.926-3.762h-8.034v33.755ZM1027 173.898h-71.954V48.978H1027V70.68h-45.461v27.43h42.301v21.702h-42.301v32.212H1027v21.874ZM243.02 68.818c13.708 0 21.619 7.32 23.733 21.96h.75c4.672-7.228 9.983-12.692 15.933-16.398 5.95-3.706 12.134-5.562 18.551-5.562 8.286 0 14.593 2.384 18.92 7.148 4.327 4.763 6.497 11.48 6.497 20.134 0 3.989-.688 9.625-2.053 16.914l-13.08 61.013h-21.963l13.363-62.789c1.18-5.919 1.777-10.061 1.777-12.427 0-8.033-3.768-12.053-11.304-12.053-6.731 0-13.007 3.866-18.828 11.586-5.827 7.725-10.075 17.971-12.755 30.742l-9.435 44.941h-21.963l13.363-62.789c1.058-5.107 1.586-9.065 1.586-11.868 0-8.408-3.645-12.612-10.935-12.612-6.854 0-13.191 3.958-19.018 11.868s-10.136 18.439-12.945 31.579l-9.159 43.822H172l22.055-103.34h19.418l-4.186 19.15h.842c9.22-14.013 20.186-21.026 32.891-21.026v.007Z\" />\n <path d=\"M333.299 70.686h21.68l5.889 49.618c.559 3.866 1.057 9.299 1.494 16.306.436 7.006.651 12.661.651 16.957h.56c5.36-13.393 9.564-23.14 12.613-29.243l27.378-53.631h23.733l-64.29 119.597c-5.606 10.276-11.716 17.799-18.317 22.562-6.602 4.763-14.36 7.148-23.266 7.148-4.733 0-9.19-.59-13.363-1.776v-17.566c4.671.996 8.568 1.494 11.679 1.494 4.61 0 8.783-1.352 12.521-4.063 3.737-2.71 7.597-7.553 11.586-14.529l4.764-8.599-15.324-104.275h.012ZM65.383 1.125a3.844 3.844 0 0 0-5.433 0L36.192 24.879 1.131 59.716a3.839 3.839 0 0 0-.007 5.439l41.467 41.462a3.843 3.843 0 0 1 0 5.433L1.309 153.327a3.835 3.835 0 0 0 0 5.427l23.696 23.742-.012.013 34.963 34.959a3.845 3.845 0 0 0 5.434 0l105.289-105.277a4.096 4.096 0 0 0 0-5.79L65.383 1.125ZM22.595 153.364l41.362-41.357c1.5-1.5 1.5-3.934 0-5.433L22.48 65.106a3.843 3.843 0 0 1 0-5.433l10.339-10.338c1.5-1.5 3.934-1.5 5.433 0l59.963 59.955-59.846 59.839a3.845 3.845 0 0 1-5.434 0l-10.339-10.338a3.843 3.843 0 0 1 0-5.433v.006Zm37.355 42.783-10.34-10.338a3.843 3.843 0 0 1 0-5.433l68.335-68.326c1.5-1.5 1.5-3.934 0-5.433L49.574 38.253a3.843 3.843 0 0 1 0-5.433L59.95 22.446c1.5-1.5 3.934-1.5 5.433 0l86.861 86.85-86.86 86.851a3.843 3.843 0 0 1-5.434 0Z\" />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h1027v220H0z\" />\n </clipPath>\n </defs>\n </svg> \n // <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 191 26\" {...props}>\n // <g fill=\"#005B2D\" fillRule=\"evenodd\">\n // <path d=\"M20.447 20.944v-9.228c0-2.222-.983-3.364-2.733-3.364s-2.824 1.142-2.824 3.364v9.228h-4.667v-9.228c0-2.222-.983-3.364-2.732-3.364-1.75 0-2.825 1.142-2.825 3.364v9.228H0V4.402h4.666v2.345c1.074-1.39 2.487-2.654 4.85-2.654 2.15 0 3.777.956 4.637 2.623 1.443-1.697 3.162-2.623 5.404-2.623 3.468 0 5.556 2.099 5.556 6.08v10.771h-4.666M37.86 21.35C36.6 24.73 35.247 26 32.451 26c-1.69 0-2.95-.434-4.148-1.147l1.567-3.41c.615.372 1.383.652 1.997.652.799 0 1.229-.249 1.629-1.085L27.044 4.333h4.947l3.749 11.314 3.595-11.314h4.853L37.86 21.35M51.862 4.43v4.458h9.835v4.188h-9.835v8.11h-4.535V.24h15.696v4.188h-11.16M75.158 21.426c-5.582 0-8.996-3.164-8.996-9.372V0h4.572v11.933c0 3.436 1.692 5.214 4.483 5.214 2.79 0 4.483-1.718 4.483-5.062V0h4.572v11.903c0 6.39-3.533 9.523-9.114 9.523M98.017 4.49v16.695h-4.551V4.49h-6.297V.24h17.145v4.25h-6.297M116.449 21.426c-5.583 0-8.996-3.164-8.996-9.372V0h4.571v11.933c0 3.436 1.693 5.214 4.483 5.214 2.792 0 4.484-1.718 4.484-5.062V0h4.572v11.903c0 6.39-3.534 9.523-9.114 9.523M141.978 21.185l-4.43-6.702h-3.574v6.702h-4.548V.241h9.451c4.873 0 7.797 2.603 7.797 6.911v.06c0 3.381-1.801 5.506-4.43 6.493l5.05 7.48h-5.316Zm.089-13.793c0-1.975-1.358-2.992-3.573-2.992h-4.52v6.014h4.608c2.215 0 3.485-1.197 3.485-2.962v-.06ZM149.95 21.185V.241H165.5V4.34h-11.042v4.248h9.716v4.1h-9.716v4.398h11.189v4.1h-15.695M173.131 21.185l10.384-10.472L173.13.241v20.944\" />\n // <path d=\"M180.617.24v3.928l6.49 6.545-6.49 6.545v3.927L191 10.713 180.617.241\" />\n // </g>\n // </svg>\n)\nexport const TodaysMilitaryLogo = props => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 168 54\" fill=\"none\" {...props}>\n <path fill=\"#a8ccad\" d=\"M39.71 45.583V11.075h8.695l-4.076-6.386H33.46v44.154l6.25-3.26ZM8.87 45.583V11.075H.175l4.211-6.386H15.12v44.154l-6.25-3.26ZM27.482 51.968l-3.125 1.63-3.26-1.63V15.014l3.26 1.63 3.125-1.63v36.954ZM24.357 9.172l-3.804 2.717 1.358-4.347-3.668-2.853h4.62L24.356.34l1.358 4.348h4.62l-3.669 2.853 1.359 4.347-3.668-2.717ZM57.1 7.269h-2.446V4.552h8.016v2.717h-2.445v10.325H57.1V7.269ZM63.892 11.21v-.408c0-4.483 2.446-6.52 5.163-6.52s5.162 2.037 5.162 6.52v.408c0 4.483-2.445 6.521-5.162 6.521s-5.163-2.038-5.163-6.52Zm7.2 0v-.272c0-2.717-.814-3.804-2.037-3.804-1.223 0-2.038 1.087-2.038 3.804v.272c0 2.717.815 3.804 2.038 3.804 1.222 0 2.038-1.087 2.038-3.804ZM76.256 4.552h3.804c3.26 0 5.434 2.173 5.434 6.249v.543c0 4.076-2.173 6.25-5.434 6.25h-3.804V4.552Zm3.668 10.325c1.495 0 2.446-1.087 2.446-3.668V10.8c0-2.581-.951-3.668-2.446-3.668h-.543v7.608h.543v.136ZM90.928 4.416h.408l4.755 13.178h-3.125l-.407-1.087h-3.397l-.407 1.087h-2.853l5.026-13.178Zm-.815 9.781h1.902l-.543-1.902a11.53 11.53 0 0 0-.408-1.222 5.678 5.678 0 0 1-.407 1.222l-.544 1.902ZM98.945 13.382l-3.533-8.83h3.26l1.495 4.075c.196.574.332 1.165.408 1.766 0 0 .272-.95.543-1.766l1.495-4.075h3.125l-3.669 8.83v4.212h-3.124v-4.212ZM107.775 7.406a1.36 1.36 0 0 1-.951-1.359c.005-.206.052-.41.138-.597a1.537 1.537 0 0 1 1.493-.897 1.63 1.63 0 0 1 1.63 1.494 3.62 3.62 0 0 1-.679 1.766l-.951 1.495h-1.495l.815-1.902ZM110.9 16.644l1.494-2.31a3.82 3.82 0 0 0 2.038.815c.815 0 1.359-.407 1.359-.95v-.137c0-.679-.408-.95-1.087-1.494l-1.495-1.359a4.452 4.452 0 0 1-1.766-3.396 3.375 3.375 0 0 1 1.071-2.661 3.377 3.377 0 0 1 2.733-.872 5.177 5.177 0 0 1 3.261.951l-1.359 2.446a2.866 2.866 0 0 0-1.766-.68c-.815 0-.951.408-.951.816 0 .407.272.68.815 1.223l1.63 1.358a4.45 4.45 0 0 1 1.903 3.532v.136c0 1.902-1.223 3.669-4.076 3.669a5.07 5.07 0 0 1-3.804-1.087ZM55.47 22.214h.679l6.657 10.325L69.6 22.214h.68l.815 20.787h-4.891l-.272-8.424-2.853 4.348h-.408l-2.853-4.348-.272 8.424h-4.89l.815-20.787ZM74.49 22.35h4.89v20.515h-4.89V22.35ZM83.321 22.35h4.891v16.303h6.386v4.348H83.32V22.35ZM98.401 22.35h4.891v20.515h-4.89V22.35ZM110.356 26.698h-3.939V22.35h12.77v4.348h-3.94V43h-4.891V26.698ZM126.116 22.214h.679l7.609 20.787h-4.891l-.544-1.767h-5.298l-.544 1.767h-4.619l7.608-20.787Zm-1.358 15.352h2.989l-.952-2.989c-.271-.95-.543-1.902-.543-2.038 0-.135-.272 1.087-.543 2.038l-.951 2.99ZM143.778 38.11h-1.359V43h-5.027V22.35h6.114c4.483 0 7.472 2.717 7.472 7.608v.544a7.183 7.183 0 0 1-2.717 5.978l2.989 6.385h-5.027l-2.445-4.755Zm-1.495-4.076h.951c1.766 0 2.717-1.359 2.717-3.396v-.408c0-2.31-1.086-3.396-2.717-3.396h-.951v7.2ZM157.228 36.48l-5.57-13.994h5.163l2.309 6.521c.297.887.524 1.796.68 2.718 0 0 .407-1.63.815-2.718l2.309-6.52h4.891l-5.57 13.857V43h-4.891V36.48h-.136ZM163.478 42.593l.407-.272c.136.136.272.272.408.272.136 0 .272 0 .272-.136s0-.136-.136-.136l-.272-.135c-.272-.136-.543-.272-.543-.544s.271-.543.679-.543a.799.799 0 0 1 .679.271l-.271.272c-.136-.136-.136-.136-.272-.136s-.136 0-.136.136 0 .136.136.136l.272.136c.407.136.543.272.543.543 0 .272-.272.68-.815.68a1.9 1.9 0 0 1-.951-.544ZM165.652 40.963l.951 1.087.951-1.087.136 2.038h-.408v-.816l-.543.544-.544-.544v.816h-.543v-2.038Z\" />\n </svg>\n)\nexport const ArrowCarousel = props => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\" width={40} height={40} fill=\"none\" {...props}>\n <circle cx=\"20\" cy=\"20\" r=\"18.5\" stroke=\"#000\" fill=\"#000\" strokeWidth=\"1.5\"/>\n <path\n fill=\"#fff\"\n d=\"M12.77 20.766a1.08 1.08 0 0 1 0-1.526l5.39-5.39a1.08 1.08 0 0 1 1.527 1.526l-3.554 3.55h10.335a1.077 1.077 0 1 1 0 2.157H16.136l3.547 3.55a1.08 1.08 0 0 1-1.526 1.527l-5.39-5.39.004-.004Z\"\n />\n </svg>\n)\nexport const LightbulbOn = props => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 146 117\" fill=\"none\" {...props}>\n <g clipPath=\"url(#a)\">\n <path fill=\"#fff\" d=\"M105.919 40.08c0 6.968-2.164 13.39-5.853 18.696a224.335 224.335 0 0 1-3.097 4.327c-2.892 3.986-6.172 8.472-8.654 13.004-2.027 3.69-3.12 7.584-3.69 11.364h7.38c.5-2.733 1.343-5.397 2.686-7.857 2.255-4.1 5.056-7.948 7.857-11.797 1.184-1.616 2.369-3.233 3.507-4.873a39.865 39.865 0 0 0 7.151-22.842c0-22.158-17.945-40.104-40.081-40.104-22.136 0-40.081 17.945-40.081 40.081 0 8.495 2.641 16.374 7.15 22.842a239.163 239.163 0 0 0 3.508 4.874c2.8 3.826 5.602 7.674 7.856 11.796 1.344 2.46 2.187 5.124 2.688 7.857h7.378c-.57-3.78-1.662-7.674-3.689-11.364-2.482-4.555-5.762-9.04-8.654-13.003-1.116-1.526-2.163-2.961-3.097-4.327-3.69-5.284-5.853-11.706-5.853-18.675 0-18.105 14.689-32.793 32.794-32.793 18.105 0 32.794 14.688 32.794 32.793Zm-51.013 0c0-10.066 8.153-18.22 18.219-18.22v-7.287c-14.097 0-25.506 11.41-25.506 25.506h7.287Zm7.288 69.231v-7.288h21.862v7.288H62.194Zm-7.288-14.575v21.862h36.438V94.736H54.906ZM15.554 1.752l-3.28-1.64-3.256 6.536 3.256 1.64 11.842 5.92 3.257 1.64 3.257-6.513-3.257-1.64-11.842-5.92.022-.023Zm118.422 6.513 3.256-1.64-3.256-6.513-3.28 1.64-11.842 5.92-3.257 1.64 3.257 6.514 3.257-1.64 11.842-5.921h.023ZM3.894 36.435H.25v7.288H22.112v-7.287H3.894Zm123.887 0h-3.644v7.288H146v-7.287h-18.219ZM27.396 72.487l3.256-1.64-3.256-6.513-3.257 1.64-11.842 5.92-3.257 1.64 3.257 6.514 3.256-1.64 11.843-5.921Zm94.737-6.513-3.256-1.64-3.257 6.513 3.257 1.64 11.842 5.921 3.257 1.64 3.256-6.513-3.256-1.64-11.843-5.921Z\" />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M.25 0H146v116.6H.25z\" />\n </clipPath>\n </defs>\n </svg>\n)\n// export const OrbAnimation = props => (\n// <svg viewBox=\"0 0 160 160\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n// <mask id=\"a\" width={160} height={160} x={0} y={0} maskUnits=\"userSpaceOnUse\" style={{ maskType: \"alpha\" }}>\n// <rect width={160} height={160} x={160} fill=\"#000\" rx={80} transform=\"rotate(90 160 0)\" />\n// </mask>\n// <g fillRule=\"evenodd\" clipRule=\"evenodd\" mask=\"url(#a)\">\n// <path fill=\"#EAFC92\" d=\"M132.607 79.315c-37.701 1.683-74.259.252-111.729 2.232-64.267 3.395-127.553 21.582-184.583 13.425-52.85-7.559-37.737-28.9-28.911-43.96 6.944-11.848 48.482-19.63 72.267-30.022C-99.924 12.066-95.934.744-63.267-5.501c34.825-6.657 80.628-9.578 124.098-8.145 42.861 1.412 82.701 7.365 109.523 15.845 24.519 7.751 10.942 19.214 29.128 27.989 29.651 14.305 129.5 23.278 108.741 38.528-19.891 14.612-114.846 7.885-175.616 10.599Z\" />\n// <path fill=\"#A0B3EE\" d=\"M204.692 129.645c3.026 28.692-36.176 60.01-145.447 68.89-109.365 8.887-217.765-10.179-280.246-34.296-52.326-20.197-33.118-45.462 22.922-65.028 57.598-20.109 149.13-35.28 243.88-28.121 99.897 7.548 156.142 32.496 158.891 58.555Z\" />\n// <path fill=\"#ffa677\" d=\"M234.309 101.496c-.101 11.439-36.615 10.541-48.561 19.8-10.041 7.783-2.692 19.581-12.441 27.481-12.038 9.754-27.434 21.556-48.535 21.927-20.95.369-34.54-12.427-50.32-20.188-13.132-6.459-27.873-12.406-34.435-21.498-6.243-8.649 1.136-18.261-.948-27.522C36.6 90.522 14.665 78.401 26.656 69.635c12.773-9.338 43.133 1.859 61.374-3.933 17.944-5.699 17.142-23.646 36.742-27.224 18.375-3.355 41.619 2.23 53.69 10.714 12.308 8.651-2.504 22.89 7.638 32.389 10.443 9.78 48.31 8.506 48.209 19.915Z\" />\n// </g>\n// </svg>\n// )\n// export const RectAnimation = props => (\n// <svg viewBox=\"0 0 1013 49\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n// <mask id=\"b\" width={1013} height={65} x={0} y={-16} maskUnits=\"userSpaceOnUse\" style={{ maskType: \"alpha\" }}>\n// <path fill=\"#000\" d=\"M1013 48.3945L0 48.3946L-2.18482e-06 23.4032C-4.04121e-06 2.16853 17.2141 -15.0456 38.4488 -15.0456L974.551 -15.0457C995.786 -15.0457 1013 2.16842 1013 23.4031L1013 48.3945Z\" />\n// </mask>\n// <g mask=\"url(#b)\" fillRule=\"evenodd\" clipRule=\"evenodd\">\n// <path fill=\"#EAFC92\" d=\"M555.877 197.512C545.218 148.284 554.283 100.548 541.748 51.622C520.248 -32.296 405.108 -114.932 456.749 -189.4C504.606 -258.409 639.72 -238.674 735.07 -227.15C810.082 -218.084 859.355 -163.845 925.147 -132.788C981.646 -106.117 1053.33 -100.907 1092.87 -58.2526C1135.02 -12.7794 1153.51 47.0286 1144.44 103.79C1135.49 159.756 1097.8 211.778 1044.12 246.801C995.041 278.817 922.466 261.088 866.914 284.835C776.341 323.552 719.534 453.931 622.983 426.825C530.472 400.852 573.057 276.863 555.877 197.512Z\"/>\n// <path fill=\"#A0B3EE\" d=\"M203.709 189.994C21.8774 193.952 -176.603 142.681 -232.879 -0.230489C-289.204 -143.264 -168.371 -285.036 -15.5301 -366.752C112.47 -435.188 272.588 -410.067 396.586 -336.773C524.027 -261.444 620.179 -141.732 574.806 -17.8122C526.968 112.839 368.861 186.399 203.709 189.994Z\" />\n// <path fill=\"#FF803D\" d=\"M415.657 563.379C343.392 563.037 349.065 439.817 290.576 399.504C241.41 365.617 166.882 390.42 116.978 357.519C55.3617 316.896 -19.1911 264.939 -21.5357 193.733C-23.8637 123.034 56.971 77.1688 105.994 23.9227C146.798 -20.3965 184.364 -70.1395 241.797 -92.2857C296.435 -113.354 357.155 -88.4513 415.657 -95.4829C484.975 -103.814 561.545 -177.84 616.924 -137.374C675.911 -94.2704 605.178 8.18416 641.768 69.7398C677.765 130.297 791.137 127.588 813.741 193.733C834.932 255.742 799.649 334.181 746.058 374.915C691.413 416.451 601.46 366.466 541.459 400.691C479.677 435.933 487.724 563.72 415.657 563.379Z\" />\n// </g>\n// </svg>\n// )\nexport const DatabaseStacks = props => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={69} height={69} fill=\"none\" {...props}>\n <path fill=\"#000\" d=\"M19.738 11.293c0 .923.475 1.912 1.57 2.927.5.462 1.12.923 1.845 1.358-1.107.04-2.202.106-3.27.198l-.013-.013c-1.358-1.253-2.242-2.77-2.242-4.47 0-1.701.884-3.218 2.242-4.47 1.358-1.253 3.27-2.334 5.538-3.23C29.944 1.824 36.155.743 42.946.743c6.79 0 13 1.081 17.537 2.848 2.268.884 4.18 1.965 5.525 3.23 1.358 1.253 2.241 2.77 2.241 4.47V38.97c0 1.675-.896 3.165-2.254 4.378-1.359 1.213-3.27 2.28-5.525 3.138a37.667 37.667 0 0 1-4.88 1.45v-2.162a32.596 32.596 0 0 0 4.128-1.253c2.123-.804 3.771-1.753 4.866-2.73 1.094-.975 1.555-1.938 1.555-2.808v-9.718c-.052.04-.092.093-.144.132-1.359 1.226-3.27 2.281-5.525 3.138a37.667 37.667 0 0 1-4.88 1.45v-2.162a32.596 32.596 0 0 0 4.128-1.252c2.123-.805 3.771-1.754 4.866-2.73 1.094-.976 1.555-1.938 1.555-2.809v-9.375c-.039.04-.092.08-.131.132-1.358 1.253-3.27 2.334-5.525 3.23-2.65 1.042-5.881 1.834-9.454 2.322a21.19 21.19 0 0 0-3.086-1.78c4.576-.383 8.637-1.28 11.775-2.506 2.123-.83 3.771-1.793 4.866-2.809 1.094-1.041 1.569-2.03 1.569-2.953s-.475-1.912-1.57-2.928c-1.094-1.015-2.742-1.977-4.865-2.808-4.246-1.648-10.166-2.703-16.773-2.703-6.606 0-12.526 1.055-16.772 2.703-2.123.83-3.771 1.793-4.866 2.808-1.094 1.016-1.569 2.005-1.569 2.928ZM2.86 30.28c0 .922.475 1.912 1.57 2.927 1.094 1.015 2.742 1.978 4.865 2.808 4.246 1.649 10.166 2.703 16.773 2.703 6.606 0 12.526-1.054 16.772-2.703 2.123-.83 3.771-1.793 4.866-2.808 1.094-1.015 1.569-2.005 1.569-2.927 0-.923-.475-1.912-1.57-2.928-1.094-1.015-2.742-1.978-4.865-2.808-4.246-1.649-10.166-2.704-16.773-2.704-6.606 0-12.526 1.055-16.772 2.704-2.123.83-3.771 1.793-4.866 2.808C3.335 28.37 2.86 29.358 2.86 30.28Zm-2.11 0c0-1.701.884-3.218 2.242-4.47 1.358-1.253 3.27-2.334 5.538-3.231 4.536-1.767 10.747-2.848 17.537-2.848 6.791 0 13.002 1.081 17.538 2.848 2.268.883 4.18 1.965 5.525 3.23 1.358 1.253 2.241 2.77 2.241 4.47v27.678c0 1.674-.896 3.164-2.255 4.378-1.358 1.213-3.27 2.28-5.524 3.138-4.536 1.74-10.734 2.782-17.524 2.782-6.791 0-12.989-1.042-17.538-2.782-2.268-.857-4.167-1.912-5.525-3.139C1.647 61.11.75 59.633.75 57.959V30.28Zm48.525 4.338c-.04.04-.093.079-.132.132-1.358 1.252-3.27 2.334-5.525 3.23-4.55 1.767-10.76 2.848-17.55 2.848-6.791 0-13.002-1.081-17.538-2.848-2.268-.883-4.18-1.965-5.538-3.23-.04-.04-.092-.08-.132-.132v9.375c0 .87.462 1.82 1.556 2.809 1.095.988 2.743 1.925 4.866 2.729 4.246 1.622 10.18 2.637 16.785 2.637 6.607 0 12.54-1.015 16.786-2.637 2.123-.804 3.771-1.754 4.866-2.73 1.094-.975 1.556-1.938 1.556-2.808v-9.375ZM3.005 48.372c-.052-.04-.092-.093-.145-.132v9.718c0 .87.462 1.82 1.556 2.808 1.095.99 2.743 1.926 4.866 2.73 4.246 1.622 10.18 2.637 16.785 2.637 6.607 0 12.54-1.028 16.786-2.637 2.123-.804 3.771-1.754 4.866-2.73 1.094-.975 1.556-1.938 1.556-2.808V48.24c-.053.04-.093.092-.145.132-1.358 1.226-3.27 2.28-5.525 3.138-4.536 1.727-10.734 2.782-17.537 2.782-6.805 0-12.989-1.042-17.538-2.782-2.268-.857-4.167-1.912-5.525-3.138Z\" />\n </svg>\n)\n\n// PAGE ICON: copy paste this strapi enumeration list\n// abacus\n// arrows-to-dot\n// book-copy\n// book-open-cover\n// book-open-reader\n// building-magnifying-glass\n// building-memo\n// clipboard-medical\n// coins\n// compass-drafting\n// farm\n// flask-round-potion\n// gears\n// hand-holding-hand\n// jet-fighter\n// landmark-dome\n// paintbrush-pencil\n// palette\n// pen-ruler\n// people-arrows\n// people-group\n// phone-volume\n// prescription-bottle-medical\n// route\n// satellite-dish\n// scale-balanced\n// shield-halved\n// signs-post\n// spa\n// tractor\n// truck-plane\n// user-chef\n// user-graduate\n\n// CARDLIST CARDS ICON:\n// page icons plus these:\n// bell-on\n// building-columns\n// circle-dollar-to-slot\n// file-invoice-dollar\n// hands-holding-dollar\n// laptop-mobile\n// money-check-dollar\n// screen-users\n\n// TODO: HeroCarousel icons were removed from here, so we should remove unused icons\n// HEROCAROUSEL ICON: copy paste this strapi enumeration list\n// ban\n// clipboard-list\n// clipboard-list-check\n// clipboard-question\n// comments-question\n// comments-question-check\n// envelope-open-dollar\n// face-saluting\n// face-sunglasses\n// graduation-cap\n// hands-holding-child\n// head-side-brain\n// highlighter\n// hundred-points\n// memo-circle-check\n// memo-pad\n// money-check-dollar-pen\n// pen-field\n// satellite-dish\n// school-flag\n// seal-question\n// sidebar\n// square-question\n\nexport const Icons = ({ icon, size, props }) => {\n let ico = undefined\n switch (icon) {\n case 'bell-on':\n ico = faBellOn\n break\n case 'building-columns':\n ico = faBuildingColumns\n break\n case 'circle-dollar-to-slot':\n ico = faCircleDollarToSlot\n break\n case 'file-invoice-dollar':\n ico = faFileInvoiceDollar\n break\n case 'hands-holding-dollar':\n ico = faHandsHoldingDollar\n break\n case 'laptop-mobile':\n ico = faLaptopMobile\n break\n case 'money-check-dollar':\n ico = faMoneyCheckDollar\n break\n case 'screen-users':\n ico = faScreenUsers\n break\n case 'graduation-cap':\n ico = faGraduationCap\n break\n case 'pen-field':\n ico = faPenField\n break\n case 'highlighter':\n ico = faHighlighter\n break\n case 'comments-question':\n ico = faCommentsQuestion\n break\n case 'clipboard-question':\n ico = faClipboardQuestion\n break\n case 'school-flag':\n ico = faSchoolFlag\n break\n case 'money-check-dollar-pen':\n ico = faMoneyCheckDollarPen\n break\n case 'envelope-open-dollar':\n ico = faEnvelopeOpenDollar\n break\n case 'square-question':\n ico = faSquareQuestion\n break\n case 'clipboard-list-check':\n ico = faClipboardListCheck\n break\n case 'ban':\n ico = faBan\n break\n case 'face-saluting': // bookmark\n ico = faFaceSaluting\n break\n case 'clipboard-list':\n ico = faClipboardList\n break\n case 'hundred-points':\n ico = faHundredPoints\n break\n case 'seal-question':\n ico = faSealQuestion\n break\n case 'head-side-brain':\n ico = faHeadSideBrain\n break\n case 'face-sunglasses':\n ico = faFaceSunglasses\n break\n case 'hands-holding-child':\n ico = faHandsHoldingChild\n break\n case 'satellite-dish':\n ico = faSatelliteDish\n break\n case 'memo-pad':\n ico = faMemoPad\n break\n case 'memo-circle-check':\n ico = faMemoCircleCheck\n break\n case 'sidebar':\n ico = faSidebar\n break\n case 'comments-question-check':\n ico = faCommentsQuestionCheck\n break\n case 'tractor':\n ico = faTractor\n break\n case 'pen-ruler':\n ico = faPenRuler\n break\n case 'palette':\n ico = faPalette\n break\n case 'building-memo':\n ico = faBuildingMemo\n break\n case 'user-graduate':\n ico = faUserGraduate\n break\n case 'coins':\n ico = faCoins\n break\n case 'landmark-dome':\n ico = faLandmarkDome\n break\n case 'clipboard-medical':\n ico = faClipboardMedical\n break\n case 'user-chef':\n ico = faUserChef\n break\n case 'hand-holding-hand':\n ico = faHandHoldingHand\n break\n case 'microchip':\n ico = faMicrochip\n break\n case 'shield-halved':\n ico = faShieldHalved\n break\n case 'gears':\n ico = faGears\n break\n case 'arrows-to-dot':\n ico = faArrowsToDot\n break\n case 'flask-round-potion':\n ico = faFlaskRoundPotion\n break\n case 'truck-plane':\n ico = faTruckPlane\n break\n case 'farm':\n ico = faFarm\n break\n case 'paintbrush-pencil':\n ico = faPaintbrushPencil\n break\n case 'phone-volume':\n ico = faPhoneVolume\n break\n case 'book-open-reader':\n ico = faBookOpenReader\n break\n case 'prescription-bottle-medical':\n ico = faPrescriptionBottleMedical\n break\n case 'scale-balanced':\n ico = faScaleBalanced\n break\n case 'people-arrows':\n ico = faPeopleArrows\n break\n case 'abacus':\n ico = faAbacus\n break\n case 'compass-drafting':\n ico = faCompassDrafting\n break\n case 'spa': // images-user\n ico = faSpa\n break\n case 'route':\n ico = faRoute\n break\n case 'book-open-cover':\n ico = faBookOpenCover\n break\n case 'people-group': // medal\n ico = faPeopleGroup\n break\n case 'book-copy':\n ico = faBookCopy\n break\n case 'building-magnifying-glass':\n ico = faBuildingMagnifyingGlass\n break\n case 'jet-fighter': // flag-usa\n ico = faJetFighter\n break\n case 'signs-post':\n ico = faSignsPost\n break\n case 'chevron-right':\n ico = faChevronRight\n break\n default:\n ico = faQuestion\n break\n }\n return <FontAwesomeIcon icon={ico} size={size} {...props} />\n}\n","import React from 'react'\nimport { GatsbyImage, getImage } from 'gatsby-plugin-image'\n\nconst Image = ({ alternativeText, localFile, children, ...props }) => {\n const image = getImage(localFile)\n\n return (\n <div {...props}>\n <GatsbyImage image={image} alt={alternativeText || 'alt'} />\n { children &&\n children\n }\n </div>\n )\n}\n\nexport default Image\n","import React from 'react'\n\nexport const Scribble = ({ scribble, ...props }) => {\n switch (scribble) {\n case 'banana':\n return <ScribbleBanana {...props} />\n case 'circle':\n return <ScribbleCircle {...props} />\n case 'coin':\n return <ScribbleCoin {...props} />\n case 'dashTriple':\n return <ScribbleDashTriple {...props} />\n case 'dot':\n return <ScribbleDot {...props} />\n case 'dotD': // quiz\n return <ScribbleDotD {...props} />\n case 'dots':\n return <ScribbleDots {...props} />\n case 'dotsTri': // quiz\n return <ScribbleDotsTri {...props} />\n case 'loops':\n return <ScribbleLoops {...props} />\n case 'mDouble':\n return <ScribbleMDouble {...props} />\n case 'oh':\n return <ScribbleOh {...props} />\n case 'ohThick':\n return <ScribbleOhThick {...props} />\n case 'outline':\n return <ScribbleOutline {...props} />\n case 'ribbon':\n return <ScribbleRibbon {...props} />\n case 'slashes':\n return <ScribbleSlashes {...props} />\n case 'splat':\n return <ScribbleSplat {...props} />\n case 'square':\n return <ScribbleSquare {...props} />\n case 'star':\n return <ScribbleStar {...props} />\n case 'starGiant':\n return <ScribbleStarGiant {...props} />\n case 'swirls':\n return <ScribbleSwirls {...props} />\n case 'thumbprint':\n return <ScribbleThumbprint {...props} />\n case 'triangle':\n return <ScribbleTriangle {...props} />\n case 'triangleRight':\n return <ScribbleTriangleRight {...props} />\n case 'zee':\n return <ScribbleZee {...props} />\n // case 'waves':\n // return <ScribbleWaves {...props} />\n default:\n return false\n }\n}\n\nexport const ScribbleBanana = props => (\n <svg viewBox=\"0 0 231 137\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M175.47 112.419C174.844 112.342 174.328 112.268 174.019 112.761C173.92 112.92 174.105 113.221 174.341 113.269C174.93 113.388 175.183 112.982 175.47 112.419ZM40.6272 83.9907C40.3675 83.4639 39.7835 83.637 39.7773 83.0977C39.7756 82.9536 38.7712 83.7497 38.9605 83.9195C39.4318 84.3445 39.957 83.8155 40.6272 83.9907ZM72.4992 99.0515C73.5202 98.627 74.7093 99.1903 75.9105 98.3801C74.5627 98.3689 73.5015 98.559 72.4992 99.0515ZM88.1821 98.7467C89.1732 98.6609 90.2162 98.6278 91.154 97.5459C89.8571 97.6697 89.0022 98.127 88.1821 98.7467ZM69.4457 100.588C70.8718 100.565 72.307 100.675 73.6337 99.7764C72.1454 99.9106 70.7222 99.8878 69.4457 100.588ZM108.41 120.376C106.553 120.442 104.641 120.018 102.89 121.01C104.707 120.603 106.596 120.819 108.41 120.376ZM177.366 114.43L177.193 114.169C175.138 115.303 173.084 116.438 171.03 117.573C171.075 117.653 171.119 117.733 171.164 117.813C173.413 117.016 175.357 115.664 177.366 114.43ZM11.1315 111.038C12.57 112.898 13.3181 113.019 14.4849 111.324C13.1458 112.105 12.3683 110.271 11.1315 111.038ZM96.8289 120.927C94.2973 120.522 91.9741 121.465 89.5837 122.006C92.0764 122.19 94.4357 121.491 96.8289 120.927ZM9.50372 86.3579C12.7088 84.3246 15.969 82.3849 19.3315 80.6183C15.7395 81.9848 12.4624 83.8963 9.50372 86.3579ZM92.638 80.2667C89.6015 80.8668 86.6296 81.7064 83.6983 82.6893C86.8442 82.4868 89.9138 82.0109 92.638 80.2667ZM5.42135 103.016C5.21466 103.717 5.3965 104.142 5.54892 104.561C6.35786 106.791 7.98236 108.411 9.63709 110.008C10.4046 110.748 10.5202 110.756 11.6435 110.162C8.92798 109.565 7.67046 108.039 8.62934 106.485C8.10123 106.198 7.03218 105.871 7.25626 105.481C7.8407 104.465 6.91289 104.54 6.5865 104.274C6.18597 103.949 5.68685 103.747 5.42135 103.016ZM190.546 97.9431C185.61 102.969 180.499 107.825 175.88 113.154C182.312 109.582 186.988 104.305 190.546 97.9431ZM82.3099 129.719C83.9547 130.191 85.4504 130.23 86.9245 130.274C98.9277 130.631 110.814 129.074 122.738 128.138C121.859 127.956 83.7286 129.526 82.3099 129.719ZM76.1756 77.8051C75.208 77.6493 74.25 77.4203 73.3234 78.0312C73.0414 78.2168 72.6499 78.0341 72.353 77.8767C71.812 77.5901 71.1824 77.7636 70.907 78.0606C70.4418 78.5626 69.9667 78.4019 69.4734 78.4127C69.1408 78.4202 68.8244 78.2864 68.4723 78.3692C65.9535 78.9644 63.3499 78.8124 60.8096 79.2196C59.7687 79.3861 58.6777 79.0427 57.6637 79.6408C57.3386 79.8326 57.0548 80.4125 56.6539 80.1693C56.2596 79.9307 57.0461 79.4743 56.6241 79.027C55.8321 80.0645 54.7656 80.7434 53.477 80.7206C52.4029 80.7012 51.1247 81.5229 50.2922 80.0239C50.7867 80.9095 50.6157 81.3088 49.7678 81.5097C48.7766 81.7449 47.7535 81.7917 46.7727 82.0038C45.9915 82.1728 45.2199 82.6504 44.425 82.5162C43.3187 82.329 42.4306 83.6151 41.2655 82.877C41.1019 82.7734 40.7171 83.0373 40.9246 83.4742C41.1777 84.0081 42.1627 84.2413 42.6796 83.806C43.3696 83.2249 44.3662 83.731 45.0281 83.1006C45.5835 84.091 46.0719 83.2758 46.5884 83.0501C46.7064 82.9983 46.834 82.8815 46.9869 83.0364C47.5013 83.5579 48.3156 83.3736 48.9377 84.0699C48.9348 83.4519 48.362 82.9242 48.8487 82.7647C49.477 82.5589 49.2782 83.5169 49.8258 83.7455C49.9488 83.0658 50.3908 82.8554 51.0477 82.9602C53.0798 83.2841 54.9221 82.4234 56.8059 81.9326C57.904 81.6468 59.0364 81.4906 60.1195 81.39C62.0414 81.2119 63.914 80.7372 65.7841 80.4058C67.9964 80.014 70.2269 79.5157 72.4213 78.9632C73.6747 78.6471 75.0834 78.7105 76.1545 77.7819C77.8254 77.7757 78.5084 77.3573 78.4993 76.316C77.7744 76.91 76.6652 76.8644 76.1756 77.8051ZM178.557 118.678C177.21 119.913 175.574 120.638 173.887 121.239C172.593 121.701 171.22 121.949 170.162 122.943C169.96 123.133 169.632 123.422 169.281 123.107C169.048 122.899 168.802 122.975 168.756 123.201C168.605 123.95 168.173 123.886 167.624 123.699C167.229 123.564 166.991 123.627 167.345 124.08C167.046 124.225 166.758 124.401 166.447 124.512C161.388 126.319 156.297 128.031 151.051 129.226C148.284 129.855 145.757 131.148 143.07 132.011C138.115 133.604 133.051 134.276 127.882 134.596C124.757 134.79 121.613 134.702 118.521 134.97C112.183 135.518 105.826 135.736 99.4939 136.284C95.4935 136.63 91.4919 136.791 87.4858 136.939C83.8271 137.074 80.2398 136.592 76.6408 135.925C70.8527 134.85 65.027 133.975 59.2004 133.117C49.0434 131.621 39.1307 129.141 29.5564 125.396C23.5837 123.06 17.8594 120.227 12.5729 116.572C8.87082 114.012 5.52117 111.065 3.05875 107.242C-0.604862 101.556 -0.296282 95.7023 3.85567 90.2448C7.03218 86.0688 11.2972 83.2845 15.834 80.8743C24.0695 76.4991 32.9641 74.6927 42.1991 74.2388C48.514 73.9281 54.8327 73.9567 61.1513 73.9314C63.6808 73.9215 66.0786 73.1586 68.5274 72.6391C73.0119 71.6877 77.4563 70.5847 81.8908 69.4374C83.7041 68.9685 85.4976 68.4039 87.1412 67.472C88.0247 66.9708 89.1293 66.9832 89.8853 66.1399C90.2535 65.729 90.8073 65.9771 91.3027 66.2493C91.8424 66.5454 92.5233 66.7546 92.5498 65.7257C92.5771 64.6368 93.1198 63.902 94.2936 63.6866C94.8254 63.5888 95.2475 63.477 95.4803 62.9609C95.5097 62.8951 95.5813 62.7915 95.6236 62.7961C96.7664 62.9183 97.1479 61.8674 97.8963 61.3861C99.6559 60.2545 101.355 59.033 103.131 57.9309C104.319 57.1932 105.397 56.2943 106.546 55.5078C107.073 55.1462 107.717 54.7738 108.178 54.2954C108.71 53.742 109.313 53.2835 109.859 52.7567C111.131 51.5281 112.747 50.7743 114.057 49.5768C115.642 48.128 116.92 46.4219 118.38 44.8728C122.274 40.7419 125.969 36.4086 130.404 32.8286C134.3 29.6848 138.845 28.1949 143.805 27.8321C146.335 27.647 148.701 26.7328 151.129 26.0846C153.585 25.4293 155.856 24.3603 158.074 23.198C159.435 22.4848 160.338 21.149 161.35 19.9826C164.277 16.6097 166.916 12.896 170.613 10.3346C173.732 8.17329 176.784 5.87571 180.249 4.20234C183.848 2.46435 187.538 1.05897 191.488 0.491924C197.771 -0.409792 203.934 -0.154229 209.978 2.20299C212.76 3.2882 215.315 4.66749 217.661 6.41583C220.698 8.6782 223.148 11.5329 225.234 14.7028C228.68 19.9436 229.809 25.8079 230.051 31.9484C230.17 34.9477 230.135 37.9324 229.536 40.8691C229.295 42.0496 228.892 43.2752 228.727 44.4126C228.281 47.4797 226.96 50.1679 225.683 52.8714C224.335 55.7261 222.739 58.4639 221.173 61.2138C220.016 63.243 218.454 65.0004 217.477 67.1414C217.126 67.9085 216.404 68.5075 215.842 69.1752C215.186 69.9547 214.974 70.9687 214.374 71.7991C212.291 74.6824 210.327 77.6518 208.255 80.5429C204.622 85.6099 201.68 91.098 198.489 96.4346C197.103 98.7525 195.729 101.078 194.345 103.397C193.561 104.71 192.607 105.917 191.71 107.142C191.186 107.858 190.376 108.503 189.753 109.189C188.867 110.167 187.568 110.78 187.09 112.149C186.839 112.871 186.3 113.382 185.527 113.654C184.594 113.982 184.154 115.029 183.193 115.344C181.647 116.455 180.102 117.567 178.557 118.678Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleCircle = props => (\n <svg viewBox=\"0 0 54 52\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fill=\"#000\" fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8.49705 11.1379C7.97723 11.5214 7.61273 11.8669 7.40439 12.3573C7.34764 12.4915 7.26853 12.6448 7.42841 12.7404C7.50338 12.7856 7.72622 12.7392 7.72664 12.7305C7.74031 12.1121 8.73977 12.0408 8.49705 11.1379ZM45.052 42.8044C45.1249 42.8645 45.1973 42.9245 45.2698 42.9846C46.2486 42.2742 47.0629 41.4114 47.6995 40.3792C47.2323 40.7222 46.8583 41.1567 46.4487 41.5543C46.0005 41.9884 45.5188 42.389 45.052 42.8044ZM17.0623 19.8958C18.0158 18.4585 19.1926 17.1682 19.6962 15.4899C18.3033 16.6584 17.7296 18.3152 17.0623 19.8958ZM38.0085 30.0238C37.12 31.1417 35.8463 32.0215 35.696 33.6108C36.7327 32.5898 37.68 31.5116 38.0085 30.0238ZM9.66676 10.0423C11.8467 8.17883 14.3679 6.74238 16.3507 4.63162C13.8344 6.07428 11.4528 7.68511 9.66676 10.0423ZM43.6959 30.9272C41.6385 33.5739 39.6375 36.1478 37.6365 38.7216C41.511 35.4279 43.3914 32.9696 43.6959 30.9272ZM10.4666 20.0635C10.5701 19.9948 10.7064 19.9558 10.7333 19.8784C11.7506 16.9748 13.7864 14.8599 16.0032 12.8378C17.1042 11.8333 17.8344 10.4826 18.7987 9.01759C15.722 10.0079 10.6012 16.9814 10.4666 20.0635ZM24.8563 51.0967C13.2181 50.8983 5.27747 44.351 1.98995 33.9264C0.104094 27.9453 0.922141 22.1424 3.63806 16.6571C6.38131 11.1172 10.4732 6.69392 16.0438 3.86079C18.3708 2.67741 20.8651 1.81256 23.3155 0.88848C24.2711 0.528125 25.2855 0.616764 26.2907 0.973805C27.5665 1.42694 28.9246 1.61582 30.2679 1.57025C33.246 1.47002 35.9068 2.42434 38.373 3.94197C40.0352 4.96546 41.8291 5.79262 43.3173 7.08824C47.9418 11.1147 51.1465 16.0677 52.9645 21.9191C53.6504 24.1248 53.4101 26.3792 53.1964 28.6093C53.073 29.8942 52.5705 31.1645 52.3688 32.3968C52.2118 33.3552 51.429 34.0507 51.4911 34.6898C51.5839 35.6557 51.1888 36.2666 50.7998 36.9401C47.14 43.2745 41.4058 46.8681 34.6501 49.1023C32.2573 49.8939 29.8313 50.5566 27.3382 50.9306C26.3748 51.0748 25.3882 51.064 24.8563 51.0967Z\" />\n </svg>\n)\nexport const ScribbleCoin = props => (\n <svg viewBox=\"0 0 271 205\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M135.5 144.188C171.623 144.188 203.897 135.961 226.836 123.041C250.039 109.963 262.063 93.2461 262.063 76.6875C262.063 60.1289 250.039 43.4121 226.836 30.334C203.897 17.4141 171.623 9.1875 135.5 9.1875C99.377 9.1875 67.1035 17.4141 44.1641 30.334C20.9609 43.4121 8.9375 60.1289 8.9375 76.6875C8.9375 93.2461 20.9609 109.963 44.1641 123.041C67.1035 135.961 99.377 144.188 135.5 144.188ZM0.5 76.6875C0.5 34.7637 60.9336 0.75 135.5 0.75C210.066 0.75 270.5 34.7637 270.5 76.6875V85.125V135.75C270.5 173.033 210.066 203.25 135.5 203.25C60.9336 203.25 0.5 173.033 0.5 135.75V85.125V76.6875ZM89.0938 148.037V190.594C102.172 193.072 116.41 194.549 131.281 194.813V152.625C116.516 152.361 102.33 150.779 89.0938 148.037ZM80.6563 146.139C68.3164 143.027 56.9785 138.967 46.9063 134.01V177.41C56.7149 181.998 68.1055 185.848 80.6563 188.801V146.086V146.139ZM8.9375 103.16V135.75C8.9375 148.406 18.5352 161.854 38.4688 173.086V129.475C25.6543 122.039 15.4766 113.074 8.9375 103.16ZM181.906 190.594V148.037C168.67 150.779 154.484 152.361 139.719 152.625V194.813C154.59 194.602 168.828 193.125 181.906 190.594ZM190.344 146.139V188.854C202.895 185.953 214.285 182.104 224.094 177.463V134.01C214.022 138.914 202.684 143.027 190.344 146.139ZM262.063 135.75V103.16C255.523 113.074 245.346 121.986 232.531 129.475V173.086C252.465 161.854 262.063 148.406 262.063 135.75ZM135.5 34.5C109.186 34.5 85.5078 39.4043 68.6328 47.1035C51.3887 54.9609 42.6875 65.0332 42.6875 74.5781C42.6875 84.1231 51.3887 94.1953 68.6328 102.053C85.5078 109.752 109.186 114.656 135.5 114.656C161.814 114.656 185.492 109.752 202.367 102.053C219.611 94.1953 228.313 84.1231 228.313 74.5781C228.313 65.0332 219.611 54.9609 202.367 47.1035C185.492 39.4043 161.814 34.5 135.5 34.5ZM236.75 74.5781C236.75 89.4492 223.725 101.578 205.848 109.752C187.654 118.084 162.764 123.094 135.5 123.094C108.236 123.094 83.3457 118.084 65.1524 109.752C47.2754 101.578 34.25 89.4492 34.25 74.5781C34.25 59.707 47.2754 47.5781 65.1524 39.4043C83.3457 31.0723 108.236 26.0625 135.5 26.0625C162.764 26.0625 187.654 31.0723 205.848 39.4043C223.725 47.5781 236.75 59.707 236.75 74.5781Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleDashTriple = props => (\n <svg viewBox=\"0 0 33 38\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M18.7755 2.21355C19.022 1.86562 18.8907 1.51355 18.9458 1.1884C18.9777 0.999114 19.0928 0.683493 19.2001 0.746451C19.9601 1.19337 20.9849 0.472664 21.6335 1.31474C24.2674 4.73107 27.8167 7.23574 30.6929 10.4106C30.8955 10.6338 31.1121 10.8434 31.3167 11.0646C32.4997 12.3404 32.4992 12.3408 31.0516 13.1663C29.5621 14.0158 29.4168 14.0212 28.0027 12.8883C25.0648 10.5349 22.1392 8.16479 19.3388 5.64728C18.4653 4.86237 17.6725 3.99337 17.4787 2.7632C17.4265 2.43391 17.4053 2.08722 17.4484 1.75917C17.4865 1.4713 17.5834 1.10598 17.9363 1.07781C18.3029 1.04882 18.2433 1.42823 18.3191 1.66101C18.3887 1.87391 18.4437 2.09592 18.7755 2.21355Z\" fill=\"black\" />\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M7.3702 15.7693C8.84269 15.8633 10.0973 16.5406 11.3271 17.2828C13.9974 18.8953 16.3915 20.924 19.1149 22.4582C19.6413 22.7548 19.6364 23.0274 19.1538 23.4784C17.7513 24.7885 16.389 24.1954 15.0698 23.4486C12.4218 21.9492 9.81647 20.3752 7.18588 18.846C6.50411 18.4496 5.79665 18.0971 5.09334 17.7388C4.68701 17.5313 4.62529 17.1801 4.65553 16.7874C4.68701 16.3811 4.94298 16.2779 5.32363 16.1814C6.00044 16.0095 6.65239 15.7436 7.3702 15.7693Z\" fill=\"black\" />\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M5.80465 37.0712C4.26217 37.0712 2.72009 37.0782 1.17802 37.067C0.687195 37.0633 0.168615 37.0596 0.0153605 36.4242C-0.124225 35.8439 0.400153 35.7975 0.696721 35.549C1.26873 35.0693 1.93808 34.8478 2.65051 34.738C5.74956 34.2588 8.8511 34.0537 11.9613 34.6655C12.2977 34.7322 12.6543 34.7239 12.8047 35.1012C12.9749 35.5275 12.5586 35.6434 12.3813 35.9048C11.5546 37.125 10.3393 37.1254 9.07435 37.0861C7.98542 37.0525 6.89441 37.0795 5.80465 37.0795V37.0712Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleDot = props => (\n<svg viewBox=\"0 0 19 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M0.61084 12.1168C0.91084 8.21683 2.41084 4.61683 5.21084 1.71683C7.31084 -0.383168 12.0108 -0.283169 14.6108 2.11683C17.6108 4.81683 19.1108 8.31683 18.2108 12.4168C17.8108 14.2168 17.0108 15.9168 16.1108 17.4168C14.2108 20.7168 11.1108 22.1168 7.91084 21.5168C4.31084 20.8168 1.41084 17.9168 0.81084 14.3168C0.71084 13.6168 0.71084 12.9168 0.61084 12.1168Z\" fill=\"black\" />\n</svg>\n)\nexport const ScribbleDots = props => (\n <svg viewBox=\"0 0 233 209\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M42.4937 51.1521C36.3937 51.1521 32.0937 47.2521 31.6937 41.4521C31.3937 38.0521 32.3937 34.9521 34.2937 32.1521C36.2937 29.3521 40.6937 27.2521 44.1937 29.3521C44.4937 29.5521 44.8937 29.6521 45.2937 29.7521C49.8937 30.2521 53.9937 35.3521 53.8937 40.6521C53.7937 45.7521 49.5937 50.1521 44.1937 50.9521C43.5937 51.0521 42.8937 51.1521 42.4937 51.1521Z\" fill=\"black\"/>\n <path d=\"M90.7941 20.7522C83.8941 20.7522 79.3941 15.1522 80.9941 8.35222C81.4941 6.05222 82.5941 3.95222 84.2941 2.35222C86.1941 0.552222 88.3941 -0.347779 91.0941 0.352221C92.2941 0.652221 93.4941 0.652221 94.5941 0.952221C98.5941 1.75222 101.394 4.15222 102.394 8.15222C103.494 12.1522 101.994 15.3522 98.9941 17.9522C96.6941 19.9522 93.8941 20.7522 90.7941 20.7522Z\" fill=\"black\"/>\n <path d=\"M23.9938 79.6522C23.8938 86.3522 17.5938 90.6522 11.4938 88.0522C3.09382 84.5522 2.29382 75.4522 5.99382 69.6522C6.89382 68.2522 8.19382 67.3522 9.79382 66.8522C11.1938 66.4522 12.6938 66.3522 13.6938 67.2522C15.2938 68.7522 17.2938 69.2522 18.9938 70.3522C22.0938 72.3522 23.9938 75.8522 23.9938 79.6522Z\" fill=\"black\"/>\n <path d=\"M37.9937 182.652C30.6937 182.652 25.2937 176.852 25.6937 170.152C25.9937 165.452 28.9937 163.152 33.5937 164.252C34.2937 164.452 34.9937 164.352 35.6937 164.452C36.9937 164.552 38.3937 164.552 39.6937 164.752C44.2937 165.552 47.5937 169.252 47.5937 173.652C47.5937 177.752 44.2937 181.552 39.8937 182.552C39.1937 182.552 38.3937 182.552 37.9937 182.652Z\" fill=\"black\"/>\n <path d=\"M19.6939 124.852C19.6939 128.452 18.5939 131.452 16.1939 133.852C12.8939 137.152 8.09387 137.452 4.49387 134.452C-0.00612879 130.852 -1.00613 123.352 2.39387 118.852C4.89387 115.552 8.49387 114.952 12.2939 115.752C16.1939 116.552 18.4939 119.152 19.3939 123.052C19.5939 123.752 19.6939 124.452 19.6939 124.852Z\" fill=\"black\"/>\n <path d=\"M126.094 198.052C126.094 192.852 129.994 189.052 135.494 189.052C141.894 189.052 146.494 193.252 146.494 199.152C146.494 204.352 141.994 208.552 136.494 208.652C130.594 208.652 126.094 204.052 126.094 198.052Z\" fill=\"black\"/>\n <path d=\"M83.4941 206.852C77.1941 206.852 71.0941 200.752 71.1941 194.452C71.1941 190.052 74.5941 187.652 78.7941 188.952C79.7941 189.252 80.9941 189.252 82.0941 189.252C86.6941 189.052 90.0941 191.152 91.5941 195.052C93.8941 200.952 89.8941 206.952 83.4941 206.852Z\" fill=\"black\"/>\n <path d=\"M202.994 178.852C202.994 183.252 199.294 187.152 194.694 187.652C190.694 188.052 186.494 185.652 184.994 181.952C183.994 179.552 184.094 177.252 185.594 175.152C185.694 174.952 185.894 174.752 185.994 174.552C189.394 169.852 194.494 168.952 199.394 172.152C201.694 173.752 202.994 176.152 202.994 178.852Z\" fill=\"black\"/>\n <path d=\"M125.094 13.6522C125.094 11.5522 125.594 9.85224 126.694 8.25224C128.694 5.25224 131.894 4.45224 135.094 6.15224C136.394 6.85224 137.594 7.55224 138.794 8.45224C141.394 10.5522 142.494 13.2522 141.694 16.5522C140.894 19.9522 138.594 22.0522 135.094 22.7522C131.794 23.3522 129.094 22.1522 127.094 19.5522C125.694 17.7522 125.094 15.7522 125.094 13.6522Z\" fill=\"black\"/>\n <path d=\"M223.194 126.252C228.494 126.152 232.594 130.552 232.494 135.252C232.394 138.052 231.394 140.352 229.294 142.252C224.894 146.252 218.194 144.152 216.894 138.352C216.594 137.052 216.494 135.552 216.894 134.352C217.494 132.352 218.494 130.352 219.494 128.452C220.494 126.852 222.194 126.252 223.194 126.252Z\" fill=\"black\"/>\n <path d=\"M146.394 79.6522C146.394 79.3522 146.294 78.9522 146.294 78.5522C146.094 75.2522 147.894 73.0522 150.994 72.3522C155.294 71.4522 160.094 74.3522 160.994 78.4522C161.994 82.7522 159.194 86.9522 154.794 88.0522C150.294 89.1522 145.394 85.7522 146.194 80.6522C146.294 80.3522 146.294 80.0522 146.394 79.6522Z\" fill=\"black\"/>\n <path d=\"M66.2939 61.9522C66.3939 58.8522 67.1939 56.4522 69.1939 54.6522C72.5939 51.5522 77.2939 52.6522 78.7939 56.3522C79.1939 57.2522 79.6939 58.0522 80.1939 58.8522C81.5939 61.5522 81.6939 64.2522 79.8939 66.7522C78.1939 69.1522 75.7939 70.2522 72.7939 69.7522C69.5939 69.2522 67.6939 67.2522 66.6939 64.3522C66.4939 63.3522 66.3939 62.4522 66.2939 61.9522Z\" fill=\"black\"/>\n <path d=\"M104.594 150.052C107.294 151.252 110.794 152.052 112.694 155.352C114.194 158.052 113.594 161.352 111.294 163.752C108.894 166.152 105.394 166.752 102.494 165.352C98.2941 163.252 96.4941 157.452 98.7941 153.352C99.8941 151.252 101.794 150.052 104.594 150.052Z\" fill=\"black\"/>\n <path d=\"M147.994 158.452C143.694 158.452 140.194 154.852 140.394 150.552C140.494 148.852 140.994 147.052 141.794 145.552C142.994 143.152 145.294 142.252 147.794 142.752C149.494 143.052 151.194 143.752 152.594 144.752C155.594 146.752 156.694 150.052 155.694 153.052C154.694 156.252 151.394 158.452 147.994 158.452Z\" fill=\"black\"/>\n <path d=\"M48.5938 92.9522C48.5938 90.7522 49.1938 88.8522 50.7938 87.3522C53.2938 85.0522 56.8937 85.2522 58.9937 87.8522C59.6937 88.7522 60.3937 89.5522 61.1937 90.3522C62.3937 91.5522 63.2937 92.9522 63.6937 94.6522C64.6937 99.3522 60.7937 103.352 56.0938 102.452C51.9938 101.752 48.6938 97.5522 48.5938 92.9522Z\" fill=\"black\"/>\n <path d=\"M174.894 41.8522C171.994 41.8522 169.494 40.0522 168.794 37.1522C168.494 35.8522 167.994 34.6522 167.094 33.5522C164.994 31.0522 165.794 27.5522 168.694 26.0522C169.294 25.7522 169.994 25.4522 170.694 25.3522C175.394 24.7522 180.994 29.0522 181.494 33.7522C181.994 38.0522 178.894 41.8522 174.894 41.8522Z\" fill=\"black\"/>\n <path d=\"M107.994 50.9523C107.994 53.3523 107.594 55.1523 106.394 56.8523C103.894 60.4523 98.9939 60.7523 96.0939 57.3523C93.6939 54.6523 93.4939 50.8523 95.3939 47.8523C95.7939 47.1523 96.1939 46.4523 96.4939 45.7523C98.0939 41.7523 102.594 40.8523 105.494 44.0523C107.494 46.1523 107.994 48.6523 107.994 50.9523Z\" fill=\"black\"/>\n <path d=\"M205.794 62.7522C205.794 66.5522 202.994 69.5522 199.294 69.8522C195.294 70.1522 191.794 67.2522 191.394 63.1522C191.194 61.6522 191.294 60.1522 191.394 58.6522C191.694 56.0522 193.794 54.2522 196.494 54.0522C200.994 53.6522 205.894 58.2522 205.794 62.7522Z\" fill=\"black\"/>\n <path d=\"M226.994 92.1522C226.994 95.9522 223.994 99.3522 220.094 99.7522C216.494 100.152 212.994 97.7522 212.294 94.1522C211.794 91.7522 212.394 89.3522 213.394 87.2522C213.794 86.3522 214.894 85.5522 215.794 85.0522C220.494 82.7522 226.994 86.8522 226.994 92.1522Z\" fill=\"black\"/>\n <path d=\"M180.394 117.352C180.394 120.652 178.294 123.452 175.094 124.152C172.094 124.852 169.094 123.252 167.694 120.252C167.294 119.452 166.794 118.552 166.194 117.852C164.094 114.952 165.094 111.152 168.394 109.652C173.594 107.352 180.394 111.752 180.394 117.352Z\" fill=\"black\"/>\n <path d=\"M132.094 58.2521C132.094 58.5521 132.094 58.9521 131.994 59.4521C131.494 62.8521 129.094 65.2521 125.994 65.2521C122.994 65.2521 120.494 63.0521 119.894 59.8521C119.594 58.0521 119.194 56.2521 118.894 54.4521C118.494 52.3521 118.994 50.4521 120.794 49.1521C122.694 47.7521 124.694 47.8521 126.694 48.9521C129.394 50.3521 132.094 54.8521 132.094 58.2521Z\" fill=\"black\"/>\n <path d=\"M77.9937 136.152C77.7937 138.752 76.4937 140.952 73.7937 142.152C71.0937 143.352 68.4937 142.952 66.1937 140.952C63.4937 138.652 62.5937 134.352 64.0937 131.052C65.5937 127.752 69.2937 126.452 72.5937 128.152C75.9937 129.852 77.9937 132.752 77.9937 136.152Z\" fill=\"black\"/>\n <path d=\"M101.394 93.8522C101.294 95.3522 101.294 96.3522 101.194 97.2522C100.794 99.6522 99.3938 101.252 96.9938 101.952C94.6938 102.552 92.6938 101.852 91.1938 100.152C88.3938 97.1522 88.6938 91.9522 91.4938 89.1522C93.3938 87.3522 96.0938 86.8522 98.3938 87.9522C100.594 88.9522 101.594 91.0522 101.494 93.6522C101.394 93.9522 101.394 94.1522 101.394 93.8522Z\" fill=\"black\"/>\n <path d=\"M126.594 130.352C126.594 132.952 124.694 135.152 121.994 135.752C119.394 136.352 117.094 135.652 115.194 133.652C113.394 131.652 112.794 129.352 113.494 126.752C114.094 124.552 115.594 123.152 117.794 122.652C119.894 122.152 121.694 122.852 123.194 124.452C123.794 125.152 124.494 125.852 125.094 126.552C126.194 127.652 126.694 128.852 126.594 130.352Z\" fill=\"black\"/>\n <path d=\"M101.094 119.952C100.994 123.152 99.9937 125.052 97.7937 126.152C95.5937 127.252 93.3937 126.952 91.4937 125.452C88.5937 123.252 87.8937 118.752 89.7937 115.652C92.0937 111.952 97.0937 111.952 99.2937 115.752C100.194 117.152 100.694 118.952 101.094 119.952Z\" fill=\"black\"/>\n <path d=\"M137.394 101.152C137.394 104.152 135.694 106.652 133.094 107.352C130.494 108.052 127.694 106.852 126.294 104.252C125.394 102.652 124.994 100.852 125.394 98.9521C125.894 96.5521 127.294 94.9521 129.694 94.3521C131.994 93.7521 133.894 94.5521 135.494 96.2521C136.794 97.5521 137.294 99.3521 137.394 101.152Z\" fill=\"black\"/>\n <path d=\"M121.894 89.4522C118.594 89.4522 115.594 86.3522 115.594 82.9522C115.594 79.9522 117.894 77.6522 120.894 77.7522C124.794 77.7522 127.794 80.3522 127.794 83.5522C127.794 86.6522 125.094 89.4522 121.894 89.4522Z\" fill=\"black\"/>\n </svg>\n)\nexport const ScribbleDotsTri = props => (\n <svg viewBox=\"0 0 85 82\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M82.0805 48.8147C80.7746 48.8466 79.486 48.514 78.1734 48.6317C77.9663 48.6499 77.5964 48.5807 77.5566 48.4647C77.166 47.3145 75.8613 47.4524 75.1298 46.7081C74.4816 46.0491 74.4244 45.5276 74.7359 44.8624C75.9429 42.2861 77.0041 39.6518 77.9895 36.9852C78.2488 36.2835 78.5035 35.576 78.6936 34.8533C78.8759 34.1607 79.4702 33.9391 79.9892 33.7478C80.5525 33.5403 80.6192 34.222 80.9187 34.5136C82.3233 35.8817 82.3647 37.7345 82.7747 39.4588C83.3041 41.6822 83.7808 43.9201 84.3818 46.1245C84.8818 47.9603 84.2944 49.1088 82.0805 48.8147Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M67.7816 12.7538C67.8218 13.6994 67.2158 14.3584 66.1559 14.4827C64.6801 14.6554 63.2047 14.8559 61.7235 14.957C60.3707 15.0493 59.6612 13.9446 58.9865 13.081C58.5221 12.4862 58.8386 11.6334 59.317 10.923C60.9175 8.54554 62.1062 5.95015 63.1943 3.30755C63.384 2.84696 63.5829 2.42281 64.1785 2.34619C64.823 2.26293 64.9522 2.75003 65.2504 3.13483C66.141 4.28423 66.3332 5.67015 66.6757 7.00802C67.1599 8.90092 67.6184 10.7992 67.7816 12.7538Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M64.6836 33.9142C64.6824 35.1092 65.0071 36.0461 63.8846 36.5858C63.6183 36.7138 63.3826 36.8874 63.1039 36.8389C61.8493 36.6202 60.6245 36.6902 59.4788 37.2585C58.5829 37.7033 58.0792 37.3558 57.414 36.7014C56.137 35.4443 56.1059 34.9386 56.9103 33.3824C58.196 30.8955 59.6527 28.4762 60.4517 25.7578C60.5677 25.363 60.6957 24.9621 60.8891 24.6022C61.2897 23.8574 62.0153 23.8438 62.5691 24.4742C63.7364 25.8033 63.8689 27.4755 64.1166 29.0933C64.378 30.8003 64.5242 32.5246 64.6836 33.9142Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M65.5465 77.9951C64.2782 77.8514 63.261 77.1592 62.3725 76.325C62.0511 76.0231 62.0855 75.408 62.3199 74.9342C63.1073 73.3428 63.4146 71.5762 64.236 69.9687C64.6237 69.2095 64.7861 68.1524 65.071 67.24C65.2711 66.5975 65.5929 65.888 66.365 65.8288C67.1342 65.77 67.5405 66.4753 67.8656 67.0237C68.6961 68.4271 68.974 70.0408 69.3025 71.6085C69.6616 73.3233 69.8919 75.0671 70.1446 76.8034C70.2452 77.4972 69.7801 77.9359 69.848 78.5646C69.884 78.8997 69.4591 78.9482 69.0556 78.8347C67.8988 78.51 66.7179 78.2693 65.5465 77.9951Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M48.037 22.3101C48.0399 23.4301 47.4559 23.9528 46.2291 23.7308C45.225 23.549 44.226 23.6508 43.2464 23.6579C42.0361 23.667 41.2396 23.1347 40.4182 22.4169C39.6611 21.755 39.6234 20.9875 40.0566 20.2026C41.4397 17.6996 42.5741 15.0963 43.4626 12.3779C43.8089 11.3192 44.5259 11.255 45.2731 12.093C45.785 12.6666 46.1603 13.3103 46.3906 14.0244C47.2691 16.744 47.762 19.5436 48.037 22.3101Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M28.0457 32.3575C27.1817 32.3161 26.4386 32.3439 25.6877 32.2167C23.8995 31.9143 23.3325 31.3825 23.6245 29.6213C23.9977 27.3701 24.2595 25.087 24.9727 22.9021C25.1231 22.4415 25.2842 21.9594 25.558 21.5697C26.0393 20.885 26.6445 20.6795 27.3399 21.3609C27.9343 21.9433 28.4694 22.5621 28.8319 23.3188C29.8541 25.4532 30.6498 27.6704 31.3647 29.9245C31.7445 31.1228 30.9029 32.2254 29.7282 32.2685C29.1284 32.29 28.5295 32.3314 28.0457 32.3575Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M46.5905 68.1717C45.8134 68.3349 45.0799 68.5685 44.2614 68.407C43.0557 68.1692 41.7025 66.3675 42.0844 65.245C42.9322 62.7532 43.4429 60.1719 44.2125 57.6614C44.3877 57.089 44.5108 56.4486 45.2687 56.3562C46.0309 56.2634 46.3378 56.8558 46.5992 57.3805C47.9105 60.0116 48.7729 62.8145 49.6357 65.6111C49.8904 66.4375 49.5996 67.0915 48.7571 67.5666C48.0509 67.965 47.2234 67.6871 46.5905 68.1717Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M30.6127 9.35297C30.7357 11.5321 29.7644 12.5175 27.5762 12.9416C26.4293 13.164 25.612 12.6699 24.7285 12.295C23.6984 11.8576 23.3128 11.0773 23.6143 9.84545C24.0025 8.26113 24.6892 6.80729 25.2616 5.30498C25.7297 4.07646 26.184 2.84752 26.5887 1.59664C26.9106 0.602553 27.3169 0.63776 28.1391 1.09338C29.5614 1.88119 29.8468 3.19504 30.0597 4.55403C30.3087 6.14332 30.4338 7.75249 30.6127 9.35297Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M20.025 57.8852C20.018 57.0701 20.2839 56.3191 20.6786 55.6353C21.6781 53.9035 22.3926 52.0471 23.1386 50.2039C23.7437 48.7074 23.8763 48.8246 25.1321 49.6252C26.4394 50.4586 26.7674 51.6958 27.1961 52.938C27.6617 54.2862 28.0601 55.663 28.3919 57.0502C28.6947 58.3139 28.4387 58.5736 27.2284 58.9899C26.1109 59.3739 25.0824 59.9848 23.8518 60.0652C23.2641 60.1033 22.9986 59.9181 22.8226 59.4103C22.6635 58.9518 22.3164 58.9841 21.944 59.139C20.935 59.5578 20.023 58.9605 20.025 57.8852Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M28.0918 81.9606C26.7071 81.8102 25.5051 81.7435 24.3271 81.5377C22.3899 81.1993 21.5669 79.7661 21.9819 77.8152C22.3957 75.871 22.7846 73.928 23.553 72.0827C24.1776 70.5837 24.9103 70.389 25.9947 71.5484C26.4714 72.0583 26.8753 72.687 27.142 73.3323C28.0562 75.5458 29.0221 77.7461 29.4922 80.1157C29.7473 81.4001 29.2412 81.9925 28.0918 81.9606Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M10.0318 26.7759C9.70911 26.4744 10.1821 25.6841 9.45355 25.4828C9.19881 25.4124 9.03893 25.8357 9.13254 26.0817C9.30692 26.5382 9.14662 27.2113 9.77372 27.3902C10.0802 27.4776 10.0322 27.1218 10.0318 26.7759ZM12.8728 28.7794C12.9105 30.4706 12.5075 30.7655 11.0615 30.7378C10.2389 30.7225 9.41047 30.9933 8.58497 31.1362C7.2968 31.3595 5.34467 30.2304 5.00171 29.1357C4.88905 28.7736 4.90065 28.5028 5.04396 28.178C6.0426 25.9065 7.01846 23.6251 8.02579 21.3578C8.46609 20.3683 8.97473 20.2891 9.79733 21.0293C11.6467 22.6952 12.0311 25.0421 12.6611 27.2664C12.8231 27.838 12.8301 28.4539 12.8728 28.7794Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M0 49.3978C0.261361 46.7983 1.0968 44.3508 1.98817 41.9306C2.36923 40.8968 2.87538 40.8781 3.75929 41.5682C4.54793 42.1841 4.98367 43.015 5.12988 43.9511C5.47698 46.1728 5.76071 48.4054 6.02704 50.6392C6.13929 51.5815 5.54574 52.0636 4.59888 52.2587C3.0887 52.5698 1.88627 51.9717 0.712012 51.2008C0.0666864 50.7771 0.078284 50.0639 0 49.3978Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M43.5932 48.3773C43.1848 48.3437 42.7146 48.1623 42.5378 48.3168C41.9156 48.8606 41.1585 48.4874 40.4742 48.7364C39.744 49.0023 38.6314 47.2043 38.7193 46.3067C38.8497 44.9763 39.9995 44.1346 40.1855 42.7992C40.3694 41.4808 40.8967 40.2088 41.2952 38.9231C41.4111 38.5479 41.6593 38.2753 42.1041 38.2521C42.5796 38.2269 42.831 38.4414 43.0481 38.8709C44.2484 41.2526 44.8871 43.8401 45.8033 46.3249C46.3095 47.6972 45.0495 48.1805 43.5932 48.3773Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M64.9256 54.0962C65.2404 55.4921 63.7017 56.2513 62.6848 55.9941C62.2114 55.874 61.8278 55.7166 61.2546 55.9874C60.5504 56.3205 59.4843 56.7268 59.302 55.2419C59.2875 55.1243 58.9823 55.0634 58.8522 54.9358C58.0462 54.1434 58.0205 53.0064 58.7594 52.1056C58.9247 51.9043 59.0924 51.6806 59.174 51.4387C59.732 49.7881 60.958 48.4009 61.0802 46.5764C61.1117 46.1038 61.2873 45.6635 61.8266 45.5782C62.3679 45.4924 62.6301 45.8801 62.8505 46.2985C62.9553 46.4977 63.1309 46.6712 63.1914 46.8804C63.8827 49.2588 64.5002 51.6553 64.9256 54.0962Z\" fill=\"black\"/>\n </svg>\n)\nexport const ScribbleDotD = props => (\n <svg viewBox=\"0 0 57 52\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M40.8491 37.3937C40.9253 37.4767 41.001 37.5593 41.0772 37.6424C41.5276 37.2115 41.9886 36.7912 42.416 36.3383C42.4867 36.2631 42.4077 36.0456 42.3976 35.8941C42.2576 35.9295 42.0657 35.9184 41.9872 36.0075C41.5914 36.4553 41.2255 36.9293 40.8491 37.3937ZM45.0843 42.1029C45.1862 42.2218 45.2881 42.3406 45.39 42.4594C46.0287 41.8519 46.6677 41.2449 47.3068 40.6373C47.2457 40.5699 47.1842 40.502 47.1227 40.4345C46.4432 40.9907 45.7638 41.5468 45.0843 42.1029ZM49.6689 44.1522C49.6096 44.0737 49.5509 43.9952 49.4921 43.9168C48.5588 44.4858 47.6213 45.0474 46.6971 45.6311C46.5635 45.715 46.4965 45.9036 46.3982 46.044C46.5943 46.072 46.8559 46.1955 46.9753 46.1129C47.8885 45.4819 48.7745 44.8111 49.6689 44.1522ZM6.69008 14.3568C6.90632 14.4977 7.17994 14.8147 7.41592 14.789C7.66659 14.7615 7.88145 14.4091 8.11238 14.1985C7.71433 13.7901 7.31583 13.3813 6.91779 12.9724C6.85214 13.3693 6.78695 13.7662 6.69008 14.3568ZM28.165 14.1076C28.2541 14.014 28.3436 13.9204 28.4331 13.8268C27.1192 12.5296 25.8052 11.2324 24.4913 9.93571C24.3733 10.0587 24.2548 10.1812 24.1373 10.3042C25.4793 11.5724 26.8221 12.8403 28.165 14.1076ZM24.1061 27.6384C23.8885 28.2725 23.6015 28.6988 23.6456 29.0875C23.6943 29.5151 23.9532 30.091 24.2934 30.2653C24.635 30.4402 25.1891 30.1988 25.6501 30.1396C25.5899 29.8235 25.6207 29.4431 25.4513 29.2045C25.0596 28.652 24.5712 28.1679 24.1061 27.6384ZM51.5461 43.8301C52.5832 42.7104 53.6199 41.5908 54.657 40.4712C54.6056 40.4189 54.5542 40.3671 54.5018 40.3148C53.5988 41.221 52.7628 42.2094 51.7789 43.017C49.5784 44.8226 47.3073 46.5433 45.0572 48.2878C44.6027 48.6398 44.1091 48.9413 43.6367 49.2716C43.0844 49.658 42.5174 50.3642 42.0639 49.1744C41.8697 49.2547 41.5804 49.2794 41.495 49.424C40.7797 50.6441 40.0314 50.7813 38.7946 49.7016C39.1504 50.7579 38.9663 51.0561 37.9122 50.8198C37.269 50.6762 36.5037 51.0937 35.7898 51.2452C32.5283 51.9344 29.2981 51.3801 26.0352 51.1373C20.8658 50.7519 16.4171 48.5714 12.2714 45.8137C8.81251 43.513 6.25898 40.2326 3.81381 36.8297C0.594589 32.3508 0.305355 27.4631 0.767211 22.3152C1.13908 18.1777 2.48104 14.3572 4.5727 10.7993C6.24567 7.95437 8.63942 5.72983 10.9473 3.40618C13.2741 1.06464 16.199 0.877883 19.1244 0.58605C19.8218 0.516304 20.61 0.951759 21.2964 1.2803C22.0737 1.65197 22.743 2.25629 23.5281 2.60089C26.8231 4.0472 29.1998 6.64387 31.6983 9.07076C33.8326 11.1434 35.8499 13.3358 37.9186 15.4755C42.5565 20.2724 47.2526 25.0142 51.7977 29.8973C53.288 31.4987 54.3962 33.4585 55.65 35.2742C55.931 35.6803 56.1312 36.1557 56.2988 36.6237C56.7041 37.7571 56.8276 38.7712 55.7749 39.7719C54.3646 41.1118 53.1365 42.6425 51.8299 44.0916C51.7353 44.0044 51.6407 43.9172 51.5461 43.8301Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleLoops = props => (\n <svg viewBox=\"0 0 140 145\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M110.006 96.499L109.559 96.2252C108.899 97.6994 108.239 99.1739 107.58 100.648C108.579 99.3475 109.632 98.0837 110.006 96.499ZM111.535 90.9425C112.433 89.103 113.247 87.1074 113.127 84.8757C112.596 86.8982 112.066 88.9204 111.535 90.9425ZM21.3545 39.2726C21.6101 38.9851 21.8731 38.7034 22.1199 38.4081C27.2138 32.3247 32.8796 26.8316 39.0645 21.8612C42.5496 19.0608 46.6763 17.1376 50.0495 14.2917C53.7985 11.1288 57.5445 8.16149 62.1566 6.41025C62.1918 6.39658 62.1608 6.20646 62.1608 5.89746C52.6242 6.68942 44.2565 10.3282 37.0577 16.4132C29.8158 22.5351 23.8596 29.7128 21.3545 39.2726ZM132.738 55.4065C132.618 42.6781 128.503 31.5212 119.282 22.5326C111.096 14.5539 101.891 8.40048 90.0717 7.27468C111.178 17.266 125.38 33.2579 132.738 55.4065ZM92.5259 13.3266C93.7312 14.9879 95.5582 15.842 97.0535 17.1157C105.644 24.4334 111.469 33.5574 115.337 44.1129C119.151 54.5205 119.882 65.2562 119.063 76.1216C118.55 82.9281 116.863 89.5698 114.407 95.9792C114.215 96.4795 113.595 97.117 114.315 97.5681C114.915 97.9433 115.204 97.1758 115.573 96.8602C119.452 93.5466 122.567 89.5649 125.102 85.1901C127.424 81.1823 129.402 77.097 129.12 72.1046C127.862 49.7978 118.657 31.7672 100.749 18.2945C98.1843 16.3652 95.4874 14.6156 92.5259 13.3266ZM124.315 96.8142C123.414 96.7612 122.898 97.0984 122.545 97.5403C120.615 99.9497 118.123 101.589 115.561 103.263C114.086 104.227 112.595 105.175 111.083 106.094C108.63 107.585 107.318 110.093 105.591 112.262C100.455 118.714 94.5472 124.349 87.5389 128.816C79.1745 134.148 70.311 137.62 60.2356 138.062C54.848 138.298 49.772 137.798 44.6198 136.181C36.3001 133.569 29.5921 128.687 23.8803 122.354C15.3345 112.879 10.9684 101.404 8.54077 89.0682C8.35727 88.1346 8.0781 87.2201 7.84325 86.2968C7.19461 88.6035 7.29195 90.8485 7.25301 93.0893C7.09189 102.447 9.57171 111.254 14.1967 119.179C18.7024 126.9 25.26 132.859 33.5631 136.652C41.0701 140.082 48.9204 141.746 57.1663 141.316C66.2299 140.844 74.8531 138.519 83.1347 134.86C97.1811 128.655 109.371 120.049 118.41 107.42C120.751 104.15 122.775 100.68 124.315 96.8142ZM42.497 26.4733C42.0509 26.6597 41.7899 26.7053 41.6122 26.8519C36.3863 31.1716 31.7787 36.1101 27.4254 41.2802C24.0816 45.2524 21.234 49.6052 18.6328 54.0848C16.8646 57.1313 15.168 60.2775 14.7749 63.913C13.8198 72.7441 13.9929 81.5219 15.7731 90.2528C18.3118 102.706 22.9802 114.098 31.9141 123.447C36.4621 128.206 41.884 131.603 48.1218 133.507C58.225 136.593 67.6937 134.009 76.8285 129.625C82.7387 126.788 87.9332 122.843 92.7752 118.485C94.9808 116.501 97.0986 114.315 98.8412 111.454C95.7309 111.809 93.0366 112.498 90.2689 112.79C80.8503 113.783 72.0154 111.877 63.7567 107.485C52.5198 101.51 44.9851 92.2323 40.7362 80.3066C35.3222 65.1121 35.714 49.7713 39.9426 34.3966C40.6575 31.7971 41.5928 29.258 42.497 26.4733ZM66.8421 12.7504C63.0704 13.375 60.1705 14.5559 57.6335 16.6083C55.0659 18.6847 53.5164 21.4764 51.8505 24.2793C49.5649 28.1239 47.9901 32.2796 46.7782 36.4448C45.7066 40.1254 44.9706 44.0044 44.5357 47.9115C43.5047 57.1611 43.3515 66.2859 45.9986 75.3387C48.7593 84.7825 53.3097 93.064 60.7873 99.6146C72.9035 110.229 87.9556 112.028 102.182 105.648C103.107 105.233 103.959 104.724 104.493 103.826C107.981 97.9649 110.464 91.6458 112.009 85.0596C114.101 76.141 114.412 67.0563 113.209 57.9389C111.485 44.8804 106.778 33.1424 97.7216 23.4165C93.0291 18.3778 87.9208 13.807 80.7977 12.4514C78.6729 12.0471 76.3045 11.2415 74.5831 13.006C72.7005 14.9357 70.9211 17.1124 69.6669 19.4833C64.3436 29.5484 63.2261 40.1502 66.4631 51.0968C67.7214 55.3527 70.417 58.6385 74.1825 61.043C74.8983 61.5002 76.3733 61.8034 75.8791 62.851C75.4438 63.775 74.0587 63.5116 73.0476 63.2217C72.6711 63.1136 72.3108 62.9147 71.9753 62.706C67.7591 60.0812 64.2985 56.7113 62.4138 52.0573C58.4135 42.1786 58.865 32.1827 61.9789 22.1752C62.9875 18.9328 64.648 15.9973 66.8421 12.7504ZM20.5166 27.2905C19.9491 27.3042 19.7428 27.7727 19.5208 28.1537C17.4262 31.7552 15.5114 35.4578 14.224 39.4221C13.7829 40.7794 12.5734 41.9442 12.9122 43.6167C13.7075 43.2013 14.0592 42.6313 14.0956 41.8323C14.1577 40.4663 14.8503 39.3152 15.4086 38.1198C17.0998 34.4993 18.7864 30.8767 20.4743 27.2545C22.8804 24.0991 25.2873 20.9437 27.6934 17.7888C26.0553 19.2555 24.4593 20.7395 23.2375 22.5728C22.2268 24.0884 20.7585 25.333 20.5166 27.2905ZM0.54834 91.6968C0.697038 84.7858 1.64473 77.971 4.04006 71.5185C6.55509 64.7443 7.83083 57.7252 9.39609 50.7298C12.2433 37.9985 17.1305 26.1556 26.2934 16.5085C33.9545 8.44232 43.2276 3.218 54.2785 1.58439C62.3443 0.391903 70.3802 0.845867 78.2289 3.31451C79.0432 3.57048 79.8836 3.80161 80.763 3.65332C88.4104 2.36516 95.6804 3.72332 102.722 6.75238C111.32 10.4512 118.929 15.572 125.261 22.497C130.12 27.812 133.959 33.8275 136.213 40.6589C138.776 48.4285 139.899 56.4118 138.319 64.6155C137.947 66.5436 138.097 68.6895 137.539 70.4723C136.851 72.6671 136.55 74.9373 135.834 77.0916C134.61 80.7743 134.185 84.6139 133.346 88.3703C132.289 93.0968 130.499 97.5647 128.391 101.894C125.461 107.911 121.767 113.504 117.012 118.173C112.779 122.33 108.407 126.365 103.135 129.412C99.3676 131.59 95.7633 134.078 91.8503 136.038C79.2138 142.368 65.9018 145.693 51.7134 144.826C40.7499 144.155 30.6521 140.799 21.7525 134.262C9.32195 125.132 2.50378 112.77 0.945145 97.4691C0.750056 95.5513 0.677985 93.6211 0.54834 91.6968Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleMDouble = props => (\n <svg viewBox=\"0 0 47 39\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.4472 21.0074C13.1998 17.7866 13.9297 14.6473 14.6686 11.5098C14.9444 10.3392 15.1681 9.14924 15.5488 8.01226C16.0404 6.5435 17.1273 6.25687 18.3827 6.56918C21.7668 7.41166 23.1887 9.99752 24.4326 12.834C24.7473 13.5522 25.1379 14.2381 25.5091 14.9315C26.0339 15.9123 26.1395 15.916 26.8391 14.9882C28.0647 13.3625 28.5862 11.4215 29.2464 9.54604C30.156 6.96019 30.8465 4.2977 31.923 1.77066C32.3633 0.737227 33.5346 -0.0555545 34.2818 0.202079C35.0539 0.467582 35.802 0.827523 36.5214 1.21853C38.4988 2.29379 39.6375 4.12084 40.6556 6.02243C42.5153 9.49592 44.4956 12.9089 46.0137 16.5564C46.2146 17.0394 46.5679 17.5207 46.4345 18.0455C46.304 18.5607 46.1847 19.4508 45.3157 18.586C45.1786 18.4497 45.0366 18.3433 44.8224 18.4091C43.3827 18.8527 42.8388 17.7994 42.244 16.8509C40.5048 14.0799 38.7755 11.3018 37.0326 8.53291C36.8636 8.26451 36.7571 7.80019 36.3487 7.90332C36.0563 7.97705 36.1068 8.41693 35.9908 8.6874C35.1479 10.652 34.9599 12.8025 34.247 14.8039C33.8552 15.9044 33.436 16.9901 32.794 17.9755C32.3815 18.6075 31.9863 19.2359 31.1439 19.3862C30.9049 19.4289 30.6203 19.6016 30.4898 19.8017C29.7099 20.997 28.5936 20.5543 27.5478 20.4482C24.6674 20.1558 22.4862 18.7285 20.8961 16.341C20.8406 16.2578 20.7168 16.2192 20.5415 16.1062C20.3075 16.853 19.9509 17.4585 19.8225 18.2625C19.364 21.1428 18.9668 24.0447 17.9354 26.812C17.5282 27.9039 16.7487 28.5583 15.7882 28.9265C14.961 29.2434 14.1235 28.5368 13.1978 28.6184C11.3997 28.7774 10.3423 27.5435 9.39373 26.2508C8.95178 25.6481 8.58107 24.9928 8.1735 24.3541C7.04853 25.4501 7.12515 26.9707 6.77971 28.2812C6.26444 30.235 5.56113 32.1014 4.83048 33.9678C4.36202 35.1652 4.16486 36.4525 3.33977 37.5357C2.65758 38.4308 1.7861 37.9979 1.09231 37.9499C0.613083 37.9172 0.130538 37.1994 0.430834 36.3391C2.52835 30.3327 3.4574 24.0953 3.99793 17.7849C4.10273 16.5614 4.84166 15.5582 5.6216 15.6717C6.37669 15.781 7.12391 16.0328 7.83965 16.3116C9.62072 17.005 10.7126 18.4319 11.6453 20.015C11.8309 20.3294 11.8959 20.7344 12.4472 21.0074Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleOh = props => (\n <svg viewBox=\"0 0 67 74\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M32.4647 3.71838C29.0047 4.18538 23.3517 7.77838 22.5717 9.98438C25.8477 7.90838 28.9737 5.92938 32.4647 3.71838ZM39.6577 7.32938C38.7217 7.82438 37.7787 8.27738 36.8817 8.80638C33.7667 10.6454 30.4117 12.1974 27.6367 14.4584C25.0327 16.5804 23.0397 19.4544 20.7977 22.0154C19.7247 23.2404 18.4807 24.3814 17.6887 25.7744C13.8727 32.4794 10.2197 39.3484 9.72573 47.2044C9.46973 51.2824 10.0907 55.4564 10.7247 59.5234C10.9027 60.6714 12.3357 62.0734 13.5167 62.5424C20.3287 65.2414 27.3607 65.8574 34.1847 62.8324C46.9737 57.1604 53.8217 46.5634 57.2247 33.5084C58.8307 27.3494 58.5217 21.3504 53.0097 16.8404C51.9577 15.9794 50.8207 15.2164 49.8037 14.3164C49.2997 13.8694 48.5787 13.1664 48.6407 12.6634C49.0387 9.45238 47.3587 8.31638 44.5177 8.18538C43.3467 8.13138 42.1637 8.19438 41.0087 8.04138C40.4717 7.97038 39.9857 7.51138 39.6577 7.32938ZM66.5867 32.7574C66.1467 39.7294 64.3457 46.2824 60.5347 52.2374C58.8967 54.7964 57.5087 57.5174 55.8147 60.0344C55.0877 61.1144 53.8117 61.8054 52.8857 62.7704C48.1357 67.7184 42.7877 71.6934 35.8537 72.9064C26.3847 74.5644 17.4617 73.2924 9.47573 67.5504C3.22173 63.0524 0.697733 56.3694 0.872733 49.2564C1.28173 32.6494 8.15673 18.8124 20.9837 8.13038C23.5267 6.01138 26.3207 4.08438 29.2567 2.56438C36.6027 -1.24162 43.8617 -0.40962 50.7107 3.93738C55.3217 6.86538 58.9097 10.7834 61.0347 15.9344C61.6187 17.3514 62.4667 18.6614 63.2217 20.0064C65.4407 23.9614 66.8747 28.1184 66.5867 32.7574Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleOhThick = props => (\n <svg viewBox=\"0 0 26 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M0.0449219 14.9332C0.544922 10.6332 2.44492 5.83319 6.54492 2.23319C9.14492 -0.066807 12.2449 -0.466807 15.4449 0.933193C15.8449 1.13319 16.1449 1.33319 16.5449 1.43319C19.1449 2.03319 21.0449 3.43319 22.4449 5.63319C24.2449 8.43319 25.4449 11.5332 25.4449 14.8332C25.4449 19.8332 21.5449 25.1332 16.5449 27.2332C14.5449 28.0332 12.5449 28.1332 10.4449 27.7332C4.74492 26.7332 0.0449219 21.4332 0.0449219 14.9332ZM11.7449 6.63319C9.34492 9.33319 8.04492 12.2332 7.54492 15.4332C7.24492 17.5332 7.94492 19.0332 9.64492 20.1332C10.2449 20.6332 11.0449 20.9332 11.7449 21.2332C15.4449 22.6332 19.6449 19.8332 19.6449 15.8332C19.6449 11.5332 16.3449 7.53319 11.7449 6.63319Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleOutline = props => (\n <svg viewBox=\"0 0 200 157\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M183.422 124.471C185.589 123.892 190.305 119.857 190.567 118.244C188.391 120.831 186 122.763 183.422 124.471ZM36.1809 14.1234C35.9788 13.802 36.2501 13.4951 36.2302 13.1496C35.7576 13.6198 34.8791 13.6289 34.7611 14.6524C35.3115 14.3711 35.6802 13.9648 36.2128 14.0903C35.6126 14.999 34.5096 15.4543 34.16 16.6443C33.9708 17.2879 32.9431 17.4263 32.5927 18.1234C31.6881 17.459 31.9118 18.2509 31.8803 18.6838C31.848 19.134 31.4739 19.3009 31.1848 19.5072C30.8464 19.7479 30.6199 20.0519 30.3593 20.3667C29.0297 21.9701 27.6161 23.5034 26.2575 25.0832C25.7476 25.6759 25.1089 26.2127 24.7034 26.8054C24.2702 27.4388 23.9048 28.1781 23.4521 28.8404C21.7796 31.285 19.9351 33.634 18.4933 36.2078C16.7677 39.289 14.9647 42.3413 13.5245 45.5812C12.3072 48.3203 10.8799 50.977 10.0187 53.8582C9.47241 55.6869 8.51188 57.3511 8.18383 59.2772C7.79407 61.5698 6.98928 63.7741 6.64508 66.0986C6.21679 68.9922 5.66839 71.8801 5.482 74.7906C5.22147 78.8622 4.89549 82.9314 4.77579 87.0162C4.59644 93.1269 4.74058 99.1921 6.15425 105.173C6.92135 108.419 7.82472 111.633 9.25081 114.649C12.598 121.728 17.1153 128.085 21.7092 134.383C26.7438 141.285 33.2401 146.136 41.4947 148.624C47.3776 150.398 53.3558 151.617 59.4267 152.512C65.3825 153.39 71.2464 153.142 77.1264 151.894C84.6528 150.296 91.7096 147.443 98.6234 144.177C107.602 139.936 116.527 135.581 125.983 132.449C132.019 130.45 138.159 129.085 144.541 128.952C147.937 128.882 151.293 129.38 154.658 129.692C163.157 130.478 171.198 128.751 178.962 125.448C182.836 123.8 186.369 121.605 189.169 118.399C193.43 113.522 195.001 107.65 195.226 101.349C195.46 94.8223 193.291 88.9949 189.623 83.7051C184.801 76.7494 179.842 69.8853 175.362 62.7005C170.724 55.2615 164.577 49.384 157.165 44.7789C152.48 41.8679 147.818 38.9274 143.38 35.6383C139.204 32.5417 135.284 29.1279 131.195 25.9248C126.694 22.3983 122.089 19.006 116.715 16.8816C112.167 15.0827 107.588 13.3592 103.011 11.6337C98.6383 9.98514 94.1248 8.76284 89.6957 7.28331C88.1897 6.78005 86.5731 6.49716 85.0368 6.34639C83.5568 6.201 82.4389 5.21355 80.7631 5.31378C79.1369 5.41153 77.2382 4.77615 75.4957 4.2555C74.9369 4.08858 73.9925 4.08568 73.2196 4.09313C71.7335 4.10721 70.2258 4.07822 68.7649 3.8384C67.3984 3.61431 65.7462 4.54585 64.668 2.84846C65.0404 3.4097 65.0715 3.9523 64.7037 4.3636C64.357 4.75171 63.7891 4.69124 63.3198 4.54917C62.4293 4.27994 61.5503 4.42491 60.6524 4.45224C59.2871 4.49449 58.1696 5.42023 56.7841 5.38378C56.3894 5.37343 55.9773 5.01017 55.561 5.37674C54.907 5.95331 53.9796 5.84769 53.2862 6.17408C51.9931 6.78295 50.6084 6.45615 49.3306 6.89562C48.4728 7.19094 47.6758 7.56289 46.8847 8.01934C46.1913 8.41905 45.4433 8.85479 44.5896 8.91236C44.1543 8.94177 43.9137 9.44585 43.4402 9.36301C43.4949 10.3592 42.5969 10.2022 42.0713 10.5091C41.4115 10.8939 40.6452 11.0289 40.0264 11.5359C38.8302 12.5155 37.6559 13.5464 36.1809 14.1234ZM36.8466 10.939C38.737 9.46574 40.7806 8.22686 42.867 7.06047C44.1734 6.33065 45.5311 5.6936 46.8495 4.98449C47.3784 4.69994 47.7972 4.56698 48.0399 5.47532C47.7777 4.50858 48.358 4.31514 48.9251 4.10929C49.6665 3.84047 50.4357 3.62757 51.1402 3.28254C51.7959 2.96195 52.0622 3.13467 52.1157 3.96431C52.3671 2.31 53.8383 2.39781 54.7508 1.92645C56.6839 0.92822 58.8137 0.397629 61.0342 0.3997C61.4468 0.400114 61.8871 0.410883 62.2661 0.277924C63.4946 -0.153673 64.743 0.0385161 65.9839 0.0890486C67.2336 0.139995 68.4932 0.179344 69.7267 0.366563C71.8142 0.684256 73.9267 0.739759 76.0109 1.15852C78.4162 1.64189 80.8273 2.13396 83.247 2.52745C89.5831 3.55798 95.6387 5.55319 101.662 7.66479C106.596 9.39449 111.484 11.2567 116.282 13.3356C121.923 15.7798 127.103 19.0098 131.935 22.8009C137.262 26.9811 142.404 31.3998 147.923 35.3314C150.802 37.3821 153.839 39.1979 156.858 41.0374C163.391 45.0166 169.265 49.7874 174.174 55.684C177.264 59.3952 179.768 63.519 182.374 67.5674C185.511 72.4421 188.935 77.1168 192.255 81.8635C194.597 85.2115 196.563 88.7488 197.905 92.6166C199.055 95.9277 199.797 99.3408 199.643 102.842C199.481 106.506 199.136 110.168 197.66 113.622C196.981 115.212 196.214 116.721 195.361 118.232C194.179 120.326 192.555 121.917 190.889 123.493C187.533 126.666 183.543 128.8 179.174 130.282C176.183 131.297 173.184 132.256 170.066 132.783C164.963 133.647 159.856 133.785 154.705 133.07C147.467 132.065 140.315 132.537 133.254 134.542C129.747 135.539 126.239 136.581 122.87 137.914C115.711 140.748 108.76 144.082 101.761 147.295C95.9274 149.974 90.0254 152.498 83.7681 154.075C80.5618 154.883 77.3211 155.541 74.0435 155.892C68.9165 156.439 63.8127 155.991 58.7288 155.181C52.8256 154.242 47.0036 152.981 41.2785 151.248C32.2477 148.513 24.7693 143.528 19.0479 136.004C14.488 130.007 10.1563 123.836 6.742 117.109C2.18661 108.133 0.35543 98.5633 0.871111 88.492C1.12709 83.4976 1.36608 78.5035 1.8859 73.5327C2.49561 67.6958 3.47312 61.9135 5.34738 56.3297C6.93295 51.6045 8.76413 46.9758 11.0957 42.5567C14.799 35.5385 18.9257 28.7878 24.0378 22.7011C26.8067 19.4041 29.736 16.2392 33.2211 13.6384C34.4384 12.7296 35.5352 11.6593 36.8727 10.9109C36.9062 11.2812 36.7413 11.456 36.4195 11.6842C35.4188 12.3946 34.4156 13.1252 33.687 14.1466C33.3395 14.1106 33.0873 14.1947 32.8093 14.4759C31.8215 15.4754 30.7325 16.3767 29.7616 17.3911C28.6097 18.5947 27.2545 19.6228 26.4302 21.1201C25.4991 21.7091 24.889 22.5537 24.4553 23.5382C25.1404 22.7521 26.2964 22.3296 26.3992 21.0911C26.7467 21.0273 27.0134 20.8186 27.24 20.5725C28.4515 19.255 29.7451 18.0227 31.0208 16.771C31.906 15.902 33.1734 15.3843 33.6684 14.1267C34.1282 14.3057 34.351 13.923 34.6285 13.7043C35.944 12.6667 37.2434 11.6109 38.6529 10.698C39.4937 10.1533 40.3076 9.56721 41.1339 8.99976C41.0822 8.92313 41.03 8.8465 40.9782 8.76988C39.8785 9.44503 38.7639 10.0982 37.6886 10.8098C37.3904 11.007 37.1916 11.2824 36.8466 10.939Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleRibbon = props => (\n <svg viewBox=\"0 0 170 97\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M146.045 1.93888C146.058 1.98946 146.07 2.04004 146.084 2.09011H153.869C153.865 2.04004 153.862 1.98946 153.858 1.93888H146.045ZM70.1224 62.5929C72.7355 60.0199 75.595 57.6411 76.9805 54.1016C74.6946 56.9325 72.4087 59.7625 70.1224 62.5929ZM83.522 33.2724C83.522 32.7676 83.563 32.2588 83.5159 31.7586C82.7582 23.6947 76.154 21.6118 70.2559 23.2546C68.3327 23.7898 66.7125 24.8342 65.1636 25.9733C63.7832 26.9879 62.4098 28.1108 61.343 29.4354C58.6808 32.7423 57.1623 36.638 56.3474 40.7673C55.2138 46.5121 54.9836 52.2559 57.1592 57.8546C58.4334 61.1311 60.3081 63.9444 63.3977 65.8371C64.2865 66.3813 64.8586 66.2255 65.545 65.5649C70.5832 60.7174 75.2167 55.5426 78.6437 49.3947C81.4415 44.3772 83.4719 39.1204 83.522 33.2724ZM129.632 5.26398C133.761 4.30955 137.889 3.35562 142.018 2.40118C138.782 2.88017 135.563 3.49572 132.367 4.21395C131.43 4.42436 130.559 4.92662 129.655 5.2918C127.733 5.25387 126.276 6.37168 124.771 7.36354C126.391 6.66403 128.012 5.964 129.632 5.26398ZM62.1883 68.5213C57.096 65.3196 53.9396 60.8504 52.4797 55.3534C49.689 44.8435 51.3016 34.9997 58.0116 26.3096C61.1624 22.2284 65.497 19.6766 70.6601 18.9154C75.0189 18.273 78.8304 19.7262 82.053 22.6694C85.259 25.5965 87.3274 29.2483 87.6744 33.5577C87.9714 37.2505 87.6441 41.001 86.2277 44.5122C85.0941 47.3209 83.9297 50.1291 82.5432 52.8169C81.7081 54.4359 80.4693 55.8607 79.3291 57.3073C76.6492 60.7058 73.9197 64.0648 71.2519 67.7323C72.2509 67.4465 73.2924 67.2599 74.2409 66.8552C77.3017 65.5488 79.751 63.391 81.9397 60.9501C87.2126 55.0687 90.7327 48.1109 94.0586 41.0349C96.951 34.8803 99.8945 28.7501 103.856 23.1788C111.615 12.2667 121.986 5.31254 135.084 2.39005C143.106 0.600041 151.226 0.905036 159.348 0.937912C162.404 0.950051 165.463 0.702212 168.521 0.578797C168.687 0.571716 168.857 0.62179 169.214 0.671358C168.843 1.01833 168.595 1.251 168.545 1.29753C168.98 1.65108 169.422 2.01121 169.864 2.37083C169.485 2.822 169.19 3.44109 168.706 3.68438C167.988 4.04502 167.147 4.25239 166.341 4.32523C164.126 4.52502 161.901 4.59937 159.683 4.76274C157.149 4.94988 154.62 5.19418 152.086 5.3788C151.471 5.42381 150.838 5.25994 150.226 5.31962C147.297 5.60489 144.35 5.80417 141.452 6.2862C138.85 6.71966 136.323 7.60177 133.723 8.0585C131.742 8.40649 129.923 9.10449 128.112 9.89353C123.756 11.7928 119.604 13.9404 116.01 17.2028C110.968 21.7782 106.955 27.1427 103.46 32.8764C101.378 36.2935 100.038 40.1563 98.2389 43.756C96.3804 47.4731 94.3995 51.1305 92.4141 54.7824C91.4136 56.6225 90.4454 58.5172 89.1732 60.1635C87.55 62.2651 85.688 64.1927 83.8255 66.094C82.6166 67.3266 81.3348 68.5537 79.8896 69.4752C76.5359 71.6158 72.8407 72.2652 68.965 71.1864C67.7823 70.8576 66.9386 70.9673 65.9806 71.8075C58.8917 78.0242 50.9835 82.9957 42.3822 86.8225C37.2505 89.1062 32.102 91.4162 26.7928 93.2183C19.9447 95.5424 12.8428 96.8383 5.54706 96.5343C4.36745 96.4852 3.17013 96.2561 2.03908 95.9157C1.56865 95.7741 1.25098 95.1231 0.864014 94.7043C1.28841 94.4206 1.68904 93.9527 2.14277 93.8941C2.9167 93.7939 3.72503 93.9411 4.51667 94.0033C5.05185 94.0453 5.59107 94.2087 6.11562 94.1657C11.7734 93.6983 17.2967 92.5087 22.6712 90.7288C36.6728 86.0911 49.5009 79.2872 60.8144 69.7474C61.2307 69.3963 61.6283 69.0221 62.1883 68.5213Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleSlashes = props => (\n <svg viewBox=\"0 0 167 107\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M87.9873 1.39015L87.9868 1.39066C87.5636 1.9 87.1527 2.39456 86.7 2.84729C85.6789 3.75494 84.6658 4.67063 83.654 5.58524L83.6539 5.58532L83.6538 5.5854L83.6537 5.58552C81.0982 7.89536 78.5504 10.1983 75.9 12.3473C62.5 22.8473 49.1 33.3473 35.8 43.8473L10 64.2473L9.99988 64.2474C9.59993 64.5474 9.19998 64.8473 8.90001 65.1473C8.20001 65.7473 7.40001 66.1473 6.50001 65.3473C5.70001 64.6473 5.90001 63.6473 6.40001 62.9473C7.00001 61.9473 7.80001 60.9473 8.60001 60.1473C9.08337 59.7079 9.56674 59.2663 10.0507 58.8242L10.0508 58.8241L10.0509 58.824L10.051 58.8239C12.8712 56.2476 15.7128 53.6517 18.7 51.3473C40.3 34.7473 62 18.2473 84.5 2.84729C85.7 1.94729 87 1.14729 88.3 0.34729C88.3 0.34729 88.4 0.44729 88.7 0.54729C88.4529 0.829711 88.2182 1.11213 87.9873 1.39015ZM166.9 22.2473C166.55 22.4473 166.2 22.6723 165.85 22.8973C165.5 23.1223 165.15 23.3473 164.8 23.5473C150.2 32.1473 135.8 41.0473 121.7 50.5473C100.1 64.9473 78.7 79.7473 58.3 95.7473C54.5 98.7473 50.8 101.747 47.1 104.747C46.5 105.247 46 105.647 45.4 106.047C44.6 106.647 43.8 106.947 43 106.247C42.2 105.547 42.4 104.547 42.9 103.847C43.5 102.847 44.2 101.847 45.1 101.047L45.2199 100.937C47.6831 98.6708 50.2432 96.3154 52.9 94.3473C83.3 71.3473 114.5 49.8473 147.8 31.3473C151.6 29.214 155.489 27.2584 159.378 25.3028C161.322 24.3251 163.267 23.3473 165.2 22.3473C165.7 22.1473 166.2 21.9473 166.6 21.7473C166.7 21.8473 166.8 22.0473 166.9 22.2473ZM100.8 8.84729C101.5 8.34729 102.1 7.74729 102.7 7.14729C102.6 7.04729 102.5 6.94729 102.2 6.84729C101.5 7.34729 100.8 7.87229 100.1 8.39729C99.4 8.92229 98.7 9.44729 98 9.94729C93.9658 12.8561 89.9286 15.7649 85.8899 18.6748L85.8891 18.6753C66.6024 32.5713 47.2829 46.4909 28.1 60.5473C22.7051 64.4515 17.6125 68.6581 12.5003 72.8808L12.5003 72.8809C10.4108 74.6068 8.31804 76.3355 6.20004 78.0473C4.70004 79.2473 3.40004 80.6473 2.10004 82.0473C1.60004 82.5473 1.10004 83.1473 0.900036 83.8473C0.800036 84.3473 1.00004 85.0473 1.30004 85.3473C1.60004 85.6473 2.40004 85.7473 2.80004 85.5473C3.60004 85.1473 4.30004 84.6473 5.00004 84.0473C7.41738 82.0629 9.8087 80.0525 12.1975 78.0442C16.4295 74.4863 20.6535 70.9351 25 67.5473C35.6087 59.3025 46.2507 51.1574 56.8875 43.0162L56.8883 43.0156L56.8891 43.0151C64.7005 37.0364 72.5093 31.0598 80.3 25.0473C87.1993 19.6478 93.9987 14.2484 100.798 8.84892L100.8 8.84729ZM101.3 22.3473C100.2 23.3473 99.1 24.3473 97.9 25.2473C94.5697 27.8324 91.2339 30.4176 87.8964 33.0039L87.889 33.0097C76.8986 41.5268 65.8905 50.0577 55 58.6473C48.5544 63.7394 42.1919 68.9145 35.8589 74.0656C32.3666 76.9061 28.8833 79.7394 25.4 82.5473L25.4 82.5474C24.6 83.2473 23.8 83.9473 22.9 84.4473C22.4 84.7473 21.3 84.7473 21 84.4473C20.6 84.0473 20.5 83.0473 20.8 82.5473C21.2 81.7473 21.8 80.9473 22.5 80.2473C23.1888 79.6159 23.8694 78.9763 24.5511 78.3356L24.5512 78.3355C26.245 76.7436 27.9462 75.1446 29.8 73.6473C49.8 57.8473 70 42.3473 91.1 28.0473C93.3951 26.4899 95.8246 24.9326 98.1681 23.4303L98.1684 23.4301C98.6839 23.0997 99.1952 22.7719 99.7 22.4473C100.1 22.2473 100.5 22.0473 100.9 21.7473C100.976 21.8619 101.038 21.9473 101.091 22.0202L101.091 22.0203C101.176 22.1383 101.238 22.2237 101.3 22.3473ZM108.23 35.7915C108.416 35.5788 108.606 35.363 108.8 35.1473C108.5 34.9473 108.4 34.8473 108.4 34.8473L108.4 34.8474C106.9 35.9474 105.4 37.0473 103.9 38.0473C87.2 49.1473 71.1 61.0473 55.2 73.1473C50.5001 76.6472 45.9002 80.2472 41.3003 83.8471L41.3 83.8473C40.4 84.5473 39.6 85.3473 38.9 86.1473C38.3 86.8473 38 87.7473 38.7 88.5473C39.4 89.4473 40.3 89.3473 41.1 88.8473C42.2 88.2473 43.3 87.5473 44.3 86.7473C46.05 85.3473 47.775 83.9223 49.5 82.4973C51.225 81.0723 52.95 79.6473 54.7 78.2473C66.8 68.7473 79 59.2473 91.2 49.8473L106.2 37.8473C106.906 37.2983 107.55 36.5648 108.23 35.7915Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleSplat = props => (\n <svg viewBox=\"0 0 174 185\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fill=\"#000\" d=\"M124.736 126.293C127.281 137.362 129.825 146.303 131.946 155.669C132.37 157.798 133.218 160.352 133.642 162.481C134.49 166.313 133.642 170.144 129.825 172.273C126.009 174.402 122.616 172.699 120.071 169.719C112.437 160.778 104.804 151.412 97.17 142.471C95.4737 140.342 93.7773 138.639 90.8086 135.659C88.264 144.6 85.7195 152.263 83.1749 159.926C81.0544 166.313 79.358 173.125 76.3894 179.085C75.5412 181.639 72.1484 184.194 70.0279 184.62C65.787 185.045 64.5147 181.214 64.0906 177.808C63.2424 168.441 62.8183 158.649 61.9701 149.283C61.546 143.322 61.1219 137.362 60.2737 129.699C56.0328 131.402 53.0641 132.253 50.0954 133.53C41.1894 136.936 32.2834 140.768 23.8015 144.174C20.8329 145.451 17.8642 146.303 14.8955 146.728C10.2305 147.58 5.14134 147.58 2.17268 142.897C-0.371895 139.065 0.900391 133.956 5.98953 129.273C14.4714 121.609 22.9533 114.798 31.8594 107.56C34.4039 105.431 36.9485 103.302 39.9172 100.748C31.0112 96.4905 22.1052 92.233 14.0473 87.9756C5.56544 83.7181 3.02087 79.4607 4.71725 74.3517C6.41363 69.2428 11.0787 66.6883 19.9847 67.5398C29.7389 68.3913 39.4931 69.6685 49.2473 70.52C53.4882 70.9458 57.7292 70.52 63.2424 70.52C62.3942 64.1338 62.3942 59.0249 61.546 53.916C59.8496 45.4011 57.7292 37.3119 56.0328 28.797C55.6087 25.8168 55.1846 22.8366 55.1846 19.8564C55.6087 15.5989 57.3051 11.7672 61.9701 10.49C66.2111 9.21274 69.6038 10.9157 71.7243 14.3217C78.0857 22.4108 83.1749 30.5 88.6881 38.1634C90.8086 41.5694 92.9291 44.9753 97.17 47.9555C98.8664 38.5891 100.139 29.6485 101.835 20.2821C102.683 16.4504 103.107 12.193 104.38 8.36125C106.076 2.82656 109.469 0.272092 113.71 0.697837C118.375 1.54933 120.495 4.95529 121.343 9.21274C122.616 19.8564 123.464 30.0742 124.312 40.7179C124.736 43.2723 124.736 46.2526 124.736 50.0843C128.129 48.807 130.674 47.5298 133.218 46.2526C139.58 42.8466 145.941 39.4406 152.302 36.4604C159.936 32.6287 164.177 32.6287 167.146 36.8862C169.69 40.7179 168.842 44.9753 163.329 51.3615C158.24 57.3219 153.151 63.2824 148.061 69.2428C144.245 73.5002 140.852 78.1834 136.611 83.2924C138.307 85.4211 140.004 87.5498 142.124 89.2528C151.454 99.4707 161.208 109.689 170.539 119.906C173.507 123.312 175.204 126.718 172.659 130.976C170.114 135.233 166.298 135.233 162.057 134.382C150.182 131.827 138.307 129.273 124.736 126.293Z\"/>\n </svg>\n)\nexport const ScribbleSquare = props => (\n <svg viewBox=\"0 0 28 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M13.5879 35.6523C12.7879 35.1523 12.1879 34.8523 11.6879 34.3523C10.1879 32.7523 8.78792 31.1523 7.38792 29.4523C5.48792 27.2523 3.78792 25.0523 1.88792 22.8523C0.387922 21.1523 0.287922 20.6523 1.38792 18.6523C4.28792 13.0523 8.28792 8.15234 11.9879 3.05234C12.4879 2.35234 13.1879 1.75234 13.8879 1.15234C15.2879 0.152344 16.5879 0.352344 17.5879 1.75234C20.7879 6.75234 23.8879 11.7523 26.9879 16.7523C28.3879 19.0523 28.1879 19.4523 26.3879 21.3523C23.8879 23.9523 21.3879 26.5523 19.0879 29.2523C17.7879 30.7523 16.6879 32.4523 15.4879 33.9523C14.8879 34.6523 14.2879 35.0523 13.5879 35.6523ZM15.3879 4.15234C11.1879 9.55234 8.08792 15.1523 4.68792 20.3523C7.68792 24.2523 10.4879 27.9523 13.3879 31.6523C17.3879 27.1523 21.0879 22.8523 25.0879 18.3523C21.8879 13.7523 18.7879 9.15234 15.3879 4.15234Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleStar = props => (\n <svg viewBox='0 0 43 62' fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fill=\"#000\" d=\"M27.088 6.24c.039 4.07.273 8.14.78 12.158.038.154.038.309.077.463.39 2.782 1.481 4.792 3.352 6.183 1.247.927 2.533 1.751 3.975 2.06 2.182.516 4.404 1.082 6.586 1.65.623.154 1.052.669 1.13 1.39.078.67-.234 1.34-.78 1.7-.311.155-.662.258-.974.412-1.831.619-3.663 1.34-5.378 2.473-2.767 1.803-4.793 4.586-5.962 8.346a66.983 66.983 0 0 0-2.767 13.447c-.117 1.34-.273 2.679-.39 4.018-.078.876-.429 1.391-.974 1.443-.546.103-.975-.258-1.247-1.03-.117-.361-.195-.722-.273-1.083a57.44 57.44 0 0 0-3.585-10.715c-.351-.722-.702-1.495-1.13-2.113-1.95-2.73-4.054-5.255-6.47-7.264-1.987-1.648-4.17-2.576-6.43-3.246a216.41 216.41 0 0 0-5.495-1.442c-.702-.155-1.091-.67-1.13-1.391-.04-.773.35-1.391 1.052-1.597.195-.052.429-.103.662-.103 1.092.154 2.105-.258 3.118-.464 2.066-.464 4.053-1.288 6.04-2.112 1.014-.412 1.988-.927 3.002-1.391 3.273-1.546 5.26-4.688 6.508-8.81.311-1.082.545-2.215.896-3.246.507-1.545 1.052-3.09 1.559-4.636.312-.876.662-1.803.857-2.73.468-2.216.897-4.431 1.364-6.698.078-.36.195-.721.312-1.134.156-.515.429-.824.857-.772.468.051.74.463.819 1.03.039.464.039.876.039 1.34v3.863Z\" />\n </svg>\n)\nexport const ScribbleStarGiant = props => (\n <svg viewBox=\"0 0 40 54\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M16.1497 48.7526C16.0497 47.1526 15.9497 45.5526 15.7497 43.9526C15.2497 40.6526 13.8497 37.8526 11.2497 35.7526C8.54974 33.5526 5.94974 31.2526 2.44974 30.5526C1.94974 30.4526 1.34974 30.1526 1.04974 29.7526C0.649739 29.1526 0.0497391 28.3526 0.149739 27.7526C0.249739 27.1526 1.04974 26.3526 1.74974 26.2526C10.9497 24.5526 15.2497 18.1526 17.7497 9.95263C18.3497 7.95263 18.6497 5.75263 19.0497 3.65263C19.3497 2.95263 19.2497 2.25263 19.5497 1.65263C19.8497 1.15263 20.4497 0.552627 20.8497 0.652627C21.2497 0.652627 21.7497 1.35263 22.0497 1.85263C22.2497 2.25263 22.1497 2.75263 22.1497 3.25263C22.0497 5.35263 21.9497 7.35263 21.8497 9.45263C21.7497 11.7526 21.5497 14.0526 21.5497 16.3526C21.4497 20.1526 23.8497 22.4526 26.8497 23.9526C28.7497 24.8526 30.8497 25.3526 33.1497 25.0526C34.5497 24.8526 35.9497 25.2526 37.4497 25.4526C37.9497 25.5526 38.4497 25.6526 38.7497 25.9526C39.1497 26.4526 39.6497 27.1526 39.6497 27.6526C39.6497 28.5526 38.7497 28.6526 37.9497 28.5526C36.6497 28.4526 35.4497 28.3526 34.1497 28.1526C31.7497 27.8526 29.5497 28.4526 27.3497 29.2526C26.3497 29.6526 25.3497 30.4526 24.8497 31.3526C23.7497 33.0526 22.6497 34.7526 22.1497 36.6526C20.9497 41.0526 20.1497 45.5526 19.1497 49.9526C18.9497 50.8526 18.9497 51.7526 18.5497 52.5526C18.3497 53.0526 17.6497 53.6526 17.2497 53.6526C16.8497 53.6526 16.1497 52.9526 16.1497 52.4526C16.0497 51.2526 16.1497 49.9526 16.1497 48.7526Z\" fill=\"black\"/>\n </svg>\n)\nexport const ScribbleSwirls = props => (\n <svg viewBox=\"0 0 296 355\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M238.697 98.1752C239.108 97.0388 239.45 96.1154 239.721 95.1221C241.002 89.9444 240.658 84.857 239.463 79.6384C237.749 72.3754 234.488 65.8381 230.453 59.6639C223.754 49.4909 215.235 40.8957 205.6 33.5868C191.326 22.7275 175.534 14.9979 158.362 10.1137C148.712 7.40156 139.004 5.75086 129.037 6.08333C125.432 6.19756 121.901 6.66448 118.373 7.2728C116.327 7.65109 114.359 8.66486 112.39 9.53723C111.686 9.82859 110.982 10.1199 110.41 9.56113C110.05 9.07046 109.687 8.29697 109.681 7.73132C109.735 6.38706 110.643 5.45679 111.769 5.0189C114.02 4.00171 116.197 2.77325 118.596 2.32C122.475 1.49529 126.43 1.02325 130.459 0.903894C138.09 0.387473 145.81 1.35502 153.327 3.10289C179.566 9.29198 202.555 21.5312 221.808 40.6042C230.397 49.1279 237.444 58.8016 241.894 70.1331C245.762 80.0574 247.367 90.0089 243.393 100.523C244.176 101.008 244.958 101.353 245.671 101.768C254.994 106.677 263.903 112.438 271.907 119.413C279.697 126.179 286.507 133.805 291.145 143.083C292.595 146.036 293.763 149.133 294.649 152.234C298.723 167.53 292.945 180.894 279.179 188.698C274.192 191.516 268.839 193.278 263.267 194.547C252.406 196.941 241.378 197.216 230.338 196.501C227.295 196.325 224.32 195.937 221.205 195.692C220.568 195.628 220.003 195.635 219.083 195.576C219.377 196.562 219.601 197.479 219.822 198.254C222.104 205.652 223.186 213.276 222.218 220.996C221.061 230.627 217.131 238.948 209.856 245.542C205.519 249.413 200.672 252.088 195.179 253.993C186.517 256.997 177.545 257.741 168.418 257.357C167.215 257.3 166.012 257.244 164.597 257.12C164.608 258.11 164.69 259.028 164.701 259.877C165.087 268.499 163.346 276.582 158.2 283.716C154.515 288.922 149.61 292.659 143.916 295.485C136.605 299.109 128.918 300.829 120.864 301.492C109.703 302.475 98.6592 301.477 87.7399 299.063C86.8897 298.932 85.9679 298.731 84.9048 298.531C84.9883 299.591 85.0684 300.368 85.1502 301.286C86.2528 310.608 86.9311 319.934 86.1953 329.277C85.8938 333.595 85.238 337.846 84.4407 342.098C83.9126 345.216 82.7474 348.271 80.9415 350.98C79.6228 353.046 78.3604 353.91 76.3857 354.358C76.384 354.217 76.3108 354.006 76.3108 354.006C78.6193 351.927 79.6466 349.157 80.3893 346.249C81.5375 341.78 81.9072 337.249 81.9939 332.722C82.2782 321.122 81.2897 309.536 79.6658 298.029C79.5925 297.818 79.5193 297.606 79.4426 297.112C78.8037 296.908 78.0932 296.634 77.3129 296.431C58.4335 290.719 41.2118 281.734 25.9289 269.331C17.7883 262.782 10.5557 255.302 5.35396 246.172C3.47635 242.942 2.09283 239.635 1.13012 236.04C0.460482 233.29 0.215069 230.535 0.535317 227.773C1.38023 221.611 4.72287 217.328 10.4951 215.136C14.5074 213.603 18.6083 213.553 22.8575 214.068C31.5687 215.165 39.3175 218.536 46.5176 223.329C62.4888 234.168 73.204 248.959 78.4486 267.494C80.5171 274.824 81.8121 282.516 83.4581 289.992C83.6098 290.839 83.7614 291.686 83.9131 292.533C84.1976 292.671 84.3407 292.81 84.5537 292.878C97.5329 296.045 110.703 297.442 124.047 295.655C131.601 294.644 138.719 292.649 145.246 288.539C155.983 281.692 161.075 270.033 159.075 256.621C158.366 256.488 157.444 256.287 156.594 256.156C139.802 253.459 124.039 248.134 109.436 239.329C103.38 235.654 97.7443 231.55 92.9431 226.304C90.1488 223.297 87.5642 220.075 86.104 216.274C85.2299 214.163 84.5654 211.838 84.3967 209.577C83.9093 204.35 86.5449 200.075 91.3255 197.754C94.0685 196.519 96.9615 195.989 99.9311 195.953C105.022 195.892 109.985 196.963 114.744 198.674C125.964 202.64 135.589 209.1 143.893 217.486C153.199 226.85 159.977 237.658 163.245 250.63C163.319 250.842 163.392 251.053 163.538 251.475C164.176 251.538 164.884 251.671 165.522 251.734C172.953 252.281 180.446 252.049 187.781 250.405C193.494 249.134 198.772 247.019 203.539 243.567C210.059 238.892 214.155 232.549 215.971 224.819C217.454 218.861 217.522 212.779 216.318 206.711C215.639 203.255 214.539 199.944 213.649 196.561C213.278 195.08 212.351 194.455 210.792 194.191C200.164 192.48 189.809 189.918 179.656 186.576C164.109 181.601 149.041 175.277 135.147 166.605C128.378 162.373 122.098 157.641 116.722 151.695C114.069 148.686 111.768 145.461 110.519 141.586C108.534 135.317 111.086 129.982 117.209 127.575C118.897 126.847 120.73 126.401 122.567 126.237C125.463 125.99 128.292 125.956 131.123 126.205C137.424 126.765 143.596 128.458 149.493 130.721C170.236 138.532 187.992 150.693 202.411 167.703C207.72 174.003 212.259 180.949 215.743 188.403C216.251 189.458 216.755 190.229 218.171 190.354C229.503 191.773 240.756 192.556 252.127 191.358C258.625 190.714 264.975 189.506 271.028 187.17C274.548 185.854 277.921 184.117 280.863 181.818C288.501 175.998 291.803 168.321 291.051 158.783C290.474 151.931 287.783 145.811 284.178 140.056C279.348 132.406 273.119 126.046 266.05 120.403C258.766 114.551 250.929 109.696 242.604 105.483C242.176 105.205 241.75 105.069 241.183 104.934C240.764 105.363 240.343 105.651 240.065 106.079C236.445 110.79 231.889 114.169 226.327 116.145C222.665 117.462 218.861 118.639 215.05 119.251C198.745 121.782 183.018 119.426 167.944 112.678C164.46 111.093 161.112 109.083 158.393 106.428C157.534 105.59 156.676 104.752 155.887 103.842C151.22 98.0291 152.416 91.6502 158.59 87.6156C161.187 85.9578 164.074 85.0036 167.037 84.4021C171.692 83.3559 176.498 83.1565 181.379 83.3097C193.617 83.657 205.528 86.2004 217.102 90.0915C223.563 92.2057 229.819 94.9588 236.141 97.3575C237.062 97.4171 237.844 97.7612 238.697 98.1752ZM78.9449 291.037C78.415 288.144 77.96 285.604 77.4335 282.993C75.7057 274.599 73.7666 266.278 70.2073 258.472C63.3085 243.492 52.912 231.667 38.4606 223.709C33.121 220.733 27.3691 218.751 21.2118 218.331C18.2387 218.084 15.3406 218.189 12.4545 219.285C8.37238 220.89 5.86113 223.749 5.56139 228.208C5.44558 230.331 5.47288 232.593 6.13399 234.636C7.0183 237.595 8.18543 240.551 9.70354 243.291C14.0398 251.017 20.0575 257.45 26.7739 263.168C41.4213 275.649 58.0773 284.641 76.3927 290.502C77.1015 290.635 77.8801 290.696 78.9449 291.037ZM210.514 188.749C210.223 188.045 210.148 187.693 209.932 187.342C207.037 181.861 203.651 176.739 199.775 171.978C189.871 159.934 177.945 150.248 164.347 142.705C155.163 137.653 145.639 133.667 135.292 131.811C131.962 131.215 128.495 131.045 125.101 131.086C122.98 131.112 120.865 131.703 118.824 132.505C115.868 133.672 114.837 136.16 115.652 139.191C116.023 140.671 116.676 142.007 117.47 143.341C119.709 147.203 122.787 150.349 126.146 153.207C131.219 157.601 136.711 161.424 142.619 164.677C163.339 176.377 185.564 183.959 208.885 188.557C209.24 188.623 209.736 188.688 210.514 188.749ZM158.224 250.62C158.074 249.915 158.068 249.349 157.849 248.857C156.972 246.463 156.306 243.996 155.217 241.676C148.967 227.749 139.009 217.05 126.183 209.002C119.913 205.117 113.372 202.226 106.073 200.971C102.742 200.375 99.4167 200.203 96.0313 200.951C90.5317 202.29 88.2436 206.065 89.7243 211.563C90.5388 214.594 92.2681 217.261 94.2071 219.712C98.3746 225.178 103.799 229.355 109.572 233.034C123.967 242.194 139.732 247.661 156.454 250.429C156.88 250.566 157.446 250.559 158.224 250.62ZM236.556 102.373C235.915 102.027 235.487 101.75 235.131 101.542C220.983 95.2776 206.288 90.5756 190.919 88.5689C184.473 87.7274 178.033 87.3102 171.539 88.2372C168.644 88.6257 165.683 89.3686 163.01 90.5323C157.241 93.0063 156.585 97.2572 160.954 101.801C163.746 104.667 167.094 106.677 170.72 108.26C184.155 114.108 198.113 116.273 212.659 114.542C218.026 113.912 223.171 112.506 227.948 109.902C231.25 108.095 234.121 105.726 236.556 102.373Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleThumbprint = props => (\n <svg viewBox=\"0 0 124 172\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.53869 54.5823C4.46455 54.3048 4.32289 54.1552 4.06153 54.2058C3.61171 54.2923 3.35988 54.569 3.3342 55.0337C3.32011 55.2885 3.47005 55.3378 3.68213 55.3001C4.11787 55.2226 4.32 54.8826 4.53869 54.5823ZM2.23781 136.409C2.68224 135.16 2.97011 133.87 3.34372 132.603C2.61142 133.764 2.21502 135.026 2.23781 136.409ZM5.53153 51.9906C7.3855 49.9917 9.32023 48.0718 11.2852 46.1819C8.89733 47.656 7.05289 49.664 5.53153 51.9906ZM42.0699 32.2067C45.8975 30.4753 49.0811 27.8816 52.1196 25.0866C48.9498 27.4682 45.784 29.8524 42.4 31.9292C42.279 32.0037 42.1796 32.1135 42.0699 32.2067ZM85.8456 128.401C84.733 132.202 82.5245 135.425 81.4128 139.115C82.8111 138.129 86.4217 129.639 85.8456 128.401ZM40.9507 166.19C41.6971 166.19 42.4505 166.254 43.189 166.178C46.2152 165.867 49.2016 165.293 52.1876 164.727C56.6179 163.889 60.7044 162.006 64.8969 160.461C66.8312 159.748 68.6815 158.775 69.992 157.06C74.3229 151.389 77.8096 145.284 80.2849 138.546C82.2606 133.168 84.8312 128.012 86.9428 122.68C88.4505 118.875 89.4127 114.887 89.8438 110.795C90.2029 107.386 90.0012 103.967 90.0257 100.552C90.0456 97.7424 89.9959 94.9354 90.1727 92.1172C90.297 90.1323 89.8517 88.0646 89.6815 86.0313C89.3812 82.451 89.4354 78.9149 90.5235 75.4418C91.5276 72.2376 92.8886 69.1866 94.5786 66.3042C97.9995 60.4681 102.288 55.269 106.786 50.2493C109.202 47.5537 111.572 44.8316 113.569 41.81C117.245 36.2501 119.009 30.1096 118.857 23.4608C118.738 18.263 116.461 14.2275 111.977 11.4855C104.183 6.71966 95.9533 5.19458 87.1192 8.09688C80.2775 10.3448 74.1858 13.9164 68.6131 18.4527C65.1376 21.2821 61.9644 24.4495 58.4983 27.2872C53.7777 31.153 48.9817 34.9036 43.4218 37.5321C39.1191 39.5666 34.5964 40.9977 30.0477 42.343C26.1646 43.4916 22.4616 45.042 18.9632 47.0769C14.9256 49.4255 11.5159 52.4301 9.15579 56.5236C8.87538 57.0111 8.86461 57.0049 8.22591 57.0182C8.03207 57.0223 8.02005 57.1834 7.95502 57.3127C7.36437 58.4911 6.97875 59.7204 6.96301 61.0529C6.95224 61.953 7.29976 63.2403 6.99159 63.6736C6.00207 65.0636 6.74721 66.4102 6.92946 67.5816C7.15603 69.0346 7.53668 70.5423 7.98195 71.9982C9.09905 75.6531 10.3827 79.2426 12.2031 82.6001C13.8723 85.6801 15.4893 88.7874 15.9711 92.2758C16.1102 93.2869 17.3288 94.4413 16.0282 95.5211C16.0278 95.5215 16.1193 95.6221 16.1583 95.6822C16.8488 96.7463 17.1975 97.9475 17.2501 99.1814C17.3011 100.36 17.7223 101.462 17.7728 102.627C17.8544 104.508 18.5519 106.335 18.1489 108.267C17.9659 109.146 18.0085 110.078 18.0069 110.987C18.0031 113.008 17.318 114.935 17.212 116.961C17.1722 117.721 16.5091 118.685 16.1438 119.555C14.8341 122.671 12.5108 125.045 10.4725 127.645C8.55479 130.091 6.40011 132.489 6.1984 135.842C6.11721 137.195 5.71461 138.623 6.41254 139.892C8.29011 143.304 9.27757 147.172 11.8535 150.231C13.8582 152.612 15.2044 155.496 17.6469 157.565C20.0356 159.588 22.3162 161.766 25.0756 163.26C26.4301 163.994 27.8035 164.744 29.3937 165.095C33.2143 165.939 37.0576 166.243 40.9507 166.19ZM72.57 8.73682C72.7808 8.67304 73.009 8.64114 73.2 8.53966C77.9695 6.0031 82.9403 3.99422 88.2123 2.76073C88.4028 2.716 88.6642 2.72262 88.7773 2.42978C88.4206 2.48073 88.0856 2.52049 87.7534 2.57807C83.3761 3.33937 79.3186 5.00984 75.3774 6.98807C74.3966 7.48055 73.323 7.86286 72.5899 8.76002C71.4148 8.84203 70.6974 9.83363 69.6805 10.2416C69.5024 10.3129 69.3102 10.6368 69.5819 10.9118C69.6722 11.0029 69.7969 11.0617 69.8528 10.9545C70.4447 9.82576 71.8803 9.73753 72.57 8.73682ZM59.246 25.9063C60.6104 25.0576 61.696 23.8982 62.7795 22.7377C61.6127 23.805 60.2028 24.6057 59.2679 25.9295C58.2718 26.2824 57.6351 27.0913 56.924 27.8046C57.8277 27.3332 58.6035 26.702 59.246 25.9063ZM89.3526 134.441C88.5606 136.607 87.8022 138.76 86.1993 140.544C85.2305 141.622 84.458 142.92 83.8189 144.227C83.5873 144.702 83.1619 144.845 82.9196 145.269C82.3543 146.259 82.1467 147.378 81.4227 148.34C79.7908 150.509 78.1799 152.687 76.4763 154.806C75.3522 156.203 74.3001 157.672 73.1321 159.036C70.9554 161.579 68.1774 163.284 65.0937 164.498C61.5303 165.901 58.0005 167.423 54.358 168.587C47.5701 170.755 40.6417 171.628 33.4715 170.772C29.1518 170.257 24.9447 169.441 21.2426 167.235C15.322 163.706 10.4411 159.007 6.99366 152.945C6.86443 152.718 6.69834 152.512 6.54301 152.301C5.1339 150.384 3.86189 148.404 3.21491 146.07C2.89431 144.916 2.42088 143.807 1.89816 142.718C0.347806 139.488 0.645617 136.234 1.89775 132.994C3.15816 129.732 5.26313 126.964 7.61621 124.509C10.7604 121.228 12.2358 117.424 12.7055 113.026C13.1425 108.937 12.4247 104.976 11.6961 101C11.2492 98.5601 10.8495 96.1105 10.3694 93.6775C9.59485 89.7554 7.79059 86.2595 5.93787 82.755C3.52597 78.1917 1.68236 73.3878 0.567747 68.3222C-0.365034 64.0832 0.094729 59.9209 1.53822 55.9243C2.36994 53.6217 3.451 51.3619 5.20307 49.4967C6.90875 47.6804 8.62976 45.9019 10.6639 44.4513C15.5527 40.9642 20.9423 38.5179 26.6566 36.7372C33.1807 34.7043 39.5346 32.2991 45.1089 28.2039C49.2393 25.1694 53.1692 21.8948 56.9438 18.4304C62.0837 13.713 67.467 9.32168 73.6883 6.07392C79.7191 2.926 86.0179 0.475581 92.9114 0.53854C103.287 0.633392 112.171 4.2999 118.464 12.8341C123.118 19.1465 123.873 26.3797 122.352 33.9314C122.077 35.295 121.799 36.6581 121.481 38.0117C120.662 41.489 119.248 44.6862 117.17 47.6187C115.96 49.3277 114.654 50.9642 113.443 52.655C112.02 54.6394 110.436 56.4578 108.799 58.2306C106.903 60.2837 105.223 62.4869 103.626 64.7679C103.07 65.5623 102.188 66.0445 101.65 66.8994C99.6157 70.1322 97.5008 73.317 96.0486 76.8729C95.2645 78.7923 94.4651 80.6641 94.3106 82.8271C94.2166 84.1533 94.2973 85.4751 94.1818 86.793C94.0086 88.7671 94.3491 90.7126 94.6631 92.642C94.7836 93.3826 93.8856 93.9819 94.079 94.0337C95.1257 94.3116 94.3897 94.8998 94.4112 95.3272C94.4237 95.5799 94.2634 95.8574 94.3205 96.0894C95.2922 100.032 94.8722 104.059 94.9551 108.041C95.0321 111.738 95.3552 115.505 94.3557 119.128C93.9908 120.449 93.7249 121.806 93.3401 123.127C92.8783 124.712 92.0263 126.198 91.8842 127.851C91.6841 130.179 90.5074 132.13 89.6599 134.212C89.6135 134.326 89.4417 134.39 89.3265 134.48C89.435 133.241 90.4502 132.317 90.4859 131.042C89.616 132.89 88.53 134.642 88.0793 136.679C88.5039 135.933 88.928 135.187 89.3526 134.441Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M51.1398 44.008C53.57 42.5819 55.5403 40.6277 57.3848 38.5302C55.3108 40.3655 53.2722 42.2402 51.1398 44.008ZM65.1871 31.8027C65.1063 31.7166 65.0255 31.6304 64.9448 31.5443C62.8153 33.4898 60.5087 35.2369 58.6597 37.4963L65.1871 31.8027ZM16.2347 134.891C14.9867 136.13 14.4184 139.971 15.2373 140.762C15.4709 138.817 15.4771 136.798 16.2347 134.891ZM25.6822 57.496C22.7542 59.4805 20.141 61.7569 18.8761 65.2213C20.8895 62.4201 23.1013 59.799 25.6822 57.496ZM69.1853 28.2733C74.0808 24.4386 79.2144 21.0347 84.9585 18.6191C81.1955 19.1174 70.7577 26.0151 69.1853 28.2733ZM67.4635 119.734C66.2938 122.071 65.569 124.573 64.8801 127.069C64.1756 129.623 63.2246 132.087 62.3995 134.593C61.6195 136.963 60.4925 139.218 59.5183 141.523C63.6877 134.799 65.2426 127.152 67.4635 119.734ZM25.5791 82.2305C25.5985 82.0867 25.5666 81.8796 25.6487 81.813C25.7969 81.692 25.8736 81.8763 25.9722 81.9853C26.2513 82.2918 26.1208 82.7544 26.5036 83.0614C27.2098 83.6267 27.6956 84.3383 28.0473 85.2372C28.3472 86.0034 29.1656 86.5605 29.7236 87.2357C29.8482 87.386 30.0044 87.6404 29.8437 87.8541C29.5451 88.2505 29.7845 88.3805 30.1133 88.4737C30.5197 88.5881 30.7346 88.8954 30.8726 89.2495C31.3704 90.5253 32.0332 91.7368 32.1814 93.1422C32.2771 94.0489 32.4233 95.1324 32.7593 95.7939C33.6945 97.6371 33.7285 99.5805 33.6398 101.427C33.5595 103.098 33.2381 104.811 33.3151 106.485C33.3814 107.932 32.6536 109.111 32.4511 110.459C32.2059 112.09 31.0751 113.513 30.8523 115.209C30.7148 116.25 29.6155 117.041 29.625 117.866C29.6465 119.772 27.9578 120.798 27.6596 122.518C27.5648 123.064 27.3407 123.883 26.8652 124.404C25.8881 125.471 25.6023 126.949 24.5904 128.013C23.3163 129.352 22.6548 131.146 21.2962 132.476C20.4803 133.275 19.8424 134.305 19.1283 135.225C18.4813 136.056 18.5393 137.346 18.3256 138.446C18.0158 140.038 18.9291 141.277 19.3412 142.676C20.3262 146.017 22.379 148.779 24.7822 151.007C29.4755 155.359 35.0966 156.79 41.3465 154.511C41.981 154.28 42.6148 154.048 43.2547 153.833C47.0074 152.573 50.2493 150.49 53.2606 147.934C57.2013 144.589 59.0672 139.924 61.2505 135.509C62.0143 133.965 62.3113 132.071 62.8878 130.357C63.2826 129.183 63.7075 128.01 63.9793 126.806C64.253 125.591 64.6262 124.41 64.9899 123.226C65.3527 122.044 65.8639 120.902 66.1513 119.704C66.4073 118.639 66.9313 117.687 67.152 116.583C67.4469 115.106 67.9287 113.636 68.3296 112.163C69.771 106.864 70.8492 101.496 71.4987 96.0404C71.8586 93.0167 72.1208 89.9644 72.7471 86.9921C74.77 77.3856 79.1937 68.8978 85.2866 61.2694C88.01 57.8601 90.899 54.5821 93.75 51.2764C97.8323 46.5433 100.047 40.9098 101.716 34.9999C102.754 31.3256 102.575 27.6955 101.226 24.1495C100.457 22.1286 99.311 20.4412 96.8938 20.0423C94.643 19.6708 92.4469 20.2038 90.3187 20.5973C89.0533 20.8318 87.6749 21.4336 86.4049 22.0479C83.3585 23.522 80.2685 24.9141 77.6197 27.0597C76.9889 27.57 76.2036 27.6383 75.5732 28.1482C74.7663 28.8006 74.2026 29.6816 73.3224 30.2677C72.8171 30.6036 72.2115 30.6363 71.7455 31.0671C68.7906 33.7967 65.4505 36.0926 62.7835 39.1527C61.8577 40.2156 60.7141 41.0858 59.7055 42.0799C55.9185 45.8106 51.5114 48.6019 46.5468 50.4256C40.4605 52.6615 34.7806 55.6586 29.4672 59.3206C27.4355 60.7206 25.2593 62.0411 23.8026 64.1696C22.958 65.4044 21.872 66.6631 21.7403 68.0776C21.5448 70.1698 21.3319 72.3547 22.0443 74.4389C22.2162 74.9418 21.9097 75.6426 22.0165 75.8145C22.4287 76.4743 22.6772 77.2207 23.1237 77.8536C24.088 79.2217 25.4175 80.391 25.5791 82.2305ZM24.4235 122.578C24.744 122.457 24.8236 122.137 24.9342 121.88C25.9871 119.442 27.1253 117.034 27.8298 114.463C28.242 112.958 28.9652 111.524 28.9416 109.911C28.2138 112.764 26.9455 115.425 26.0446 118.214C25.5666 119.695 24.6724 121.025 24.4475 122.6C23.1606 124.298 22.5289 126.336 21.4884 128.162C22.589 126.364 23.8825 124.665 24.4235 122.578ZM72.1929 115.795C72.1481 115.521 72.1912 115.277 71.9174 115.139C71.869 115.561 71.5289 115.965 72.0881 116.335C72.4132 116.55 72.1075 116.9 72.0243 117.16C71.275 119.499 70.5464 121.848 69.8228 124.192C69.1344 126.422 68.3122 128.623 67.7961 130.907C67.5372 132.054 66.981 133.085 66.5597 134.168C66.3659 134.665 66.2027 135.139 66.2027 135.679C66.2023 136.777 66.1261 136.806 65.1104 136.229C65.0255 136.181 64.8971 136.21 64.76 136.201C64.76 136.323 64.7223 136.444 64.7654 136.517C65.4132 137.592 65.2761 138.881 64.5152 139.917C64.0132 140.601 63.5564 141.292 63.3393 142.19C63.0133 143.541 62.0868 144.605 61.0107 145.494C60.9129 145.575 60.6905 145.537 60.6801 145.725C60.6197 146.84 59.7229 147.374 59.0465 148.038C58.4008 148.671 57.6047 149.133 56.9979 149.829C55.9595 151.02 54.7914 152.006 53.3682 152.8C52.7113 153.166 52.044 153.861 51.3126 154.148C48.6099 155.207 45.9598 156.393 43.2224 157.38C38.597 159.049 34.0433 158.559 29.4527 157.446C26.7521 156.79 24.3108 155.582 22.0791 153.923C21.2258 153.288 20.5353 152.516 19.8341 151.732C17.1546 148.738 15.2762 145.31 14.3327 141.413C13.7284 138.917 14.1094 136.477 15.3595 134.231C15.6884 133.639 15.9414 132.864 17.0511 132.998C17.5345 133.057 18.0141 132.157 18.389 131.587C21.0394 127.552 23.1945 123.266 24.93 118.764C26.7571 114.025 28.3513 109.236 28.9668 104.148C29.4137 100.455 28.9146 96.9131 28.0146 93.3493C27.2939 90.495 25.8044 88.1088 24.1037 85.7851C22.8292 84.0443 21.6893 82.2056 20.431 80.4523C19.9849 79.831 20.5478 79.4346 20.6799 78.6356C19.9911 79.5721 19.878 79.3841 19.5848 78.6137C19.2915 77.8437 18.7539 77.1246 18.3293 76.3782C17.4214 74.7802 16.9024 73.0381 16.885 71.243C16.8784 70.562 16.5226 69.9937 16.6145 69.3492C16.7301 68.5366 16.7868 67.7032 17.0167 66.9216C17.4226 65.5394 17.6774 64.0822 19.0285 63.1437C19.4017 62.8844 19.1801 62.08 19.6042 61.6248C21.4193 59.676 23.1282 57.5992 25.3981 56.154C30.7984 52.7153 36.4548 49.7865 42.3799 47.3187C46.5053 45.6002 50.444 43.4293 53.6955 40.2367C58.4803 35.5388 63.5133 31.1168 68.6912 26.8617C73.5999 22.8282 78.8594 19.3667 84.891 17.2009C87.4235 16.2917 90.0201 15.752 92.7037 15.5669C96.5342 15.3026 99.4026 17.046 101.628 19.9417C105.902 25.5031 106.905 31.7621 105.261 38.4929C104.155 43.0197 102.527 47.3605 100.231 51.4238C99.1524 53.3308 98.1252 55.261 96.347 56.712C95.4987 57.4041 95.0443 58.573 94.3924 59.5124C92.1627 62.7241 89.3578 65.4781 87.1385 68.7093C86.1502 70.1478 85.3148 71.6654 84.3832 73.1301C82.3503 76.3265 80.9623 79.8542 79.4339 83.2941C78.0927 86.3124 77.6077 89.6107 77.1243 92.8796C76.6041 96.4015 76.0532 99.9202 75.4535 103.429C75.1072 105.456 74.8657 107.549 74.1446 109.448C73.6438 110.768 73.6252 112.173 73.0258 113.453C72.6816 114.186 73.0515 115.191 72.1929 115.795Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M59.7158 101.349C59.8285 101.408 59.9416 101.468 60.0542 101.527C60.4162 100.567 61.4451 99.8835 60.9717 98.5717C60.5529 99.4975 60.1346 100.423 59.7158 101.349ZM38.145 65.2256C35.7961 65.6668 33.3871 67.8786 33.6319 69.3772C34.7693 67.5199 36.4178 66.3299 38.145 65.2256ZM58.0487 51.0289C57.9799 50.9374 57.9107 50.8462 57.842 50.7555C54.7123 53.4681 51.5821 56.1811 48.4529 58.8942C48.5191 58.9716 48.5858 59.0491 48.6525 59.1269L58.0487 51.0289ZM67.084 42.3974C70.0261 40.2249 73.0498 38.1783 76.2996 36.4759C79.5846 34.7549 82.9078 33.1184 86.2777 31.5921C79.431 34.3884 72.6654 37.3354 67.084 42.3974ZM45.944 130.247C46.7356 128.957 47.6961 127.819 48.3419 126.409C49.8036 123.217 51.5001 120.131 52.891 116.899C54.9641 112.085 57.1457 107.321 59.7034 102.739C59.8633 102.452 60.012 102.163 59.5874 101.747C54.5002 111.069 50.8834 120.978 45.944 130.247ZM67.381 47.3707C66.0548 47.9642 65.3991 49.247 64.4472 50.2258C63.1972 50.9523 62.5059 52.2607 61.3933 53.1384C59.4752 54.6515 57.5061 56.1161 55.7117 57.768C51.9984 61.1872 47.8982 63.9797 43.3516 66.1775C41.6637 66.9939 39.6946 67.1683 38.2523 68.5798C37.3701 69.443 36.2977 70.141 36.2182 71.4929C36.1001 73.496 36.4133 75.4316 37.3784 77.2321C39.1627 80.5606 41.5663 83.4704 43.6672 86.5848C45.8504 89.8213 47.8013 93.1146 48.2984 97.1452C48.773 101.001 48.4872 104.822 48.2607 108.65C48.2147 109.425 47.6899 110.165 47.6613 111.063C47.622 112.317 47.6091 113.711 46.8126 114.739C45.3758 116.594 44.8994 118.856 43.9588 120.915C43.6506 121.59 43.8395 122.585 43.2468 123.101C42.4556 123.791 42.2427 124.699 41.8642 125.566C41.7167 125.904 41.5117 126.244 41.252 126.502C40.395 127.354 39.8553 128.479 39.2584 129.451C38.0866 131.36 36.7823 133.05 35.1363 134.548C34.662 134.98 33.9127 134.927 33.6278 135.601C33.3428 136.273 32.8188 136.771 32.2696 137.234C31.7088 137.708 31.4221 138.327 31.1993 139.051C31.6106 139.169 31.8761 139.002 32.147 138.902C33.851 138.278 35.3082 137.177 36.9538 136.428C39.8404 135.115 42.2755 133.211 44.2036 130.664C45.6462 128.759 46.6254 126.603 47.658 124.476C49.7042 120.262 51.7834 116.061 53.7024 111.788C54.7773 109.394 55.8952 107.025 57.0848 104.691C59.0614 100.814 60.8226 96.8379 62.539 92.8462C63.9137 89.6494 65.0516 86.3536 65.7963 82.9365C66.4458 79.953 67.5782 77.1252 68.6853 74.2925C70.7932 68.8988 72.9375 63.5266 76.4127 58.8097C79.5349 54.5716 82.6974 50.362 85.5189 45.9094C87.6247 42.5858 89.4526 39.1459 90.3497 35.2818C90.4458 34.8672 90.7532 34.3233 90.4007 34.0185C90.102 33.76 89.6149 34.0997 89.2376 34.2488C85.2811 35.8145 81.4726 37.6788 77.7874 39.8115C77.1218 40.1967 76.5303 41.0678 75.5118 40.642C75.3681 40.5819 75.0678 40.7836 75.1552 40.9564C75.4637 41.5669 74.8648 41.5594 74.6353 41.711C73.1861 42.6691 71.7554 43.6503 70.3417 44.6614C69.2358 45.4521 68.4675 46.5791 67.381 47.3707ZM38.1774 125.488C38.4967 125.466 38.5882 125.207 38.7055 124.977C40.1883 122.067 41.288 118.988 42.6346 116.019C43.2803 114.593 43.0595 112.884 44.1443 111.616C44.3299 111.399 44.2715 111.185 44.0126 111.074C43.673 110.929 43.4903 111.155 43.4522 111.433C43.3048 112.515 42.7878 113.464 42.4287 114.472C41.5034 117.068 40.7106 119.701 39.4726 122.19C38.9581 123.225 38.3878 124.315 38.2034 125.513C37.2885 126.725 36.6353 128.075 36.1246 129.499C36.7653 128.14 37.9943 127.083 38.1774 125.488ZM78.3652 62.3975C78.767 63.0776 78.6307 63.5046 78.3607 64.1632C77.7025 65.7691 76.3584 67.0307 76.1045 68.8222C76.0142 69.4617 75.5176 69.9446 75.2136 70.4827C74.4394 71.852 74.2907 73.4455 73.5945 74.7796C72.9338 76.0454 72.6505 77.4317 71.977 78.6694C71.6191 79.3263 71.745 80.1443 71.2791 80.7814C70.9647 81.2105 70.1877 83.8817 70.0974 84.3957C69.8708 85.6905 69.6074 86.9791 69.346 88.2677C69.3013 88.4888 69.2019 88.7162 68.9007 88.6686C68.5901 88.6197 68.4397 88.761 68.559 89.0368C69.0055 90.0707 68.4724 90.9968 68.0752 91.8087C66.92 94.168 65.9168 96.5931 64.9024 99.0083C64.7016 99.4871 63.7684 99.3571 64.101 100.311C64.2687 100.793 63.7265 101.627 63.3513 102.25C62.9859 102.858 62.7403 103.537 62.4094 104.167C59.9718 108.814 57.7318 113.553 55.6094 118.354C54.4323 121.016 53.0273 123.577 51.7872 126.213C51.474 126.879 51.269 127.626 51.0586 128.339C50.8652 128.993 50.5814 129.932 49.782 130.343C49.6337 130.419 49.5414 130.487 49.4929 130.639C48.5154 133.717 45.8894 135.327 43.5475 137.13C41.8708 138.421 39.8259 139.184 37.9234 140.076C36.7463 140.628 35.6636 141.506 34.2921 141.7C32.9174 141.894 31.5518 142.142 30.158 142.171C28.8061 142.198 27.556 141.881 26.4364 141.104C25.8499 140.698 25.7608 140.181 26.0168 139.528C26.651 137.908 27.6074 136.552 29.0803 135.588C29.6444 135.219 30.2475 134.899 30.6232 134.296C30.8911 133.866 31.3451 134.408 31.843 133.918C33.6046 132.185 34.7018 130.078 35.8317 127.961C38.172 123.574 39.9141 118.936 41.5916 114.272C42.3173 112.253 42.695 110.149 43.0252 108.033C43.2339 106.698 43.3743 105.361 43.4638 104.014C43.5048 103.389 43.7562 102.876 44.5229 103.256C44.9802 103.483 45.121 103.151 45.3356 102.915C45.488 102.748 45.4569 102.557 45.3103 102.416C45.0427 102.16 44.8104 102.427 44.6012 102.529C43.743 102.946 43.4626 102.697 43.5061 101.759C43.627 99.1723 43.6924 96.5852 43.0206 94.0429C42.6863 92.7758 42.2171 91.5601 41.6053 90.412C39.8172 87.054 37.5076 84.0275 35.4652 80.8303C33.9711 78.49 32.4345 76.1502 32.1205 73.2939C32.0472 72.6291 31.5195 71.8189 32.439 71.2792C32.49 71.2498 32.5347 71.1553 32.5306 71.0949C32.3524 68.4821 32.4332 68.4167 34.2089 66.5855C35.3612 65.3971 36.7666 64.5704 38.1985 63.9122C43.4671 61.4895 47.9069 57.9647 52.2532 54.1926C57.5437 49.6003 62.3638 44.4767 67.8603 40.1445C73.8819 35.3994 80.7697 32.148 88.0807 29.9017C91.9398 28.7163 94.7991 31.5962 93.9578 35.6011C93.1178 39.5998 91.6014 43.3426 89.5872 46.9035C87.2747 50.9908 84.625 54.8632 82.0611 58.7865C81.3578 59.863 80.7614 61.0306 79.9036 62.0239C79.4587 62.5387 79.1286 62.991 78.3652 62.3975Z\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M67.3806 47.3708C66.7158 48.6437 65.6695 49.5259 64.4468 50.2259C65.3986 49.2472 66.0543 47.9644 67.3806 47.3708Z\" fill=\"black\"/>\n </svg>\n)\nexport const ScribbleTriangle = props => (\n <svg viewBox=\"0 0 770 456\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path fill=\"#000\" d=\"M625.884 40.411c24.589 15.166 61.417 33.399 90.993 57.018 62.835 49.061 70.655 88.838 14.791 109.056-163.909 62.478-332.691 125.535-502.776 181.963-76.544 24.941-161.757 39.606-244.476 58.497-21.87 7.126-46.233 10.026-73.088 8.699-73.202-.334-123.685-37.296-126.86-95.719-1.417-15.662 2.039-31.905 4.305-45.744 42.036-149.743 87.755-297.663 133.474-445.584 3.455-16.242 13.087-26.434 20.225-40.853C-42.06-203.498-10.446-211.783 41-195.29c47.762 14.669 90.653 29.919 136.036 49.395C316.869-85.645 465.257-24.15 625.884 40.411ZM-84.314 317.17c102.438-3.145 533.655-151.714 579.434-197.871C344.238 53.578 197.04-10.32 38.793-79.688-4.66 54.393-42.051 185.491-84.314 317.17Z\" />\n </svg>\n)\nexport const ScribbleTriangleRight = props => (\n <svg viewBox=\"0 0 22 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M4.75216 26.9618C4.05216 26.8618 3.05216 26.8618 2.15216 26.5618C0.252161 25.9618 -0.347839 24.7618 0.652161 23.1618C3.55216 18.3618 6.55216 13.4618 9.65216 8.76179C11.0522 6.66179 12.7522 4.76179 14.3522 2.76179C14.7522 2.16179 15.2522 1.66179 15.8522 1.26179C17.4522 0.0617893 18.9522 0.461789 19.6522 2.36179C19.8522 2.86179 19.9522 3.46179 20.0522 3.96179C20.7522 9.66179 21.3522 15.3618 21.9522 21.0618C22.0522 21.6618 21.9522 22.1618 21.9522 22.7618C21.9522 24.0618 21.3522 24.8618 20.0522 25.1618C18.8522 25.4618 17.7522 25.6618 16.5522 25.7618C12.8522 26.0618 8.95216 26.4618 4.75216 26.9618ZM17.2522 5.96179C15.0522 7.76179 7.25216 19.8618 6.75216 22.1618C10.7522 21.8618 14.6522 21.5618 18.8522 21.2618C18.3522 16.0618 17.7522 11.0618 17.2522 5.96179Z\" fill=\"black\" />\n </svg>\n)\nexport const ScribbleZee = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 92 66\"\n fill=\"none\"\n {...props}\n >\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M17.728 55.646a8.2 8.2 0 0 0-1.66 1.723c-.34.485-.823.903-1.372 1.252-.604.383-1.057 1.007-1.683 1.407-.386.247-.652.849-1.252.382l-.877.497c-.208-.253-.413-.497-.61-.746-.041-.053-.072-.185-.08-.182-.678.192-1.052-.614-1.725-.508-.366.058-.924-.343-.883-.644.082-.608-.324-.87-.67-1.227-.134-.758.07-1.458.412-2.152.337-.685.555-1.432.922-2.1.745-1.353 1.548-2.673 2.338-4.002a59.027 59.027 0 0 1 2.61-4.005c.842-1.189 1.656-2.4 2.497-3.592a154.3 154.3 0 0 0 1.514-2.197c.022-.031-.018-.103-.055-.274-.256.207-.453.489-.689.526-.31.05-.567.037-.602.424-.531-.177-.61.65-1.126.507-.146.325-.464.543-.733.63-.316.102-.59.1-.7.493-.031.111-.332.258-.445.215-.494-.185-.484.456-.816.462-.401.009-.615.18-.647.579-.515.1-.808.547-1.231.795-.365.213-.785.453-.979.796-.124.22-.223.299-.422.366-.65.22-1.079.774-1.665 1.107-.59.336-1.082.845-1.622 1.272-.68.536-1.363 1.068-2.05 1.596-.41.318-.864.16-1.222-.035-.272-.149-.436-.404-.787-.162-.047.032-.275-.198-.491-.361l.557-.387-.088-.15-.548.202c-.015-.066-.085-.183-.056-.264.071-.195.152-.408.293-.553.786-.81 1.554-1.644 2.398-2.392 1.42-1.258 2.867-2.49 4.351-3.672a158.28 158.28 0 0 1 3.085-2.38c.93-.705 1.902-1.38 2.851-2.062a86.36 86.36 0 0 1 3.716-2.512c.8-.514 1.619-.996 2.43-1.49.538-.327 1.135-.206 1.713-.23.403.219.62.63 1.177.736.636.121 1.814 1.84 1.906 2.546.069.524-.217 1.024-.377 1.527-.28.883-.672 1.7-1.277 2.409-.065.076-.15.208-.125.279.208.584-.486.785-.517 1.26-.596.348-.87.97-1.265 1.49-.067.089-.228.16-.227.24.008 1.041-.824 1.626-1.29 2.406-.146.243-.348.457-.466.711-.082.175-.063.396-.089.596.163.02.265.064.301.032.777-.676 1.511-1.41 2.327-2.033 1.063-.812 1.988-1.788 3.133-2.505.547-.344.957-.886 1.5-1.28 1.001-.727 1.855-1.662 2.875-2.356 1.753-1.193 3.219-2.763 5.086-3.795.486-.773 1.395-1.056 1.986-1.713.16-.178.415-.266.617-.408.293-.206.582-.418.865-.638 1.14-.886 2.274-1.779 3.415-2.662.483-.372.99-.712 1.466-1.093 1.341-1.076 2.761-2.043 4.15-3.053.723-.525 1.357-1.168 2.208-1.504.595-.868 1.566-1.271 2.362-1.889.962-.746 1.953-1.456 2.936-2.176 1.27-.93 2.543-1.856 3.818-2.779a239.75 239.75 0 0 1 2.441-1.74c.991-.697 2.005-1.36 2.983-2.078 1.488-1.092 3.045-2.089 4.577-3.118 1.913-1.285 3.825-2.573 5.75-3.84 1.061-.698 2.143-1.366 3.224-2.033 1.287-.795 2.57-1.6 3.881-2.354.947-.543 1.921-1.029 2.818-1.662.22-.155.64-.023 1.1-.023-.122.188-.175.33-.276.417-.303.264-.624.506-.996.803.805.375 1.33-.72 1.998-.316l-.658.657.126.2.795-.23.178 1.38c-.282.225-.649.718-1.11.832-.557.137-.732.826-1.373.769-.167-.015-.055.566-.469.425-.444-.15-.187.568-.585.455-.37-.105-.394.388-.486.385-.578-.02-.736.55-1.151.747-.443.211-.864.49-1.249.795-.344.273-.678.502-1.125.571-.158.024-.408.185-.417.3-.032.384-.27.326-.523.386-.182.044-.296.354-.481.412-.217.067-.463.006-.4.357-.772.043-.963 1.117-1.818 1.026-.084-.008-.217.081-.263.161-.543.94-1.552 1.295-2.361 1.9-1.179.879-2.356 1.761-3.54 2.633-.95.7-1.896 1.405-2.872 2.067-.519.352-.895.984-1.653.919-.052-.005-.144.073-.165.131-.414 1.17-1.762 1.117-2.477 1.892-.12.13-.325.192-.42.333-.848 1.256-2.265 1.833-3.343 2.819-.791.723-1.716 1.299-2.569 1.956-1.059.816-2.102 1.65-3.158 2.47-.106.082-.252.116-.383.162-1.07.379-1.82 1.235-2.734 1.847a1.287 1.287 0 0 0-.472.587c-.184.514-.661.771-1.05.853-.414.087-.646.295-.92.53-.54.465-1.18.825-1.502 1.506-.979.612-1.835 1.396-2.721 2.117-.73.594-1.595 1.053-2.175 1.853-.38.524-1.009.797-1.6 1.016-.248.092-.484.145-.644.353-.173.225-.275.543-.495.683-.243.153-.376.345-.55.55-.49.578-1.032 1.136-1.882 1.156a.36.36 0 0 0-.2.06c-.372.287-.772.55-1.097.884-.38.388-.892.675-1.052 1.254-.018.063-.098.111-.155.16-.474.4-.943.807-1.425 1.196-.484.39-.848.888-1.4 1.237-.503.318-.975.732-1.48 1.081-.297.185-.75.303-.863.566-.34.797-1.38.82-1.667 1.625-.778.198-1.122.977-1.783 1.334-.184.1-.443.165-.53.322-.466.85-1.495 1.117-1.968 1.948-.669.15-.999.689-1.42 1.157-.316.352-.81.545-1.223.809-.022.61-.672.66-.938 1.05ZM90.25 13.172l1.254-.277-.362.412.397.133c.092.358.221.78-.191.97-.212.097-.546-.07-.855.005l.436.212c-.465.562-1.087.654-1.768.554l-.07.684c-.489-.42-.863.1-1.407.06l.273.535c-.176.115-.367.285-.59.375-.32.128-.548.69-1.012.244-.022-.02-.115.004-.153.034-.088.07-.148.19-.244.23-.353.149-.778.198-1.057.428-.247.204-.309.618-.508.9-.115.165-.327.281-.518.367-.204.092-.958.466-1.06.712-.112.268-.287.156-.442.203-.2.06-.417.112-.577.234-.12.092-.164.288-.237.427l-.705-.624c.047.444-.373.51-.18.941.113.256-.593.646-1.021.475-.294-.118-.27.137-.409.175.232.683-.378.728-.735.953-.177.111-.721.48-.798.575-.067.083-.154.15-.225.216-.092-.074-.17-.16-.265-.206-.055-.027-.141.01-.259.025l.192.414c-.035.079-.046.17-.096.201-.385.247-.804.45-1.162.73-.859.67-1.688 1.38-2.533 2.068-1.05.855-2.123 1.678-3.095 2.627-.455.444-.736.765-.876 1.418-.435-.226-.928-.215-1.305-.604-.334-.344-.656.064-1.03.206-.185-.81.505-.955.825-1.332l-.311-.311c-.224.16-.445.32-.72.519-.048-.197-.125-.324-.089-.395.408-.803 1.077-1.38 1.744-1.955.189-.163.42-.276.604-.443 1.466-1.345 3.088-2.48 4.693-3.65 1.499-1.09 3.081-2.052 4.575-3.143.432-.316 1.022-.38 1.336-.869 1.452-.491 2.432-1.795 3.93-2.215.204.313-.042.346-.319.428-.164.05-.102.298-.36.434-1.088.576-2.11 1.277-3.153 1.938-.069.044-.108.135-.297.377.323-.113.44-.177.564-.194.444-.058.633-.53 1.113-.608.383-.063.746-.4 1.061-.68.674-.597 1.52-.886 2.274-1.34.509-.306.941-.732 1.542-.913.233-.07.38-.423.567-.647.386-.226.782-.438 1.157-.682.345-.223.758-.254 1.065-.647.302-.385.976-.354 1.393-.704ZM43.258 43.672c.353-.24.873-.406 1.017-.736.202-.465.583-.6.91-.842.34-.251.72-.446 1.07-.684.355-.241.732-.468 1.033-.767.648-.645 1.382-1.17 2.14-1.666.173-.114.383-.17.56-.28.177-.108.412-.213.487-.38.37-.829 1.164-1.138 1.858-1.555.4-.24.665-.117 1.095.33-.15.55-.84.703-.965 1.298-.02.092-.382.113-.586.165-.312.08-.098.656-.522.589-.374-.059-.365.227-.507.408-.044.057-.3-.053-.505-.095l-.417.827h-.377c-.261.315-.46.778-.726.822-.4.066-.301.718-.791.542-.06-.021-.194.069-.25.141-.106.138-.154.403-.273.433-.464.12-.636.639-1.043.757-.777.226-1.295.852-1.993 1.19-.14.068-.29.278-.296.428-.02.467-.265.562-.674.694-.31.1-.609.498-.742.832-.18.445-.75.021-.872.506-.06.243-.196.616-.562.217-.106.107-.308.217-.304.319.023.542-.424.257-.635.39-.163.147.356.259-.007.494-.548.354-.98.888-1.534 1.23-.202.125-.306.2-.38.41-.044.125-.232.312-.31.292-.65-.166-.945.317-1.323.662-.014.013-.155-.114-.265-.196-.174.244.053.782-.512.775-.078 0-.185.136-.235.231-.475.908-.467.916-1.27 1.485-.145.103-.07.723-.503.233-.005-.006-.252.128-.27.219-.147.77-.838 1.08-1.303 1.578-.608-.089-.777.494-1.157.753-.25.17-.53.23-.525.684.003.319-.417.465-.832.319l.5-.794c-.168.013-.243-.004-.27.025-.146.152-.317.244-.456.041-.047-.069.028-.318.112-.365.553-.302.798-.841 1.099-1.34.449.034.449.034.611.387.026.016.076.048.077.047.208-.308.843-.2.759-.895-.247.112-.378.318-.677.562.072-.276.073-.453.158-.563.132-.171.313-.311.49-.439.344-.247.607-.582.706-.967.082-.32.16-.52.494-.634.173-.059.288-.285.43-.436.52.114.654-.553 1.118-.553-.026-.597.563-.657.878-.82.431-.223.506-.703.945-.911.506-.239.94-.647 1.372-1.02.804-.698 1.58-1.426 2.375-2.135.101-.09.254-.123.358-.212.28-.239.534-.508.82-.738.23-.184.447-.45.648-.57.327-.198.573-.401.749-.722ZM27.67 57.454c.422.102.558-.288.816-.472.216-.154.3-.562.793-.351-.213.117-.392.215-.72.397l.736.432c-.323.501-.97.676-.613 1.539l-.494-.453c-.028.791-.441 1.206-1.243 1.234l.272.272c-.559.56-1.143 1.1-1.676 1.688-.516.566-1.203.977-1.537 1.72-.053.118-.386.109-.627.167l.195.246c-.149.354-.545.5-.69.922-.164.483-.423.422-.907-.017-.092-.084-.354.017-.609.04.027-.092.03-.271.12-.376.171-.197.388-.354.309-.663.28-.31.863-.417.697-1.033-.005-.018.046-.07.076-.075.708-.1.863-.84 1.37-1.203.572-.408.955-1.078 1.446-1.61.75-.812 1.522-1.604 2.285-2.404Z\"\n clipRule=\"evenodd\" />\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M43.258 43.672c-.176.321-.423.524-.75.722-.2.12-.416.386-.647.57-.286.23-.54.5-.82.738-.104.09-.257.122-.358.212-.795.709-1.571 1.437-2.375 2.134-.431.374-.866.782-1.373 1.021-.438.208-.513.688-.944.91-.316.164-.904.224-.878.821-.464 0-.598.667-1.118.553 0-.668.56-1.02.98-1.258.71-.406 1.159-1.077 1.846-1.507.8-.5 1.431-1.264 2.165-1.879a151.62 151.62 0 0 1 3.637-2.946c.146-.114.42-.064.635-.091ZM27.67 57.454c-.764.8-1.536 1.592-2.286 2.404-.491.532-.873 1.202-1.446 1.61-.506.362-.662 1.102-1.37 1.203-.03.005-.08.057-.076.075.166.616-.417.722-.697 1.033l-.86.672c-.015-.132-.076-.283-.03-.332 1.29-1.363 2.275-3.005 3.758-4.18.263-.207.1-.656.587-.716.218-.027.361-.487.581-.71.227-.228.518-.392.755-.612.22-.205.398-.455.608-.671.229-.235.466-.463.714-.678.262-.227.54-.435.93-.746-.151.839-.938 1.05-1.169 1.648ZM17.729 55.646c.266-.39.916-.44.937-1.05.414-.264.907-.457 1.223-.809.422-.468.751-1.006 1.42-1.157.473-.83 1.503-1.098 1.969-1.948.086-.157.345-.223.53-.322.66-.357 1.005-1.136 1.782-1.334.288-.805 1.327-.828 1.668-1.625.112-.263.565-.381.863-.566-.052.165-.054.388-.166.486-.434.38-.743.882-1.316 1.14-.519.234-.785.812-1.324 1.123-.712.411-1.282 1.072-1.91 1.629-.684.606-1.334 1.255-2.056 1.812a38.047 38.047 0 0 0-3.078 2.621h-.543ZM90.25 13.172c-.416.35-1.09.32-1.392.704-.307.393-.72.425-1.065.647-.375.244-.77.456-1.157.682-.651.102-1.082.62-1.655.875-.314.14-.594.355-1.04.628.047-.305.018-.51.102-.584.292-.255.606-.497.944-.687 1.362-.767 2.736-1.51 4.104-2.266.305-.169.59-.377.905-.523.206-.097.448-.115.773-.192l-.518.716Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n)","import React from 'react'\nimport { createElement } from 'react'\n\n// const Title = ({ tagName = 'h3', children, ...props }) => React.createElement(tagName, props, children)\nconst Title = ({ header='h3', copy, ...props }) => {\n return (\n <div {...props}>\n { createElement(header, {}, copy) }\n </div>\n )\n}\n\nexport default Title\n","import React from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\"\n\nexport const camelize = str => str?.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase())\n\nexport const isObjectEmpty = (obj) => Object.keys(obj).length === 0\n\n\nexport const formatPhoneNumber = (phoneNumber) => {\n const cleaned = ('' + phoneNumber).replace(/\\D/g, '');\n const match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n return `(${match[1]}) ${match[2]}-${match[3]}`;\n }\n return phoneNumber;\n};\n\nexport const formatWebsiteLink = (url) => {\n // Ensure the URL has https://\n const formattedUrl = url.startsWith('http://') || url.startsWith('https://') \n ? url \n : `https://${url}`;\n\n return (<a href={formattedUrl} target=\"_blank\" rel=\"noreferrer\">{url}</a>);\n};\n\n// TODO: google analytics GTM\nexport const getDomainCat = url => {\n const domainCategories = {\n 'afrotc.com': 'Air Force',\n // 'myfuture.com': 'Education',\n 'navy.com': 'Navy',\n 'goarmy.com': 'Army',\n 'nationalguard.com': 'Army National Guard',\n 'navy.mil': 'Navy',\n 'officialasvab.com': 'Education',\n 'goang.com': 'Air National Guard',\n 'asvabprogram.com': 'Education',\n 'sss.gov': 'Government',\n 'afreserve.com': 'Air Force',\n 'marines.com': 'Marine Corps',\n 'army.mil': 'Army',\n 'airforce.com': 'Air Force',\n 'afciviliancareers.com': 'Air Force, Space Force',\n 'armymwr.com': 'Army',\n 'militaryonesource.mil': 'Other',\n 'spaceforce.com': 'Air Force, Space Force',\n 'uscis.gov': 'Government',\n 'gocoastguard.com': 'Coast Guard',\n 'medicineandthemilitary.com': 'Other',\n 'militaryfriendly.com': 'Other',\n 'navymwr.org': 'Navy',\n 'gijobs.com': 'Other',\n 'defense.gov': 'Government',\n 'myairforcelife.com': 'Air Force',\n 'todaysmilitary.com': 'Todays Military',\n 'usmc-mccs': 'Education',\n 'cybermission.tech': 'Cyber',\n 'careersinthemilitary.com': '_NA',\n 'whitehouse.gov': 'Government',\n 'uscga.edu': 'Coast Guard',\n 'va.gov': 'Government',\n 'armymomstrong.com': 'Other',\n 'citadel.edu': 'Education',\n 'afwm.org': 'Air Force',\n 'usma.edu': 'Education',\n 'academyadmissions.com': 'Air Force',\n 'usna.edu': 'Education',\n 'uscg.mil': 'Coast Guard',\n 'officercandidatesschool.com': 'Marine Corps',\n 'tricare.mil': 'Government',\n 'dol.gov': 'Government',\n 'ning.com': 'Navy',\n 'tamu.edu': 'Education',\n 'vmi.edu': 'Education',\n 'af.mil': 'Education',\n 'usmma.edu': 'Education',\n 'marineparents.com': 'Marine Corps',\n 'ung.edu': 'Education',\n 'norwich.edu': 'Education',\n 'marybaldwin.edu': 'Education',\n 'kahoot.it': 'Other',\n 'doded.mil': 'Education',\n 'vt.edu': 'Education',\n 'bluestarmothers.org': 'Other',\n 'usa.gov': 'Government',\n 'excelsior.edu': 'Education',\n 'maritime.edu': 'Education',\n 'armedforcesentertainment.com': 'Other',\n 'csum.edu': 'Education',\n 'nmc.edu': 'Education',\n 'tsp.gov': 'Government',\n 'tamug.edu': 'Education',\n 'mainemaritime.edu': 'Education',\n 'sunymaritime.edu': 'Education',\n 'redcross.org': 'Other',\n 'cgsuprt.com': '_NA',\n 'militaryfamily.org': 'Government',\n 'alextech.edu': 'Army',\n 'asu.edu': 'Education',\n 'facebook.com': 'Other',\n 'health.mil': 'Government',\n 'esgr.mil': 'Other',\n 'fvap.gov': 'Government',\n 'youtube.com': 'Other',\n 'cac.mil': 'Other',\n 'dfas.mil': 'Army',\n 'af.edu': 'Air Force, Space Force',\n 'house.gov': 'Government',\n 'osd.mil': 'Other',\n 'ustranscom.mil': 'Other',\n 'homes.mil': 'Other',\n 'marines.mil': 'Marine Corps',\n 'usncc.edu': 'Education',\n 'twitter.com': 'Other',\n 'yellowribbon.mil': 'Other',\n 'uso.org': 'Other',\n 'google.com': 'Other',\n 'eventmobi.com': 'Other',\n 'amazonaws.com': 'Todays Military',\n 'usembassy.gov': 'Other',\n 'spaceforce.mil': 'Air Force, Space Force',\n 'navymwrsingapore.com': 'Navy',\n 'dantes.mil': 'Education',\n 'bellowsafs.com': 'Air Force',\n 'whs.mil': 'Other',\n 'globalsecurity.org': 'Navy',\n 'ng.mil': 'Army',\n 'disa.mil': 'Other',\n 'sill-army': 'Army',\n 'jbsa.mil': 'Army',\n 'apple.com': 'Other',\n 'acenet.edu': 'Education',\n 'metc.mil': 'Other',\n 'southcom.mil': 'Army',\n 'coastguardmwr.org': 'Coast Guard',\n 'usmc.mil': 'Marine Corps',\n 'norad.mil': 'Air Force',\n 'usuhs.edu': 'Education',\n 'jb.mil': 'Air Force',\n 'flipsnack.com': '_NA',\n 'nationalguard.mil': 'Army National Guard',\n 'navyschoolathens.com': 'Navy',\n 'nps.edu': 'Navy',\n 'mccsbarstow.com': 'Marine Corps',\n 'toysfortots.org': 'Other',\n 'mccsmiramar.com': '_NA',\n 'capmed.mil': 'Other',\n 'mcas-gov': 'Government',\n 'afcyberworx.org': 'Air Force, Space Force',\n 'drupal.org': 'Other',\n 'armyfrg.org': 'Army',\n 'smartredirect.de': 'Air Force, Space Force',\n 'dvidshub.net': 'Air Force, Space Force',\n 'ironman.com': 'Other',\n 'sbir.gov': 'Government',\n }\n\n const rootDomain = new URL(url).hostname.split('.').slice(-2).join('.')\n return domainCategories[rootDomain] || false\n}\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldUpdate2 = require('./shouldUpdate');\n\nvar _shouldUpdate3 = _interopRequireDefault(_shouldUpdate2);\n\nvar _supportsPassiveEvents = require('./supportsPassiveEvents');\n\nvar _supportsPassiveEvents2 = _interopRequireDefault(_supportsPassiveEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // eslint-disable-line import/no-unresolved\n\n\nvar noop = function noop() {};\n\nvar Headroom = function (_Component) {\n _inherits(Headroom, _Component);\n\n _createClass(Headroom, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n if (props.disable && state.state !== 'unfixed') {\n return {\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false,\n state: 'unfixed'\n };\n }\n\n return null;\n }\n }]);\n\n function Headroom(props) {\n _classCallCheck(this, Headroom);\n\n // Class variables.\n var _this = _possibleConstructorReturn(this, (Headroom.__proto__ || Object.getPrototypeOf(Headroom)).call(this, props));\n\n _this.setRef = function (ref) {\n return _this.inner = ref;\n };\n\n _this.setHeightOffset = function () {\n _this.setState({\n height: _this.inner ? _this.inner.offsetHeight : ''\n });\n _this.resizeTicking = false;\n };\n\n _this.getScrollY = function () {\n if (_this.props.parent().pageYOffset !== void 0) {\n return _this.props.parent().pageYOffset;\n } else if (_this.props.parent().scrollTop !== void 0) {\n return _this.props.parent().scrollTop;\n } else {\n return (document.documentElement || document.body.parentNode || document.body).scrollTop;\n }\n };\n\n _this.getViewportHeight = function () {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n };\n\n _this.getDocumentHeight = function () {\n var body = document.body;\n var documentElement = document.documentElement;\n\n return Math.max(body.scrollHeight, documentElement.scrollHeight, body.offsetHeight, documentElement.offsetHeight, body.clientHeight, documentElement.clientHeight);\n };\n\n _this.getElementPhysicalHeight = function (elm) {\n return Math.max(elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getElementHeight = function (elm) {\n return Math.max(elm.scrollHeight, elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getScrollerPhysicalHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getViewportHeight() : _this.getElementPhysicalHeight(parent);\n };\n\n _this.getScrollerHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getDocumentHeight() : _this.getElementHeight(parent);\n };\n\n _this.isOutOfBound = function (currentScrollY) {\n var pastTop = currentScrollY < 0;\n\n var scrollerPhysicalHeight = _this.getScrollerPhysicalHeight();\n var scrollerHeight = _this.getScrollerHeight();\n\n var pastBottom = currentScrollY + scrollerPhysicalHeight > scrollerHeight;\n\n return pastTop || pastBottom;\n };\n\n _this.handleScroll = function () {\n if (!_this.scrollTicking) {\n _this.scrollTicking = true;\n (0, _raf2.default)(_this.update);\n }\n };\n\n _this.handleResize = function () {\n if (!_this.resizeTicking) {\n _this.resizeTicking = true;\n (0, _raf2.default)(_this.setHeightOffset);\n }\n };\n\n _this.unpin = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned',\n animation: true,\n state: 'unpinned'\n });\n };\n\n _this.unpinSnap = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned headroom-disable-animation',\n animation: false,\n state: 'unpinned'\n });\n };\n\n _this.pin = function () {\n _this.props.onPin();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--pinned',\n animation: true,\n state: 'pinned'\n });\n };\n\n _this.unfix = function () {\n _this.props.onUnfix();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false\n }, function () {\n setTimeout(function () {\n _this.setState({ state: 'unfixed' });\n }, 0);\n });\n };\n\n _this.update = function () {\n _this.currentScrollY = _this.getScrollY();\n\n if (!_this.isOutOfBound(_this.currentScrollY)) {\n var _shouldUpdate = (0, _shouldUpdate3.default)(_this.lastKnownScrollY, _this.currentScrollY, _this.props, _this.state),\n action = _shouldUpdate.action;\n\n if (action === 'pin') {\n _this.pin();\n } else if (action === 'unpin') {\n _this.unpin();\n } else if (action === 'unpin-snap') {\n _this.unpinSnap();\n } else if (action === 'unfix') {\n _this.unfix();\n }\n }\n\n _this.lastKnownScrollY = _this.currentScrollY;\n _this.scrollTicking = false;\n };\n\n _this.currentScrollY = 0;\n _this.lastKnownScrollY = 0;\n _this.scrollTicking = false;\n _this.resizeTicking = false;\n _this.eventListenerOptions = false;\n _this.state = {\n state: 'unfixed',\n translateY: 0,\n className: 'headroom headroom--unfixed'\n };\n return _this;\n }\n\n _createClass(Headroom, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setHeightOffset();\n\n this.eventListenerOptions = (0, _supportsPassiveEvents2.default)() ? { passive: true, capture: false } : false;\n\n if (!this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state, nextState);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // If children have changed, remeasure height.\n if (prevProps.children !== this.props.children) {\n this.setHeightOffset();\n }\n\n // Add/remove event listeners when re-enabled/disabled\n if (!prevProps.disable && this.props.disable) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n\n if (prevState.state !== 'unfixed' && this.state.state === 'unfixed') {\n this.props.onUnfix();\n }\n } else if (prevProps.disable && !this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n\n if (prevProps.pin !== this.props.pin) {\n this.handleScroll();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.parent()) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n window.removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n userClassName = _props.className,\n Tag = _props.tag,\n divProps = _objectWithoutProperties(_props, ['className', 'tag']);\n\n delete divProps.onUnpin;\n delete divProps.onPin;\n delete divProps.onUnfix;\n delete divProps.disableInlineStyles;\n delete divProps.disable;\n delete divProps.pin;\n delete divProps.parent;\n delete divProps.children;\n delete divProps.upTolerance;\n delete divProps.downTolerance;\n delete divProps.pinStart;\n delete divProps.calcHeightOnResize;\n\n var style = divProps.style,\n wrapperStyle = divProps.wrapperStyle,\n rest = _objectWithoutProperties(divProps, ['style', 'wrapperStyle']);\n\n var innerStyle = {\n position: this.props.disable || this.state.state === 'unfixed' ? 'relative' : 'fixed',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n WebkitTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n MsTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n transform: 'translate3D(0, ' + this.state.translateY + ', 0)'\n };\n\n var className = this.state.className;\n\n // Don't add css transitions until after we've done the initial\n // negative transform when transitioning from 'unfixed' to 'unpinned'.\n // If we don't do this, the header will flash into view temporarily\n // while it transitions from 0 — -100%.\n if (this.state.animation) {\n innerStyle = _extends({}, innerStyle, {\n WebkitTransition: 'all .2s ease-in-out',\n MozTransition: 'all .2s ease-in-out',\n OTransition: 'all .2s ease-in-out',\n transition: 'all .2s ease-in-out'\n });\n className += ' headroom--scrolled';\n }\n\n if (!this.props.disableInlineStyles) {\n innerStyle = _extends({}, innerStyle, style);\n } else {\n innerStyle = style;\n }\n\n var wrapperStyles = _extends({}, wrapperStyle, {\n height: this.state.height ? this.state.height : null\n });\n\n var wrapperClassName = userClassName ? userClassName + ' headroom-wrapper' : 'headroom-wrapper';\n\n return _react2.default.createElement(\n Tag,\n { style: wrapperStyles, className: wrapperClassName },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setRef\n }, rest, {\n style: innerStyle,\n className: className\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return Headroom;\n}(_react.Component);\n\nHeadroom.propTypes = {\n className: _propTypes2.default.string,\n parent: _propTypes2.default.func,\n children: _propTypes2.default.any.isRequired,\n disableInlineStyles: _propTypes2.default.bool,\n disable: _propTypes2.default.bool,\n pin: _propTypes2.default.bool,\n upTolerance: _propTypes2.default.number,\n downTolerance: _propTypes2.default.number,\n onPin: _propTypes2.default.func,\n onUnpin: _propTypes2.default.func,\n onUnfix: _propTypes2.default.func,\n wrapperStyle: _propTypes2.default.object,\n pinStart: _propTypes2.default.number,\n style: _propTypes2.default.object,\n calcHeightOnResize: _propTypes2.default.bool,\n tag: _propTypes2.default.string\n};\nHeadroom.defaultProps = {\n parent: function parent() {\n return window;\n },\n disableInlineStyles: false,\n disable: false,\n pin: false,\n upTolerance: 5,\n downTolerance: 0,\n onPin: noop,\n onUnpin: noop,\n onUnfix: noop,\n wrapperStyle: {},\n pinStart: 0,\n calcHeightOnResize: true,\n tag: 'div'\n};\nexports.default = Headroom;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var lastKnownScrollY = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n var currentScrollY = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var props = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var state = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};\n\n var scrollDirection = currentScrollY >= lastKnownScrollY ? 'down' : 'up';\n var distanceScrolled = Math.abs(currentScrollY - lastKnownScrollY);\n\n // We're disabled\n if (props.disable) {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're pinned\n };\n } else if (props.pin) {\n return {\n action: state.state !== 'pinned' ? 'pin' : 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're at the top and not fixed yet.\n };\n } else if (currentScrollY <= props.pinStart && state.state !== 'unfixed') {\n return {\n action: 'unfix',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're unfixed and headed down. Carry on.\n };\n } else if (currentScrollY <= state.height && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else if (currentScrollY > state.height + props.pinStart && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'unpin-snap',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're past the header and scrolling down.\n // We transition to \"unpinned\" if necessary.\n };\n } else if (scrollDirection === 'down' && ['pinned', 'unfixed'].indexOf(state.state) >= 0 && currentScrollY > state.height + props.pinStart && distanceScrolled > props.downTolerance) {\n return {\n action: 'unpin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, we transition to \"pinned\"\n };\n } else if (scrollDirection === 'up' && distanceScrolled > props.upTolerance && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, and inside the header.\n // We transition to pin regardless of upTolerance\n };\n } else if (scrollDirection === 'up' && currentScrollY <= state.height && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = supportsPassiveEvents;\n/**\n * Used to detect browser support for adding an event listener with options\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners\n * @returns Boolean\n */\nfunction supportsPassiveEvents() {\n var passiveSupported = false;\n\n try {\n var options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n passiveSupported = true;\n return false;\n }\n };\n\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collapsible/src/Collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef();\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/accordion/src/Accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: value ? [value] : [],\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n function Provider(props) {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n function Provider(props) {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName][index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName][index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/Collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/Direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/DismissableLayer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/Portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/toast/src/Toast.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as DismissableLayer from \"@radix-ui/react-dismissable-layer\";\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar PROVIDER_NAME = \"ToastProvider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(\"Toast\");\nvar [createToastContext, createToastScope] = createContextScope(\"Toast\", [createCollectionScope]);\nvar [ToastProviderProvider, useToastProviderContext] = createToastContext(PROVIDER_NAME);\nvar ToastProvider = (props) => {\n const {\n __scopeToast,\n label = \"Notification\",\n duration = 5e3,\n swipeDirection = \"right\",\n swipeThreshold = 50,\n children\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [toastCount, setToastCount] = React.useState(0);\n const isFocusedToastEscapeKeyDownRef = React.useRef(false);\n const isClosePausedRef = React.useRef(false);\n if (!label.trim()) {\n console.error(\n `Invalid prop \\`label\\` supplied to \\`${PROVIDER_NAME}\\`. Expected non-empty \\`string\\`.`\n );\n }\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n ToastProviderProvider,\n {\n scope: __scopeToast,\n label,\n duration,\n swipeDirection,\n swipeThreshold,\n toastCount,\n viewport,\n onViewportChange: setViewport,\n onToastAdd: React.useCallback(() => setToastCount((prevCount) => prevCount + 1), []),\n onToastRemove: React.useCallback(() => setToastCount((prevCount) => prevCount - 1), []),\n isFocusedToastEscapeKeyDownRef,\n isClosePausedRef,\n children\n }\n ) });\n};\nToastProvider.displayName = PROVIDER_NAME;\nvar VIEWPORT_NAME = \"ToastViewport\";\nvar VIEWPORT_DEFAULT_HOTKEY = [\"F8\"];\nvar VIEWPORT_PAUSE = \"toast.viewportPause\";\nvar VIEWPORT_RESUME = \"toast.viewportResume\";\nvar ToastViewport = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToast,\n hotkey = VIEWPORT_DEFAULT_HOTKEY,\n label = \"Notifications ({hotkey})\",\n ...viewportProps\n } = props;\n const context = useToastProviderContext(VIEWPORT_NAME, __scopeToast);\n const getItems = useCollection(__scopeToast);\n const wrapperRef = React.useRef(null);\n const headFocusProxyRef = React.useRef(null);\n const tailFocusProxyRef = React.useRef(null);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n const hotkeyLabel = hotkey.join(\"+\").replace(/Key/g, \"\").replace(/Digit/g, \"\");\n const hasToasts = context.toastCount > 0;\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n const isHotkeyPressed = hotkey.length !== 0 && hotkey.every((key) => event[key] || event.code === key);\n if (isHotkeyPressed) ref.current?.focus();\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [hotkey]);\n React.useEffect(() => {\n const wrapper = wrapperRef.current;\n const viewport = ref.current;\n if (hasToasts && wrapper && viewport) {\n const handlePause = () => {\n if (!context.isClosePausedRef.current) {\n const pauseEvent = new CustomEvent(VIEWPORT_PAUSE);\n viewport.dispatchEvent(pauseEvent);\n context.isClosePausedRef.current = true;\n }\n };\n const handleResume = () => {\n if (context.isClosePausedRef.current) {\n const resumeEvent = new CustomEvent(VIEWPORT_RESUME);\n viewport.dispatchEvent(resumeEvent);\n context.isClosePausedRef.current = false;\n }\n };\n const handleFocusOutResume = (event) => {\n const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);\n if (isFocusMovingOutside) handleResume();\n };\n const handlePointerLeaveResume = () => {\n const isFocusInside = wrapper.contains(document.activeElement);\n if (!isFocusInside) handleResume();\n };\n wrapper.addEventListener(\"focusin\", handlePause);\n wrapper.addEventListener(\"focusout\", handleFocusOutResume);\n wrapper.addEventListener(\"pointermove\", handlePause);\n wrapper.addEventListener(\"pointerleave\", handlePointerLeaveResume);\n window.addEventListener(\"blur\", handlePause);\n window.addEventListener(\"focus\", handleResume);\n return () => {\n wrapper.removeEventListener(\"focusin\", handlePause);\n wrapper.removeEventListener(\"focusout\", handleFocusOutResume);\n wrapper.removeEventListener(\"pointermove\", handlePause);\n wrapper.removeEventListener(\"pointerleave\", handlePointerLeaveResume);\n window.removeEventListener(\"blur\", handlePause);\n window.removeEventListener(\"focus\", handleResume);\n };\n }\n }, [hasToasts, context.isClosePausedRef]);\n const getSortedTabbableCandidates = React.useCallback(\n ({ tabbingDirection }) => {\n const toastItems = getItems();\n const tabbableCandidates = toastItems.map((toastItem) => {\n const toastNode = toastItem.ref.current;\n const toastTabbableCandidates = [toastNode, ...getTabbableCandidates(toastNode)];\n return tabbingDirection === \"forwards\" ? toastTabbableCandidates : toastTabbableCandidates.reverse();\n });\n return (tabbingDirection === \"forwards\" ? tabbableCandidates.reverse() : tabbableCandidates).flat();\n },\n [getItems]\n );\n React.useEffect(() => {\n const viewport = ref.current;\n if (viewport) {\n const handleKeyDown = (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === \"Tab\" && !isMetaKey;\n if (isTabKey) {\n const focusedElement = document.activeElement;\n const isTabbingBackwards = event.shiftKey;\n const targetIsViewport = event.target === viewport;\n if (targetIsViewport && isTabbingBackwards) {\n headFocusProxyRef.current?.focus();\n return;\n }\n const tabbingDirection = isTabbingBackwards ? \"backwards\" : \"forwards\";\n const sortedCandidates = getSortedTabbableCandidates({ tabbingDirection });\n const index = sortedCandidates.findIndex((candidate) => candidate === focusedElement);\n if (focusFirst(sortedCandidates.slice(index + 1))) {\n event.preventDefault();\n } else {\n isTabbingBackwards ? headFocusProxyRef.current?.focus() : tailFocusProxyRef.current?.focus();\n }\n }\n };\n viewport.addEventListener(\"keydown\", handleKeyDown);\n return () => viewport.removeEventListener(\"keydown\", handleKeyDown);\n }\n }, [getItems, getSortedTabbableCandidates]);\n return /* @__PURE__ */ jsxs(\n DismissableLayer.Branch,\n {\n ref: wrapperRef,\n role: \"region\",\n \"aria-label\": label.replace(\"{hotkey}\", hotkeyLabel),\n tabIndex: -1,\n style: { pointerEvents: hasToasts ? void 0 : \"none\" },\n children: [\n hasToasts && /* @__PURE__ */ jsx(\n FocusProxy,\n {\n ref: headFocusProxyRef,\n onFocusFromOutsideViewport: () => {\n const tabbableCandidates = getSortedTabbableCandidates({\n tabbingDirection: \"forwards\"\n });\n focusFirst(tabbableCandidates);\n }\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(Primitive.ol, { tabIndex: -1, ...viewportProps, ref: composedRefs }) }),\n hasToasts && /* @__PURE__ */ jsx(\n FocusProxy,\n {\n ref: tailFocusProxyRef,\n onFocusFromOutsideViewport: () => {\n const tabbableCandidates = getSortedTabbableCandidates({\n tabbingDirection: \"backwards\"\n });\n focusFirst(tabbableCandidates);\n }\n }\n )\n ]\n }\n );\n }\n);\nToastViewport.displayName = VIEWPORT_NAME;\nvar FOCUS_PROXY_NAME = \"ToastFocusProxy\";\nvar FocusProxy = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToast, onFocusFromOutsideViewport, ...proxyProps } = props;\n const context = useToastProviderContext(FOCUS_PROXY_NAME, __scopeToast);\n return /* @__PURE__ */ jsx(\n VisuallyHidden,\n {\n \"aria-hidden\": true,\n tabIndex: 0,\n ...proxyProps,\n ref: forwardedRef,\n style: { position: \"fixed\" },\n onFocus: (event) => {\n const prevFocusedElement = event.relatedTarget;\n const isFocusFromOutsideViewport = !context.viewport?.contains(prevFocusedElement);\n if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();\n }\n }\n );\n }\n);\nFocusProxy.displayName = FOCUS_PROXY_NAME;\nvar TOAST_NAME = \"Toast\";\nvar TOAST_SWIPE_START = \"toast.swipeStart\";\nvar TOAST_SWIPE_MOVE = \"toast.swipeMove\";\nvar TOAST_SWIPE_CANCEL = \"toast.swipeCancel\";\nvar TOAST_SWIPE_END = \"toast.swipeEnd\";\nvar Toast = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props;\n const [open = true, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n ToastImpl,\n {\n open,\n ...toastProps,\n ref: forwardedRef,\n onClose: () => setOpen(false),\n onPause: useCallbackRef(props.onPause),\n onResume: useCallbackRef(props.onResume),\n onSwipeStart: composeEventHandlers(props.onSwipeStart, (event) => {\n event.currentTarget.setAttribute(\"data-swipe\", \"start\");\n }),\n onSwipeMove: composeEventHandlers(props.onSwipeMove, (event) => {\n const { x, y } = event.detail.delta;\n event.currentTarget.setAttribute(\"data-swipe\", \"move\");\n event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-x\", `${x}px`);\n event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-y\", `${y}px`);\n }),\n onSwipeCancel: composeEventHandlers(props.onSwipeCancel, (event) => {\n event.currentTarget.setAttribute(\"data-swipe\", \"cancel\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-x\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-y\");\n }),\n onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {\n const { x, y } = event.detail.delta;\n event.currentTarget.setAttribute(\"data-swipe\", \"end\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-x\", `${x}px`);\n event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-y\", `${y}px`);\n setOpen(false);\n })\n }\n ) });\n }\n);\nToast.displayName = TOAST_NAME;\nvar [ToastInteractiveProvider, useToastInteractiveContext] = createToastContext(TOAST_NAME, {\n onClose() {\n }\n});\nvar ToastImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToast,\n type = \"foreground\",\n duration: durationProp,\n open,\n onClose,\n onEscapeKeyDown,\n onPause,\n onResume,\n onSwipeStart,\n onSwipeMove,\n onSwipeCancel,\n onSwipeEnd,\n ...toastProps\n } = props;\n const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n const [node, setNode] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const pointerStartRef = React.useRef(null);\n const swipeDeltaRef = React.useRef(null);\n const duration = durationProp || context.duration;\n const closeTimerStartTimeRef = React.useRef(0);\n const closeTimerRemainingTimeRef = React.useRef(duration);\n const closeTimerRef = React.useRef(0);\n const { onToastAdd, onToastRemove } = context;\n const handleClose = useCallbackRef(() => {\n const isFocusInToast = node?.contains(document.activeElement);\n if (isFocusInToast) context.viewport?.focus();\n onClose();\n });\n const startTimer = React.useCallback(\n (duration2) => {\n if (!duration2 || duration2 === Infinity) return;\n window.clearTimeout(closeTimerRef.current);\n closeTimerStartTimeRef.current = (/* @__PURE__ */ new Date()).getTime();\n closeTimerRef.current = window.setTimeout(handleClose, duration2);\n },\n [handleClose]\n );\n React.useEffect(() => {\n const viewport = context.viewport;\n if (viewport) {\n const handleResume = () => {\n startTimer(closeTimerRemainingTimeRef.current);\n onResume?.();\n };\n const handlePause = () => {\n const elapsedTime = (/* @__PURE__ */ new Date()).getTime() - closeTimerStartTimeRef.current;\n closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n window.clearTimeout(closeTimerRef.current);\n onPause?.();\n };\n viewport.addEventListener(VIEWPORT_PAUSE, handlePause);\n viewport.addEventListener(VIEWPORT_RESUME, handleResume);\n return () => {\n viewport.removeEventListener(VIEWPORT_PAUSE, handlePause);\n viewport.removeEventListener(VIEWPORT_RESUME, handleResume);\n };\n }\n }, [context.viewport, duration, onPause, onResume, startTimer]);\n React.useEffect(() => {\n if (open && !context.isClosePausedRef.current) startTimer(duration);\n }, [open, duration, context.isClosePausedRef, startTimer]);\n React.useEffect(() => {\n onToastAdd();\n return () => onToastRemove();\n }, [onToastAdd, onToastRemove]);\n const announceTextContent = React.useMemo(() => {\n return node ? getAnnounceTextContent(node) : null;\n }, [node]);\n if (!context.viewport) return null;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n announceTextContent && /* @__PURE__ */ jsx(\n ToastAnnounce,\n {\n __scopeToast,\n role: \"status\",\n \"aria-live\": type === \"foreground\" ? \"assertive\" : \"polite\",\n \"aria-atomic\": true,\n children: announceTextContent\n }\n ),\n /* @__PURE__ */ jsx(ToastInteractiveProvider, { scope: __scopeToast, onClose: handleClose, children: ReactDOM.createPortal(\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n DismissableLayer.Root,\n {\n asChild: true,\n onEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {\n if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n context.isFocusedToastEscapeKeyDownRef.current = false;\n }),\n children: /* @__PURE__ */ jsx(\n Primitive.li,\n {\n role: \"status\",\n \"aria-live\": \"off\",\n \"aria-atomic\": true,\n tabIndex: 0,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-swipe-direction\": context.swipeDirection,\n ...toastProps,\n ref: composedRefs,\n style: { userSelect: \"none\", touchAction: \"none\", ...props.style },\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key !== \"Escape\") return;\n onEscapeKeyDown?.(event.nativeEvent);\n if (!event.nativeEvent.defaultPrevented) {\n context.isFocusedToastEscapeKeyDownRef.current = true;\n handleClose();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (event.button !== 0) return;\n pointerStartRef.current = { x: event.clientX, y: event.clientY };\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (!pointerStartRef.current) return;\n const x = event.clientX - pointerStartRef.current.x;\n const y = event.clientY - pointerStartRef.current.y;\n const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);\n const isHorizontalSwipe = [\"left\", \"right\"].includes(context.swipeDirection);\n const clamp = [\"left\", \"up\"].includes(context.swipeDirection) ? Math.min : Math.max;\n const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n const moveStartBuffer = event.pointerType === \"touch\" ? 10 : 2;\n const delta = { x: clampedX, y: clampedY };\n const eventDetail = { originalEvent: event, delta };\n if (hasSwipeMoveStarted) {\n swipeDeltaRef.current = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {\n discrete: false\n });\n } else if (isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {\n swipeDeltaRef.current = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_START, onSwipeStart, eventDetail, {\n discrete: false\n });\n event.target.setPointerCapture(event.pointerId);\n } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n pointerStartRef.current = null;\n }\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const delta = swipeDeltaRef.current;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n swipeDeltaRef.current = null;\n pointerStartRef.current = null;\n if (delta) {\n const toast = event.currentTarget;\n const eventDetail = { originalEvent: event, delta };\n if (isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) {\n handleAndDispatchCustomEvent(TOAST_SWIPE_END, onSwipeEnd, eventDetail, {\n discrete: true\n });\n } else {\n handleAndDispatchCustomEvent(\n TOAST_SWIPE_CANCEL,\n onSwipeCancel,\n eventDetail,\n {\n discrete: true\n }\n );\n }\n toast.addEventListener(\"click\", (event2) => event2.preventDefault(), {\n once: true\n });\n }\n })\n }\n )\n }\n ) }),\n context.viewport\n ) })\n ] });\n }\n);\nvar ToastAnnounce = (props) => {\n const { __scopeToast, children, ...announceProps } = props;\n const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);\n const [isAnnounced, setIsAnnounced] = React.useState(false);\n useNextFrame(() => setRenderAnnounceText(true));\n React.useEffect(() => {\n const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);\n return () => window.clearTimeout(timer);\n }, []);\n return isAnnounced ? null : /* @__PURE__ */ jsx(Portal, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment, { children: [\n context.label,\n \" \",\n children\n ] }) }) });\n};\nvar TITLE_NAME = \"ToastTitle\";\nvar ToastTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToast, ...titleProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...titleProps, ref: forwardedRef });\n }\n);\nToastTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"ToastDescription\";\nvar ToastDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToast, ...descriptionProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...descriptionProps, ref: forwardedRef });\n }\n);\nToastDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"ToastAction\";\nvar ToastAction = React.forwardRef(\n (props, forwardedRef) => {\n const { altText, ...actionProps } = props;\n if (!altText.trim()) {\n console.error(\n `Invalid prop \\`altText\\` supplied to \\`${ACTION_NAME}\\`. Expected non-empty \\`string\\`.`\n );\n return null;\n }\n return /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: true, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) });\n }\n);\nToastAction.displayName = ACTION_NAME;\nvar CLOSE_NAME = \"ToastClose\";\nvar ToastClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToast, ...closeProps } = props;\n const interactiveContext = useToastInteractiveContext(CLOSE_NAME, __scopeToast);\n return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, interactiveContext.onClose)\n }\n ) });\n }\n);\nToastClose.displayName = CLOSE_NAME;\nvar ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {\n const { __scopeToast, altText, ...announceExcludeProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-toast-announce-exclude\": \"\",\n \"data-radix-toast-announce-alt\": altText || void 0,\n ...announceExcludeProps,\n ref: forwardedRef\n }\n );\n});\nfunction getAnnounceTextContent(container) {\n const textContent = [];\n const childNodes = Array.from(container.childNodes);\n childNodes.forEach((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n if (isHTMLElement(node)) {\n const isHidden = node.ariaHidden || node.hidden || node.style.display === \"none\";\n const isExcluded = node.dataset.radixToastAnnounceExclude === \"\";\n if (!isHidden) {\n if (isExcluded) {\n const altText = node.dataset.radixToastAnnounceAlt;\n if (altText) textContent.push(altText);\n } else {\n textContent.push(...getAnnounceTextContent(node));\n }\n }\n }\n });\n return textContent;\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const currentTarget = detail.originalEvent.currentTarget;\n const event = new CustomEvent(name, { bubbles: true, cancelable: true, detail });\n if (handler) currentTarget.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(currentTarget, event);\n } else {\n currentTarget.dispatchEvent(event);\n }\n}\nvar isDeltaInDirection = (delta, direction, threshold = 0) => {\n const deltaX = Math.abs(delta.x);\n const deltaY = Math.abs(delta.y);\n const isDeltaX = deltaX > deltaY;\n if (direction === \"left\" || direction === \"right\") {\n return isDeltaX && deltaX > threshold;\n } else {\n return !isDeltaX && deltaY > threshold;\n }\n};\nfunction useNextFrame(callback = () => {\n}) {\n const fn = useCallbackRef(callback);\n useLayoutEffect(() => {\n let raf1 = 0;\n let raf2 = 0;\n raf1 = window.requestAnimationFrame(() => raf2 = window.requestAnimationFrame(fn));\n return () => {\n window.cancelAnimationFrame(raf1);\n window.cancelAnimationFrame(raf2);\n };\n }, [fn]);\n}\nfunction isHTMLElement(node) {\n return node.nodeType === node.ELEMENT_NODE;\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nvar Provider = ToastProvider;\nvar Viewport = ToastViewport;\nvar Root2 = Toast;\nvar Title = ToastTitle;\nvar Description = ToastDescription;\nvar Action = ToastAction;\nvar Close = ToastClose;\nexport {\n Action,\n Close,\n Description,\n Provider,\n Root2 as Root,\n Title,\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n Viewport,\n createToastScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/visually-hidden/src/VisuallyHidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["_defineProperty","e","r","t","i","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","length","forEach","getOwnPropertyDescriptors","defineProperties","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","userAgent","navigator","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","S","classic","fa","fas","far","fal","fat","fab","duotone","fad","fadr","fadl","fadt","sharp","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","P","s","L","pt","Map","defaultShortPrefixId","defaultStyleId","styleIds","futureStyleIds","defaultFontWeight","Ft","St","fak","fakd","Lt","Et","kit","t$1","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","bt$1","co","xo","c$1","F$1","concat","Fo","map","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","e$$1","familyProxy","obj","Proxy","get","target","prop","_PREFIX_TO_STYLE","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","solid","regular","light","thin","brands","STYLE_TO_PREFIX","_PREFIX_TO_LONG_STYLE","PREFIX_TO_LONG_STYLE","_LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","ATTRIBUTES_WATCHED_FOR_MUTATION","normal","DUOTONE_CLASSES","RESERVED_CLASSES","initial","FontAwesomeConfig","querySelector","_ref","attr","key","val","coerce","element","getAttribute","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","d$2","meaninglessTransform","size","x","y","rotate","flipX","flipY","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinStyles","styles","reduce","acc","styleName","trim","transformIsMeaningful","transform","css","dcp","drc","fp","rc","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w","shims","namespace","functions","listener","removeEventListener","loaded","fn","toHtml","abstractNodes","tag","attributes","children","attributeName","joinAttributes","join","iconFromMapping","mapping","prefix","iconName","icon","doScroll","test","readyState","subject","initialValue","thisContext","result","iterator","undefined","func","a","b","c","d","bindInternal4","toHex","unicode","decoded","string","output","counter","charCodeAt","extra","ucs2decode","toString","normalizeIcons","icons","defineIcons","params","skipHooks","normalized","addPack","FAMILY_NAMES","PREFIXES_FOR_FAMILY","familyId","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","getIconName","cls","parts","slice","name","build","lookup","reducer","o$$1","a$$1","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","c$$1","styleOrPrefix","defined","sortedUniqueValues","arr","sort","index","getCanonicalIcon","values","skipLookups","givenPrefix","faCombinedClasses","faStyleOrFamilyClasses","includes","nonStyleOrFamilyClasses","faStyles","styleFromValues","famProps","some","v$$1","getFamilyId","canonical","classNames","rest","moveNonFaClassesToRest","prefixOptions","config$$1","isDuotoneFamily","valuesHasDuotone","defaultFamilyIsDuotone","canonicalPrefixIsDuotone","newCanonicalFamilies","find","newCanonicalStyles","defaultPrefix","getDefaultCanonicalPrefix","aliasIconName","applyShimAndAlias","flat","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hook","accumulator","_len","args","Array","_key","hookFn","callHooks","_len2","_key2","callProvided","prototype","findIconDefinition","iconLookup","library","definitions","constructor","this","add","additions","_pullDefinitions","longPrefix","reset","definition","i2svg","Promise","reject","Error","watch","autoReplaceSvgRoot","autoReplace","setTimeout","parse","isArray","match","canonicalIcon","api","noAuto","domVariants","abstractCreator","abstract","container","html","makeInlineSvgAbstract","main","mask","symbol","title","maskId","titleId","watchable","width","height","found","isUploadedIcon","attrClass","classes","content","role","uploadedIconWidthStyle","asSymbol","offset","asIcon","makeLayersTextAbstract","_ref2","startCentered","transformForCss","styleString","class","styles$1","asFoundIcon","vectorData","fill","missingIconResolutionMixin","findIcon","resolve","console","error","maybeNotifyMissing","noop$1","p$2","preamble","end","perf","noop$2","isWatched","createElementNS","convertSVG","abstractObj","ceFn","createTextNode","appendChild","mutators","mutation","parentNode","comment","createComment","outerHTML","nodeAsComment","replaceChild","remove","nest","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","mutator","disabled","disableObservation","enableObservation","mo$1","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","objects","mutationRecord","type","addedNodes","hasPrefixAndIcon","contains","childList","characterData","subtree","classParser","existingPrefix","existingIconName","innerText","ligature","firstChild","nodeType","Node","TEXT_NODE","data","parseMeta","parser","styleParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","prefixes","prefixesDomQuery","p$$1","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","render","iconDefinition","ReplaceElements","next","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","generateSvgReplacementMutation","generateAbstractIcon","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","LayersText","text","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","_FONT_FAMILY_WEIGHT_TO_PREFIX","FontAwesome","FONT_FAMILY_WEIGHT_TO_PREFIX","toLowerCase","FONT_FAMILY_WEIGHT_FALLBACK","fontFamily","weights","entries","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","getPropertyValue","fontFamilyMatch","fontWeight","removeChild","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","isNaN","getPrefix","hexValue","isSecondary","cleaned","codePoint","second","first","codePointAt","isPrependTen","isDoubled","hexValueFromContent","isV4","startsWith","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","meta","processable","operations","PseudoElements","pseudoElements2svg","_unwatched","MutationObserver$1","unwatch","bootstrap","disconnect","parseTransformString","transformString","n","parseFloat","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","matches","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","opacity","nextPlugins","mixoutsTo","k","plugin","tk","sk","registerPlugins","symbolData","parse$1","object","enumerableOnly","symbols","sym","source","_typeof","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","camelize","chr","substr","_excluded","normalizeIconArgs","objectWithKey","defaultProps","border","className","fixedWidth","inverse","flip","listItem","pull","pulse","rotation","spin","spinPulse","spinReverse","beat","fade","beatFade","bounce","shake","swapOpacity","FontAwesomeIcon","props","ref","allProps","iconArgs","maskArgs","_classes","flash","renderedIcon","_console","log","extraProps","hasOwnProperty","convertCurry","displayName","propTypes","convert","mixins","attrs","pair","charAt","_extraProps$style","existingStyle","remaining","bind","UPPERCASE","LOWERCASE","LEADING_CAPITAL","IDENTIFIER","SEPARATORS","LEADING_SEPARATORS","SEPARATORS_AND_IDENTIFIER","NUMBERS_AND_IDENTIFIER","camelCase","input","pascalCase","preserveConsecutiveUppercase","locale","toLocaleLowerCase","toLocaleUpperCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","lastIndex","m1","_","identifier","m","postProcess","module","exports","W","hasNativeLazyLoadSupport","HTMLImageElement","Boolean","images","fallback","src","gatsbyImageData","gatsbyImage","childImageSharp","z","h","loading","shouldLoad","A","l","backgroundColor","top","left","bottom","right","objectFit","objectPosition","transition","H","F","_ref5","layout","paddingTop","maxWidth","display","alt","G","u","V","B","U","srcSet","decoding","Y","sources","sizes","_ref6","media","X","isRequired","J","Z","K","Q","ee","te","ae","ie","image","se","re","ne","Set","oe","le","de","as","g","onStartLoad","p","onLoad","onError","f","v","E","M","N","$","JSON","stringify","I","_ref7","renderImageToString","swapPlaceholderImage","current","complete","wasCached","has","_ref8","isLoading","isLoaded","cancelAnimationFrame","dangerouslySetInnerHTML","__html","suppressHydrationWarning","ce","he","ue","__imageData","__error","warn","ge","imgClassName","imgStyle","placeholder","pe","me","fe","we","handleOsano","Osano","cm","showDrawer","MainFooter","React","Link","to","MyFutureLogo","onClick","href","rel","TodaysMilitaryLogo","accordionContent","accordionItem","accordionRoot","accordionTrigger","blue","centerD","centerNavItems","citrus","desktop","educators","green","grey","innerSearch","leftNavItems","mobileArrow","mobileEducators","mobileMenuBtn","mobileMenuOpen","navItemDesc","navScribbleExplore","navScribblePrepare","overviewLink","rightNavItems","search","searchBar","searchCloseBtn","searchOpenBtn","slideDown","slideUp","topLevelNavItem","headerColor","isSearch","setIsSearch","useState","isMobileNav","setIsMobileNav","accordionValue","setAccordionValue","headerRef","useRef","searchInputRef","location","useLocation","isPartial","pathname","useEffect","focus","handleOutsideClickOrEscape","event","Headroom","Accordion","collapsible","onValueChange","asChild","faChevronDown","getProps","_ref3","_ref4","Scribble","scribble","action","method","faSearch","version","viewBox","isBrowser","lnk","cat","getDomainCat","Toast","gridTemplateRows","minHeight","MainHeader","aNeon","bElectricBlue","cCitrus","cElectricBlue","cGrey","cMyfutureGreen","careerDetail","copy","ctaGroup","dCitrus","dDesertSand","dElectricBlue","dGrey","dMint","dashboard","eNeon","fGrey","globalSearch","militaryDetail","schoolDetail","scribble2","breadcrumbs","ctas","description","eyebrow","jumplink","variant","Image","assign","Icons","crumb","Title","header","Description","cta","Cta","label","page","Text","modifiers","modifierComponents","missingModifierTypes","useComponentsContext","modifierName","ModifierComponent","jsx","Fragment","voidTypes","Block","childrenNodes","blocks","missingBlockTypes","BlockComponent","augmentedProps","getPlainText","currentPlainText","plainText","augmentProps","childNode","_type","childNodeProps","defaultComponents","paragraph","quote","code","heading","level","link","url","list","format","alternativeText","bold","italic","underline","strikethrough","ComponentsContext","ComponentsProvider","memoizedValue","Provider","BlocksRenderer","xmlns","clipPath","ArrowCarousel","stroke","strokeWidth","LightbulbOn","DatabaseStacks","ico","faBellOn","faBuildingColumns","faCircleDollarToSlot","faFileInvoiceDollar","faHandsHoldingDollar","faLaptopMobile","faMoneyCheckDollar","faScreenUsers","faGraduationCap","faPenField","faHighlighter","faCommentsQuestion","faClipboardQuestion","faSchoolFlag","faMoneyCheckDollarPen","faEnvelopeOpenDollar","faSquareQuestion","faClipboardListCheck","faBan","faFaceSaluting","faClipboardList","faHundredPoints","faSealQuestion","faHeadSideBrain","faFaceSunglasses","faHandsHoldingChild","faSatelliteDish","faMemoPad","faMemoCircleCheck","faSidebar","faCommentsQuestionCheck","faTractor","faPenRuler","faPalette","faBuildingMemo","faUserGraduate","faCoins","faLandmarkDome","faClipboardMedical","faUserChef","faHandHoldingHand","faMicrochip","faShieldHalved","faGears","faArrowsToDot","faFlaskRoundPotion","faTruckPlane","faFarm","faPaintbrushPencil","faPhoneVolume","faBookOpenReader","faPrescriptionBottleMedical","faScaleBalanced","faPeopleArrows","faAbacus","faCompassDrafting","faSpa","faRoute","faBookOpenCover","faPeopleGroup","faBookCopy","faBuildingMagnifyingGlass","faJetFighter","faSignsPost","faChevronRight","faQuestion","localFile","getImage","GatsbyImage","ScribbleBanana","ScribbleCircle","ScribbleCoin","ScribbleDashTriple","ScribbleDot","ScribbleDotD","ScribbleDots","ScribbleDotsTri","ScribbleLoops","ScribbleMDouble","ScribbleOh","ScribbleOhThick","ScribbleOutline","ScribbleRibbon","ScribbleSlashes","ScribbleSplat","ScribbleSquare","ScribbleStar","ScribbleStarGiant","ScribbleSwirls","ScribbleThumbprint","ScribbleTriangle","ScribbleTriangleRight","ScribbleZee","fillRule","clipRule","isObjectEmpty","formatPhoneNumber","phoneNumber","formatWebsiteLink","formattedUrl","URL","hostname","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","now","process","hr","uptime","Date","getTime","vendors","raf","caf","last","queue","frameDuration","_now","max","cp","cancelled","round","handle","cancel","polyfill","_extends","_createClass","descriptor","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","_shallowequal2","_raf2","_shouldUpdate3","_supportsPassiveEvents2","__esModule","default","_Component","instance","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","setRef","setHeightOffset","setState","offsetHeight","resizeTicking","getScrollY","parent","pageYOffset","scrollTop","body","getViewportHeight","innerHeight","clientHeight","getDocumentHeight","scrollHeight","getElementPhysicalHeight","elm","getElementHeight","getScrollerPhysicalHeight","getScrollerHeight","isOutOfBound","currentScrollY","pastTop","scrollerPhysicalHeight","scrollerHeight","handleScroll","scrollTicking","update","handleResize","unpin","onUnpin","translateY","animation","state","unpinSnap","pin","onPin","unfix","onUnfix","lastKnownScrollY","eventListenerOptions","subClass","superClass","create","setPrototypeOf","_inherits","disable","passive","capture","calcHeightOnResize","nextProps","nextState","prevProps","prevState","_props","userClassName","Tag","divProps","disableInlineStyles","upTolerance","downTolerance","pinStart","wrapperStyle","innerStyle","zIndex","WebkitTransform","MsTransform","WebkitTransition","MozTransition","OTransition","wrapperStyles","wrapperClassName","Component","any","bool","number","scrollDirection","distanceScrolled","abs","passiveSupported","err","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","defaultPrevented","COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","CollapsibleProvider","useCollapsibleContext","Collapsible","forwardedRef","__scopeCollapsible","open","openProp","defaultOpen","onOpenChange","collapsibleProps","setOpen","defaultProp","onChange","scope","contentId","onOpenToggle","prevOpen","div","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","button","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","present","CollapsibleContentImpl","isPresent","setIsPresent","composedRefs","heightRef","widthRef","isOpen","isMountAnimationPreventedRef","originalStylesRef","rAF","transitionDuration","animationName","rect","hidden","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","createAccordionScope","useCollapsibleScope","accordionProps","singleProps","multipleProps","__scopeAccordion","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","accordionSingleProps","setValue","onItemOpen","onItemClose","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","dir","orientation","accordionRef","getItems","isDirectionLTR","handleKeyDown","onKeyDown","triggerCollection","item","triggerIndex","findIndex","triggerCount","preventDefault","nextIndex","endIndex","moveNext","movePrev","clampedIndex","direction","Slot","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","h3","AccordionTrigger","collapsibleContext","ItemSlot","AccordionContent","Root2","Item","Header","Trigger2","Content2","composeContextScopes","scopes","baseScope","createScope","scopeHooks","createScope2","useScope","scopeName","overrideScopes","nextScopes","nextScopes2","createCollection","PROVIDER_NAME","createCollectionContext","createContextScopeDeps","defaultContexts","scopeContexts","defaultContext","contexts","rootComponentName","BaseContext","Context","consumerName","createContextScope","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","delete","collectionNode","orderedNodes","composeRefs","refs","useComposedRefs","createContext2","DirectionContext","useDirection","localDir","globalDir","originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","layers","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","ownerDocument","globalThis","node2","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","once","timerId","clearTimeout","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","pointerEvents","dispatchUpdate","handleUpdate","DismissableLayerBranch","CustomEvent","dispatchEvent","handler","detail","bubbles","cancelable","Branch","useReactId","count","useId","deterministicId","setId","reactId","Portal","containerProp","portalProps","mounted","setMounted","Presence","presence","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","send","machine","useStateMachine","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","timeoutId","ownerWindow","defaultView","handleAnimationEnd","isCurrentAnimation","currentFillMode","animationFillMode","handleAnimationStart","usePresence","only","getter","mayWarn","isReactWarning","getElementRef","Primitive","primitive","primitiveProps","Comp","for","dispatchDiscreteCustomEvent","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","SlotClone","childrenRef","mergeProps","Slottable","childProps","overrideProps","propName","slotPropValue","childPropValue","createToastContext","createToastScope","ToastProviderProvider","useToastProviderContext","ToastProvider","__scopeToast","duration","swipeDirection","swipeThreshold","viewport","setViewport","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","isClosePausedRef","onViewportChange","onToastAdd","prevCount","onToastRemove","VIEWPORT_NAME","VIEWPORT_DEFAULT_HOTKEY","VIEWPORT_PAUSE","VIEWPORT_RESUME","ToastViewport","hotkey","viewportProps","wrapperRef","headFocusProxyRef","tailFocusProxyRef","hotkeyLabel","hasToasts","every","wrapper","handlePause","pauseEvent","handleResume","resumeEvent","handleFocusOutResume","relatedTarget","handlePointerLeaveResume","activeElement","getSortedTabbableCandidates","tabbingDirection","tabbableCandidates","toastItem","toastNode","toastTabbableCandidates","getTabbableCandidates","reverse","isMetaKey","altKey","ctrlKey","metaKey","focusedElement","isTabbingBackwards","shiftKey","sortedCandidates","candidate","focusFirst","jsxs","tabIndex","FocusProxy","onFocusFromOutsideViewport","ol","FOCUS_PROXY_NAME","proxyProps","onFocus","prevFocusedElement","TOAST_NAME","toastProps","ToastImpl","onClose","onPause","onResume","onSwipeStart","currentTarget","onSwipeMove","delta","setProperty","onSwipeCancel","removeProperty","onSwipeEnd","ToastInteractiveProvider","useToastInteractiveContext","durationProp","pointerStartRef","swipeDeltaRef","closeTimerStartTimeRef","closeTimerRemainingTimeRef","closeTimerRef","handleClose","isFocusInToast","startTimer","duration2","Infinity","elapsedTime","announceTextContent","getAnnounceTextContent","ToastAnnounce","li","userSelect","touchAction","nativeEvent","onPointerDown","clientX","clientY","onPointerMove","hasSwipeMoveStarted","isHorizontalSwipe","clamp","min","clampedX","clampedY","moveStartBuffer","isDeltaInDirection","setPointerCapture","pointerId","onPointerUp","hasPointerCapture","releasePointerCapture","toast","event2","announceProps","renderAnnounceText","setRenderAnnounceText","isAnnounced","setIsAnnounced","raf1","raf2","useNextFrame","timer","ToastTitle","titleProps","ToastDescription","descriptionProps","ACTION_NAME","ToastAction","altText","actionProps","ToastAnnounceExclude","ToastClose","CLOSE_NAME","closeProps","interactiveContext","announceExcludeProps","textContent","ELEMENT_NODE","isHTMLElement","isHidden","ariaHidden","isExcluded","dataset","radixToastAnnounceExclude","radixToastAnnounceAlt","threshold","deltaX","deltaY","isDeltaX","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","FILTER_SKIP","FILTER_ACCEPT","nextNode","currentNode","previouslyFocusedElement","Viewport","useCallbackRef","callbackRef","useControllableState","uncontrolledProp","setUncontrolledProp","uncontrolledState","prevValueRef","handleChange","useUncontrolledState","isControlled","nextValue","useEscapeKeydown","onEscapeKeyDownProp","useLayoutEffect2","VisuallyHidden","span","padding","margin","overflow","clip","whiteSpace","wordWrap"],"sourceRoot":""}